03 エフェクト&コンポジット
プロシージャルなワークフローで後からの修正にも対応する実写VFXとしてのリアリティの追求はエフェクトも同様である。本作のエフェクトショットは約80。それらを太田聖史エフェクトリードをはじめとする4名でつくりきったという。「ノードベースでプロシージャルに作成できるということで、以前から注目していたHoudiniを今回初めて導入しました。Maya版FumeFXやnParticleも併用していますが、結果的にHoudiniベースとMayaベースのエフェクトでほぼ半々になりましたね」と、太田氏はふり返る。Houdiniベースのエフェクト表現の好例として、南海カナミ(浜辺美波)の身体から漂うオーラのような妖気が挙げられた。「大量のパーティクル表現ということで、Kraktoaという案もあったのですが、アセットしてもノウハウとしても着実に蓄積できるだろうという判断からHoudiniを採用しました。役者さんの動きに合わせたガイド用のキャラクターアニメーションをアニメーターに作成してもらい、それを発生源としてエフェクトを作成しています」(太田氏)。
レンダリングについて。Houdiniによるエフェクト作業には一部Mantraも利用したそうだが、全体としてはmental rayを使用。ショットワークを協力してもらった外部パートナーにはmental ray用のシェーダに加え、レンダーレイヤーのセッティングの提供も行なったという。ただし、じんめん犬については、頭部は生身の役者(遠藤憲一)が演じた実写素材を合成することに加え、今回登場する妖怪で唯一Fur表現が求められたことから、別チームの方でノウハウを有していたArnoldとXGen(Mayaのジオメトリ インスタンサ)を組み合わせたワークフローでレンダリングされた。仕上げのコンポジット作業は、細川貴史コンポジットスーパーバイザーを中心とする9名が担当。「OLMデジタル内のコンポジット作業はNUKEとFlameで行いました。ケータがコアラニャンをだっこする、鼻を押すといった、実写素材とのインタラクションが求められるショットについては、コンポジット作業時に実写とCGの馴染みにこだわりました。そのほかには、デイシーンを夕景にしたりも。最後に戦うことになるクジラマンの表現では、制作終盤に巨大化すると体表に血管が浮き上がるという表現を追加してほしいという修正リクエストが発生したのですが、すでにアニメーション工程を終えて、レンダリング設定も済ませたタイミングだったので、追加でノーマルマップなどを出してもらいつつ、コンポジット側で対応しました。下流工程はテイルヘビーになってしまう宿命にありますが(苦笑)、今回もなんとかやりきれました」(細川氏)。
予告編にも登場するじんめん犬のカットの合成作業例
ブレイクダウン
プロップを含めて3DCGベースで作成されたショットのコンポジット例。図はクライマックスに登場するクジラマン(敵キャラ)が観覧車を回転させながら駆け上がるというショットのNUKEによるコンポジット作業。このように表現に応じて、実写中の背景要素の3DCG化も適宜行われた
ブレイクダウン
Houdiniベースのエフェクト例。クジラマンのシャボン玉エフェクトは、アニメーターが作成した仮のアニメーションデータをAlembic形式で読み込み、その動きのタイミングに合わせてエフェクト作業が進められた。「シャボン玉は2種類あり、飛行のみのシャボン玉と、合体し大きくなるシャボン玉で別々に作成しVDBを使用し出力しています。飛行のみのシャボン玉は、POPを使用しキャラクターの指定したポイントから生成させ、それをインスタンスしました」(太田氏)。大きくなるシャボン玉については、手付けアニメーションした球体データを基に、Houdini内でmountainやbend、Cloth等を用いて球体とのPointの差分を取り、それをblendすることで空気抵抗による変形モーションが施された
ブレイクダウン
mental rayでレンダリングしたエフェクト素材
Mantraで出力した4種類の合成用オーラ素材。「同様のオーラ的な表現を過去プロジェクトではMayaで作成したのですが、実写クオリティの素材を作成するために、シミュレーションには1フレーム約30分、レンダリングには1フレーム約3時間を要し、サーバでシミュレーション&レンダリングを回すと1ショットに3~4日かかっていました。それが今回のHoudiniにベースのアプローチでは、シミュレーションは1フレーム約10秒、レンダリングは1フレーム約1分で済んだので、サーバでシミュレーション&レンダリングを回す際も1ショット約2時間で全ての素材を出すことができたので、計算コストを大幅に抑えることができました」(太田氏)
クジラマンに攻撃を命令する南海カナミ(浜辺美波)の身体から放たれる妖気の表現は、太田氏渾身のエフェクトだという。「役者さんの動きに合わせたキャラクターアニメーションをアニメーターに作成してもらい、そのデータをAlembic形式でHoudini内に読み込んでオブジェクトからパーティクルを発生させています。ベースのパーティクルの動きはPyroで作成し、VDB Advect Pointsを使用して細かなパーティクルの制御はAttribute WrangleやAttribute VOPを使ってSOP上で行いました」(太田氏)。パーティクルの制御をPOPを使用してシミュレーションするよりも、SOPで独自にパーティクルシステムを構築することによって処理速度が格段に向上したという