Houdiniのプロシージャルと、USDの優れた汎用性&互換性を活用することによって、アジャイル型のVFX制作を実現。その成果をエンバイロンメントと群衆表現から深掘りする。
関連記事:映画『室町無頼』|【Houdini】東映アニメーションがUSD(Solaris)を全面的に取り入れたエンバイロンメント制作にチャレンジ! その手応えを聞く
Amazon Prime Videoにて独占配信中
muromachi-outsiders.jp
Houdini+USDフローの導入でアジャイル型のVFX制作を実現
映画『室町無頼』は、室町時代中期に、大飢饉と疫病に苦しむ民衆を救うために日本史上、初めて武士階級として一揆起こした蓮田兵衛(はすだひょうえ)の活躍を描いた時代劇アクション作品だ。
本作では長回しアクションシーンのプリビズ制作にボリュメトリックキャプチャを用いるなど、新たな手法が積極的に取り入れられた。そんな本作のVFX制作をリードしたのが、東映アニメーションである。

「物語の舞台は、応仁の乱が起きる前の京都周辺という広大な設定のため、できるだけ早いタイミングからチェックを行う必要がありました。そして山の上から京都の街並みを捉えたロングショットが登場するなど、建物や自然物を含めて膨大な物量のアセットが求められました」と、VFXスーパーバイザーを務めた鎌田匡晃氏はふり返る。
また従来のワークフローでは、背景シーンを構成する各種アセットをルックデヴまで終えたHighモデルに差し替えた状態でレンダリングしないと完成イメージを把握できないため、監督や各セクションのSV等へのチェックを段階的に進めていく必要があり、後から修正対応のコストが増えがちであった。
そこでレイアウトとモデル制作を同時並行で行うことも難しかったため、本作では背景制作を中心に、HoudiniとUSDを主軸としたワークフローを構築した。
「最終的なVFXショット数は638。BGもカットバイを含めると15ステージ制作しました。これだけの物量のVFX制作をHoudini+USDベースで行うのは初めてでしたが、これまでにTVCMなどの短尺案件で同様のアプローチを試す中で手応えを感じていました」(鎌田氏)。
背景以外にも一揆集や死体の山に群がるカラスなどの群衆表現もHoudini+USDで制作。このワークフローでは、Hydra(USDを扱うためのツール群「Solaris」で利用されるレンダリングAPI)の機能によってアニメーションとレンダーで個別にデータを作成する必要がなくなるなどシーンデータの大幅な圧縮を実現したほか、制作後半に入ってからの背景を構成する個別アセットの修正も可能になったという。
SolarisによるUSDベースのワークフロー
VFX制作の実状をふまえた有効解と成り得るワークフロー
Houdini+USD(Solaris)ベースのワークフローを導入したねらいは次の3点である。
〈1〉アセット単位での修正を可能にする
〈2〉アセット制作とレイアウトを同時並行で行える
〈3〉協力会社との連携のしやすさ(使用ツールを限定しない)
……具体的なワークフローは下表の通り。国内でもUSDの導入事例が増えているが、オープン規格のため様々なソフトウェアを用いた共同制作を柔軟に行えるほか、相対パスでの運用が可能になったため、協力会社とのやり取りを従来よりもスムーズに行えるようになったという。


「各セクションのリードにはHoudiniに慣れているアーティストをアサインしました。スタッフの中にはHoudiniの経験が浅かったり、初めて使う者もいましたが、セクションごとに行う作業をできるだけシンプルにまとめたことで大きな問題は起きませんでした。ワークフローについても、過去の案件を通じてひと通りの検証を済ませた状態で臨むことができたこともあり、導入のための道筋もスタッフ間で共有できていました。その結果社内のショットワークに関しては、6〜7名で対応することができました。将来的に、アニメーションなども全面的にHoudiniをベースとして制作を行うには、さらなる検証とアーティストのHoudini使用率が高くなる必要があると感じています。」(鎌田氏)。
撮影は2023年9月から12月にかけて行われ、ポストプロダクション期間は2024年9月から11月上旬までの約半年だったという。
VFXの中心は、エンバイロンメント制作だったが、冒頭シーンの死体の山が積み上がった河原などにはカラスやハエの群衆表現が求められた。そしてクライマックスの一揆集が京の市中を襲撃する描写では、一揆集の群衆カットも多く登場する。
また納品したショット数は638だが、欠番を含めると約700に達したという。それだけの物量のフォトリアルなVFXを確かなクオリティに仕上げることができたこと。
さらに、近年は各工程を順番に進めていくという従来のワークフローが難しくなっている実状をふまえると、本作で実践したファイナルデータを待たずにアジャイル型で制作を進めていくことができる、なおかつ協力会社を含めた様々な環境で効率良く共同制作が行えるHoudiniとUSDをベースにしたワークフローには大きな可能性を感じているそうだ。

制作後半のアセット単位の修正が可能〜エンバイロンメント
シーンデータの大幅な軽量化や修正対応の効率化を実現
背景制作をリードしたのは、エンバイロンメント・スーパーバイザーを務めた野村 潤氏。USDファイルを扱うにあたってのデータ階層や作業の進め方などの設計や仕様などを野村氏が中心となり決めていったという。
「背景アセットのモデリングは、社内のモデラーと協力会社さんにお願いしました。モデリング作業はMayaとHoudiniで行われ、作成したモデルアセットやフォトスキャンデータなどはUSDを採用したことで、効率良く各工程へデータの受け渡しを行うことができました」(野村氏)。

レイアウト用モデルには、HDAを用いることで再利用や共有を効率的に行うことができたという。また、地形については国土地理院が公開している地形データ(GSI Maps)を利用。初期のレイアウト検証では当該データを使い、大枠が決まり次第、データを軽量化したものUSDZパッケージ化することで取り回しをしやすくしたという。

-
▲<STEP 2>土壁、門、家屋それぞれのHDAのネットワークビュー。Solarisへ持っていくためのアトリビュート設定までHDA内で行なっている -
▲<STEP 3>それぞれのHDAで作成されたモデルをマージした状態
本プロジェクトでは、背景シーンを構成する1つ1つのアセットを「セットエレメント」と呼んでいた。それらのモデリングは従来通りの手法で行えるようにすることで協力会社にとっても迷わずに作業が行えたようだ。
「協力会社さんにはMaya+Arnoldで作業をしていただき、Mayaシーンファイルで納品してもらいました。納品データをHoudiniに読み込む際は、半自動的にMaterialXとUSD形式に変換するためのHDAを作成しておいたので大きな問題は起きませんでした」(野村氏)。
ロングショットでは、樹木や建物(町屋など)オブジェクトが大量に求められた。そこで「セット・ドレッシング(Set Dressing)」工程が設けられている。
「1つの背景シーンを構成するアセットの数と種類が膨大だったため、1つ1つのアセットをつくりながらその都度配置するのは非効率でした。そこでセット・ドレッシング工程を導入し、作成された多くのセットエレメントをHoudini上でプロシージャルにインスタンス配置しました」(野村氏)。
また、撮影時の制約などから発生したオンセットへの詳細なセットエクステンション、監督からのフィードバックによるディテールアップなど、カットバイの調整についてもカットバイで作成したアセットをリファレンスにして、元のセットエレメントと差し替えるだけで対応できたという。
「USDのコンポジション設計やディレクトリ構造の見直しをする必要を感じるなど、課題も残りましたが、大きなメリットを実感できました。エンバイロンメント制作についてはひき続きこのワークフローで運用していけるよう、各種ツールや社内の制作環境を整えているところです」(野村氏)。

HDAを用いたプロシージャルモデリング例



土壁と門のプロシージャルモデリング例

カットバイ用モデルの作成例〜セットドレッシング〜



群衆表現〜一揆集&カラス〜
新しい機能を試しながらプロシージャルの利点を引き出す
群衆表現、そして本稿では割愛するが才蔵のデジタルダブルを用いたアクション表現については、テクニカルディレクター 森重孝太氏が中心となり制作が進められた。
「私はこれまでHoudiniを用いた制作実績があったため、このプロジェクトにおいても活用の余地があると考えました。群衆表現では、農民だけでなく貴族や武士なども作成しました。性別ちがいに加えて、サイズや持たせるプロップ、そしてモーションにもバリエーションがありますが、今回は多数あるスキャンモデルの準備からエージェントセットアップまでの一連の作業を1つのHipファイルにまとめることで効率的に作業を行うようにしました」(森重氏)。
群衆エキストラの3Dスキャンモデルは数が多く多様なプロポーションがあったため、エージェント自体の数を抑えて管理運用しやすくするために、スケルトンをS、M、Lの3種類のサイズに限定。これによりスキャンモデルのクリーンアップと共にプロポーションを一番近いサイズのスケルトンに合わせるという作業が必要になったが、雛形となるノードツリーを用意しておくことで、ある程度汎用性を残した上で多くの処理を半自動化することができたという。
「ショットによっては1万体以上の規模になるためエージェントモデルのポリゴンをリダクションする作業も多く発生しましたが、Houdiniはそうした処理もUVやスキンウェイトを壊さずに上手く調整してくれたので助かりました」(森重氏)。
またエージェント用のモーションキャプチャは、MVNを使い社内で収録。リターゲットやモーションエディットなどのポスト処理は全てHoudiniで行なったそうだ。
「女性のモーションは全て私が演じました。ポスト処理はKineFXで行いましたが、プロシージャルに構築されているのでエディットがやりやすかったです。基本モーションの収録を少なく済ませることにもつながりました」と、テクニカルアーティストの山下稀恵氏。
実は山下氏は、以前から森重氏のHoudiniによるプロシージャルなつくり方に興味をもっていたそうで、このプロジェクトに志願したそうだ。
「比較的小規模の群衆の動きを調整する際は、動線をパスを使って直感的に制御できるCrowd Motion Pathが便利でした」(山下氏)。
「カラスの群衆表現用のリギング・アニメーションに、新しく実装されたAPEXを使ってみました。制作時はベータ版でしたが、他ソフトだったらカクつくような重いリグでもほぼリアルタイムで動いたので効率良く作業できました。Houdiniは敷居が高いイメージが浸透していて、実際習得のハードルも高いのですが、そこを乗り越えると必ず良い結果が待っているので、選択肢のひとつとして参考になればと思っています」(森重氏)。
HoudiniによるMOCAPデータのポスト処理作業の例





Crowd Motion Pathの活用

群衆が手に持つ松明の表現
群衆に対するクロスシミュレーション

KineFXを用いたカラスの表現
-
▲ カラスのKineFXセットアップ例(羽根のスケルトンビルド)。3ds Max形式の市販モデルをAlembicで出力したものをインポート。なおHoudiniでは、ウェイト作業・設定のことを「キャプチャー」と名付けられている -
▲ 羽根のジオメトリ
-
▲ 羽根のシャフト -
▲ 羽根のスケルトン。For Loop 処理により羽根の芯のジオメトリからそれぞれに対応するスケルトンを生成。プロシージャル処理のため、ジョイントのチェイン数の変更も後からでも容易に行える
-
▲Capture Geoを使用したウェイト調整例。スケルトンの形状によってはウェイトが上手く割り振られない箇所が出てくるものだが、そのような箇所に設定してウェイト分布を形づくる -
▲ ヘルパーのみを表示した状態。Biharmonic Captureでのみ使用できる
-
▲ For Loop処理を利用した効率的なキャプチャー。複雑に接しているジオメトリとスケルトンを1対1で処理することで、ウェイトが関係のないジオメトリに飛んでしまわないようにしてある -
▲ 合計232本の羽根を一括で処理。要求される品質にもよるが、このカラスの場合は一度もウェイトペイント作業を行わずに済ませることができたそうだ
条坊制を利用した群衆の動線制御

-
▲ 一揆集のCrowdは、Path Curveによって「決められた方向・経路に沿って進む」「切り取られたObstacle(建物・壁)を避ける」「切り取られたTerrain(地形)の上を走る」ように設定



INTERVIEW & TEXT_NUMAKURA Arihito