Posted 10月 31, 2017
Share


Walt Disney Animation Studios の2016年作品「モアナと伝説の海」は、公開されると同時に、幅広い年齢層の観客を魅了しました。ロン・クレメンツとジョン・マスカーの両監督は、ポリネシア文化の情緒たっぷりに、冒険、楽しさ、ドラマを盛り込んだパワフルなストーリーを誕生させました。

「モアナと伝説の海」は、少女モアナ (声優:アウリイ・クラヴァーリョ) が胸に抱いた壮大なプランを追って展開します。生まれ育った楽園の島を離れ、島の人々を守るために半神半人のマウイ (声優:ドウェイン・ジョンソン) を探す冒険に出ます。この作品の 3D アニメーションとエフェクトは非常に高く評価されました。映画の主な舞台は海。穏やかな海、激しい嵐、さらには水がキャラクタとして現れるなど、高い詳細レベルで水をシミュレートする必要がありました。

ストーリーを語るには、水以外のエフェクトシミュレーションも必要でした。たとえば強大な溶岩の悪魔テ・カァや、女神テ・フィティの目覚めのシーンなどです。この記事では、Houdini およびカスタムソフトウェアを使用して、水をはじめとする「モアナと伝説の海」のエフェクトを作成した過程を、Walt Disney Animation Studios のエフェクトアニメーションチームのメンバーにお話しいただきました。

エフェクトのインフラを整える

水のシミュレーションとエフェクトに関してさまざまな課題に直面した Walt Disney Animation Studios は、独自の水のソルバを開発することにしました。「Splash」というニックネームで呼ばれ、Houdini の DOP コンテキストに直接統合されました。

また「Foundation Effects」と呼ばれるすべてレンダリング可能なエフェクトアセットのライブラリも作成、複雑な水の要件を管理しやすくしました。「これらのエフェクトアセットは、軽量な GL 表示でどの部門でも確認できました」と、エフェクトアニメーション部門を率いる Dale Mayeda 氏。

「これらのアセットは、レイアウト、アニメーション、エフェクト、ライティングなどの部門における配置やタイミングの変更を可能にし、パイプラインでは完全にレンダリング可能でした。Houdini Pyro と Flip を広範囲に活用し、溶岩の爆発、火砕流、蒸気の煙、水しぶきそのほか、大量のエフェクトアセットのライブラリを作成しました」

Mayeda 氏は続けます。「Foundation Effects ライブラリのおかげで、上流工程の部門において正確なエフェクト表現を元にカメラを設定したり、アセットとの関係を考慮したキャラクタの演技を付けることができました。また、エフェクトアーティストはエフェクトアセットを合成ツールとして使用できたので、大量にあったショット固有のカスタムエフェクトに集中して取り組む余裕もできました」

海岸線をシミュレーションする

チームにとって差し迫った課題は、作品の舞台となる太平洋諸島の島を囲む海岸線の水とエフェクトでした。浜辺やサンゴ礁に打ち寄せる波、泡、砂のインタラクションをシミュレートしたり、濡れた砂のマップを生成する必要がありました。

「専用のリグが SOP、POP、DOP の要素によって作られ、さらには海岸線のシミュレーションから濡れた砂のマップ用に COP で生成した要素も含まれました」と、リードエフェクトアニメータ、Erin Ramos 氏。



「濡れた砂の減衰と寿命のマップを作成するために、真上に設置した正投影カメラを COP 内の For-Each ループで処理し、水のシミュレーションを コンスタントシェーディングし、 Mantra でレンダリングしました。こうした減衰と寿命のマップを砂のシェーダに送って、薄い水の層が砂に吸い込まれる様子を作成しました」と、Ramos 氏。

砕け波のサイズはさまざまで、ショットによって、Houdini の DOP 内で Splash ソルバを使用してシミュレートしたり、SOP でプロシージャルに生成した波に Flip パーティクルのレイヤーを上に重ねたりしました。サンゴ礁での砕け波は、迫力と説得力が不可欠でした。故郷の島を出ていくモアナの行く手を最初に阻むのが、その波だったからです。

Ramos 氏は続けます。「Houdini を使用して、サンゴ礁で砕けるさまざまなサイズの波のプロキシジオメトリを生成しました。このジオメトリがレイアウト部門に渡されて、ショット内に配置されました。そして全体的なタイミングや波の合成について監督から承認を得られたら、アニメータがこのジオメトリを使ってボートをアニメートしました。プロキシの波は単なる使い捨てのジオメトリではありません。速度や放出といったアトリビュートも含まれているので、エフェクトアーティストは泡、霧、ボートのしぶき、ショットに必要なその他のセカンダリ要素を生成することができました」

海岸線のリグには、カスタムの Houdini デジタルアセットが多数含まれています。Ramos 氏はこう説明します。「そのうちの1つは、最終ジオメトリをライティングチームに渡す前に、品質コントロールチェックを行うものでした。ジオメトリを適切にシェーディングするために必要なアトリビュートは非常に数が多いため、海岸線に使用したアトリビュートを視覚化した不具合チェック用のレンダリングを簡単に実行したかったのです」

航跡を作る

モアナが秘密の場所に隠されていたカマカウボートで出帆すると、Walt Disney Animation Studios はその航跡を作る作業に取り掛かりました。Mayeda 氏は言います。「外洋に出たモアナの350以上のショットを処理するために、David Hutchins と Blair Pierpont の2人のエフェクトリードが自動プロシージャル航跡リグを開発しました」

「パブリッシュされた海のエクスプレッションのメタデータをレイアウトから読み込み、ボートと白波のインタラクションの完全なシミュレーションを実行し、レベルセットを生成および処理して、レベルセット合成グラフを生成します。これでシミュレーションと海の Height フィールドをシームレスにブレンドすることができます。レンダリング用のレベルセット合成パイプラインも同時に開発され、Houdini ワークフローに統合されました」



「目標は、完全に自動化されたリグの製作で、上流工程の部門 (レイアウトまたはアニメーション) の作業結果のパブリッシュでトリガーすることでした」と、Hutchins 氏。リグは Houdini で作成し、Houdini ギャラリーとして配布しました。つまり、必要に応じてユーザがネットワークを修正できました。

水面と白波 (泡、あぶく、飛沫) は、自動化されたリグでシミュレーションを実行しました。「メインの水面のシミュレーションには Houdini に実装した Splash ソルバを使用し、白波には Houdini POP ソルバを使用しました」と、Hutchins 氏。

外洋ショットの一部は、水とボートのインタラクションのクローズアップビューだったので、エフェクトアーティストは水滴やシート状の水の要素を使用して水面や水中の泡を表現しました。エフェクトアニメータの Alex Moaveni 氏は、その仕組みを次のように説明します。



「DOP 内で VEX コードを書いて、シート状のパーティクルが衝突サーフェス上を流れたり、パラメータ化した密度または速度の閾値を超えたときに水滴として砕けるようにコントロールしました。泡のエフェクトも同じようにして実現しました。VEX を使い、海のパーティクルから十分なエネルギーを持つものだけ効率的に分離して泡を生じさせたり、衝突物周辺で漂う動作を調整しました。また Wrangle を使用して、効率の良いカスタムソリューションを作成し、目的のエフェクトを微調整するのに必要なコントロールだけ露出しました」

標準的なショットでは、ボートのアニメーションを処理してから、水のシミュレーションを実行しました。水の動きがアニメーションに影響を与える場合は、このプロセスを逆にしました (例えば、モアナがボートに乗っていて、飛んできた溶岩が近くの水面に落ちれば、それによって押しのけられた水の動きにボートが反応する必要がありました)。このようなショットでは、アーティストは「アニメーション主導」から「エフェクト主導」に切り替えました。

エフェクトアニメータの Marie Tollec 氏は次のように説明します。「つまり、アニメータがファーストパスを行い、それにエフェクト部門が低解像度の水のシミュレーションで簡単にイテレーションを行って、全体的な水の動きを大まかに把握します。それが承認されると、水の動きに合わせるためにアニメーション部門に戻されます。それがエフェクト部門に戻って来たら、最終的な高解像度のシミュレーションを行いました」

水に演技をさせる

島を去るというモアナの決断には、変わった人格を持つ水のキャラクタが一役買っていました (モアナが幼い頃は、浅瀬で挨拶もしていました)。

このキャラクタは、アニメーションチームとエフェクトチームの密接なコラボレーションによって実現しました。まずはキャラクタリグを作成し、レイアウト部門がショットに配置してポーズを付けます。その後、アニメーションチームがタイミングや身振りを付けてから、エフェクトチームがキャラクタの動的コンポーネントを処理しました。

エフェクトチームは、小さいコンポーネントのセットアップから、水のキャラクタの処理に取り掛かりました。エフェクトリードの Ben Frost 氏はこう言っています。「これらのリグをやり取りする方法として、Houdini ギャラリーを選択しました。OTL ではなくギャラリーを使うことで、ワークフロー変更の影響を最小限に抑えました。私たちが開発した OTL は、小型のユーティリティベースで、それらの目的はソルバまたはエクスポートに適合するデータを準備することでした」

さらに Frost 氏によると、水のキャラクタ用にリグのコレクションを開発したそうです。たとえば穏やかな状況では、エフェクトチームはノイズ関数や内部の泡を使い、プロシージャルな手法を用いました。

「より活発な状況では、動的リグを使いました。たとえば、流体シミュレーションをレストポーズで実行し、アニメーションにバインドしました。その後、領域をアクティブ化して別のシミュレーションに織り込むと、インタラクティブな演技や水しぶきを作ることができました。この好例は、モアナが水とハイタッチするシーンです。キャラクタを切り離す必要があるときは、たいていこの方法を使用しました。そしてセカンダリシミュレーションで、物理的に正確なコンポーネントをキャラクタに追加しました」



水のキャラクタは、もちろん、広い海につながっています。Frost 氏によると、エフェクトチームは「水から突き出た触覚のようなものではなく、全体として海の一部に見える」ようにする必要がありました。

それを表現するために、チームは航跡のために開発した方法を採用しました。海を目的の領域で切り取り、DOP コンテキストに以降させるというものです。Frost 氏がそのプロセスを具体的に説明します。「レイアウト部門が定義した波列の移動速度を使用し、水を吸い上げてキャラクタの形状にする力をミックスすることで、自然なうねりによって流れを駆動できました。このシミュレーション結果の裾部分と海面全体をブレンドすると、海とキャラクタが一体化しました」

Frost 氏は付け加えます。「大きな課題は、モジュールとして扱いながら、個別の要素をブレンドしなくてはならないことでした。コンポーネント間のシーム (継ぎ目) をうまく結合するテクニックを見つけるのに長い期間を要しました。境界ボックス、カットアウト形状、UV 位置などをベースにしたブレンド自動化のプロシージャルワークフローを試したところ、かなりうまくいきましたが、シームを目立たなくするには手動での微調整がたびたび必要でした」

Frost 氏によると、ジオメトリのシームはほぼ一致させられても、レンダリングではサーフェスのシームがはっきり見えたそうです。しかし、メッシュを VDB に変換することで、独自開発のレベルセット合成ワークフローを利用できました。

「このワークフローにより、レンダリング時にサーフェスを単一のメッシュにすることができました。さらにブレンドフィールドも用意して、コンポーネントのトランジション領域をよりスムーズにつなげることができました。アトリビュートもフィールドとして提供され、メッシュにベイクされました。これでエフェクト部門はマットを準備してライティング部門に渡し、それを抽出およびポストレンダリングの操作に利用しました」と、Frost 氏。

水の壁を生成する

テ・カァとの最終対決では、海が割れて巨大な壁が出現します。前半に幼いモアナが水の壁に囲まれるシーンがありますが、このシーンはその場面を想起させます。エフェクトチームは、海が割れる段階と、液体化したサーフェスの水の壁が形成される段階の2つに分けて取り組みました。



エフェクトアーティストの成田裕明氏は次のように説明します。「レイアウト部門から、水の壁のターゲット形状用にさまざまなプロキシジオメトリが渡されました。それからショットのアニメーションを分析して、リアルな水の流れと動作を損なわないようにしながら、通常の波がうねる水から、特殊な水の壁へと変換しました。また、海の意図を読み取れるようにするためのさまざまなアートディレクションに対応できるよう、エフェクトには非常に柔軟なセットアップを考案する必要もありました」

幼い頃のシーケンスから着手し、その過程で、より大規模なシーンに対応できる基本セットアップを生成しました。「まず、サーフェス変形アニメーションを適用して、アートディレクションに合わせて形状、スピード、タイミングを調整しました。アニメーションの調整には、VOP ネットワークで作成したコントローラを使いました。その後、サーフェスのカスタムアトリビュートと、DOP でのシミュレーションおよびポストシミュレーションで使用するソースポイントを生成しました」と成田氏。



成田氏は続けます。「DOP での VOP によるアトリビュートへのアクセスを有効活用しました。シミュレーション時にカスタムアトリビュートを照会し、海が割れる段階や水の壁が形成される段階などに、それぞれ必要な動作の変更を適用しました。DOP 内の各 VOP を動作モジュールとして扱うことで、必要に応じた特定動作の調整やオン/オフができました。ポストシミュレーションではシミュレーション結果に手を加え、カスタムアトリビュートを元に Houdini の Point 操作によって、全体の海に統合しました。さらに詳細な水と白波は、POP と Whitewater DOP を使用したセカンダリシミュレーションによって表現しました」

溶岩のモンスターに生命を吹き込む

海が割れるシーケンスに先行するのは、溶岩の悪魔テ・カァがマウイとモアナを攻撃する大規模なバトルシーケンスです。100を超えるショットのために、エフェクトチームはテ・カァを取り巻く溶岩、炎、稲妻、火砕流の量塊をシミュレートしました。

Houdini で事前にシミュレートしていた要素は、クリーチャを生成するためのレイヤーとして構築されました。エフェクトリードの Ian Coony 氏は言います。「当社の新しい Foundation Effects ワークフローにより、Python SOP を利用して、パイプライン準拠の要素のリグを作成するスクリプトを記述することができ、これを複数の部門やパッケージにわたって活用しました」



テ・カァの体からは絶え間なく炎が噴き出し、溶岩が流れ落ちます。これらのエフェクトは、Houdini でプロシージャルに処理したので、ほぼ自動化できました。「CHOP などの Houdini の組み込みのコンテキストを使用したため、キャラクタアニメータの選択に応じて、エフェクトを自動で反応させられました」と、エフェクトアニメータの Nathaniel Sims 氏。

活火山の悪魔であるテ・カァは、稲妻のような光を発し、それが噴煙を照らします。エフェクトチームは2種類の稲妻をシミュレーションしました。

エフェクトアニメータの Robert Bennett 氏はこう説明します。「内側の稲妻は煙の層の中で発生します。外側の稲妻は、煙から外側へ向かって弧を描くように放射されて内側に戻ってきます。POP シミュレーションを両方のベースとして使用し、プロシージャルな SOP ネットワークで稲妻を生成しました。Foundation Effects にベイクしたため、ライティング部門が各ショットで使用する量をコントロールできました」



稲妻、噴煙、溶岩の流れ、火砕流をテ・カァの体や髪の一部のように一体化することで、いっそう説得力が増しました。エフェクトアニメータの Andrea Scibetta 氏によると、それを実現できたのは、プロシージャルなカーブがキャラクタの髪のリグのベースだったからでした。「火砕流を思い通りの形に整えられました。カーブはアーティストにも扱いやすく、方向、長さ、厚みなどを簡単にコントロールして、巨大でダイナミックなキャラクタのアニメーションを補完することができました。Houdini では、SOP を使用してアトリビュートを大規模な Pyro シミュレーションに送り出すので、大幅にコントロールが簡素化できました」

Scibetta 氏は続けます。「監督たちは、溶岩のモンスターを火砕流ですっかり覆うことにこだわっていました。それが彼女のドレスであるかのようにです。そこで一時的なベクトルフィールドを作成して、不自然にも作為的にも見えないよう気を付けながら、彼女の周囲に煙を拘束する必要がありました。これらのフィールドの作成と操作には昔からある Houdini ツールを使用し、シミュレーションで求められた外観や形状に応じて、テ・カァのメッシュにペイントおよびコーミングしました」

次に作成した噴煙には、エフェクトリグにカスタム Houdini デジタルアセットを使用しました。エフェクトリードの Marc Bryant 氏は言います。「おかげで、アニメータはテ・カァの体から放出される煙や炎を事前に視覚化できました。ショットをエフェクト部門に渡す前に、潜在的な問題を挙げることができました。」



エフェクトリードの Blair Pierpont 氏もデジタルアセットの使用について話しています。「私たちは、リグの芸術面を担うビルディングブロックとして HDA を使用しましたが、同時にパイプラインタスクとしても利用しています。これらのタスクをつなげたものが、成果物の全体の記述となります。作成した HDA をギャラリーにパッケージ化しておけば、アーティストはショットにドラッグするだけ済みますです。これらのギャラリーを自立させるために、ほかのツールも開発しました。テ・カァの場合、衝突と放出に必要なジオメトリをリグが識別し、それをプロシージャルにリグにインポートするようにしました」

テ・フィティの復活

テ・カァが実は女神テ・フィティであると気付いたモアナは、彼女に心を返して、元の姿に戻します。そしてテ・フィティが復活し、周りの海や島の環境、とりわけ植物が回復していくシーケンスへと続きます。

エフェクトリードの John Kosnik 氏はこう説明します。「このシーケンスのためにスプラインをアニメートして広がる Ptex マップを生成し、植物の成長、パーティクルの放出、テクスチャマップ、ジオメトリ作成に利用しました。すべての部門が関与し、環境チームはアートディレクションに応じてたびたび景観を変更していたので、プロシージャルなワークフローは必須でした」



Kosnik 氏は続けます。「徐々に空間を満たし、有機的に感じられる成長エフェクトを作成したいと考えました。エフェクトアニメータの Jesse Erickson が作った一連のデジタルアセットを利用して、つるが成長したり、分岐しながら緑化していくスペースコロナイゼーションエフェクトを作成しました」

Erickson 氏によると、スペースコロナイゼーションツールは、開放脈系アルゴリズムを柱に作られており、2005年に「Algorithmic Botany」誌に掲載された論文がベースだそうです。「ソルバのイテレーションは葉脈とアトラクタの2つのジオメトリセットで行い、その2つの間のフィードバックを使用しました。アトラクタが葉脈の先端を引っ張り、隣接する新しいアトラクタに分岐させます。同時に、葉脈は接触したアトラクタポイントを消滅させます」



ここでは Houdini の DOP フレームワークが使用され、既存のソルバと互換性を持たせ、ネイティブパーティクルと RBD 衝突を活用できるように構築されており、拘束には POP Grains を使用しました。

Erickson 氏は言います。「この手法を使って、つるのようなジオメトリをサーフェスに沿って成長させました。レンダリングしたり、それを使ってシェーダとパーティクル放出のための成長マップをアニメートしました。マップが用意できたら、植物のパイプラインで植物の成長と減衰、マテリアルマスクに使用することができました。スペースコロナイゼーションソルバのシミュレーションは、ほぼリアルタイムで、レビューのやり取りにかかる時間を短縮できました」

エフェクトストーリー

本作でチームが担った複雑な作業を思い返し、Dale Mayeda 氏は次のように述べています。「モアナのストーリーでは、Walt Disney Animation Studios 史上、最も壮大なエフェクトをご覧いただきました」

しかし、実行されたエフェクトシミュレーションの最も特筆すべき側面は、それぞれがストーリーを前に進めるための役割を果たしたことでしょう。それ自体が素晴らしいストーリーでもありました。


コメント

  • crafael143 4 年, 7 ヶ月 前  | 

    Gostei desta excelente obra de arte e ciência.

  • smsm200947 1 年, 6 ヶ月 前  | 

    nice

Please log in to leave a comment.