流体物理シミュレーションをハリーポッターへ

剛体物理の次は流体物理……ということで、今度はGPUベースの流体物理シミュレーションのシステムを開発し、これを2009年の「ハリー・ポッターと謎のプリンス」の制作に利用している。

具体的には「ハリー・ポッターと謎のプリンス」における炎の魔法のシーンの炎の表現に、そのGPUベースの流体物理シミュレーションが利用されている。

それまで、炎の表現は実写撮りした炎パーツをデジタル次元で合成していく手法が取られていたが、「ハリー・ポッターと謎のプリンス」では、その炎自身の生成そのものをGPUベースのシミュレーションで行っている。

Christopher Horvath氏(ILM,Directable,High Resoultion Simulations)。炎の生成について解説を行った

下が、そのシーンの写真だが、ここに映っているダンブルドア(魔法使い)と足場のクリスタル以外は全てCGになる。この炎は1つのシミュレーションエンジン、1つのレンダラーで生成されており、炎自体もCGで生成したものを実写シーンへ合成している。

「ハリー・ポッターと謎のプリンス」(2009)の炎の魔法のシーン

ILMが開発したこの流体物理シミュレーションシステムは、最終映像を得るために何段階かのプロセスを経るパイプラインになっているという。

まず、第一に2万パーティクル程度の大まかな火種(Fuel)の挙動のシミュレーションをCPUベースのツールでインタラクティブに生成し、これを視点から奥行き方向に向かって視界を平面(スライス)に分割する。最終シミュレーションと最終レンダリングを、この平面分割した視界ごとに個別のGPUに割り当てて並列に実行し、最終的には、各GPUで生成された各スライスを合成して最終フレームとしている。

各スライスの解像度は2,048×1,700ピクセル程度。奥行き方向は粗くても目立たないことが経験則で分かっていたために、スライス総数は128枚以下として少なくしている。

大まかな火種のシミュレーションをCPUベースのツールで実施

火種のシミュレーション結果を視界を平面分割した各スライスに投射する

解像度は視点方向には2,048×1,700ピクセルと高解像度だが、奥行き方向は128スライスで比較的大ざっぱとしている

各スライスのシミュレーションとレンダリングは、それぞれのスライスに対応するGPUにて並列に実行

下に示す動画は、実際の制作の現場でアーティストが確認するための中間画像になる。これは1スライス分の結果を可視化したもので、RGBのうち赤が「火種の密度」、緑が「温度」、そして青が「ディテールを与えるためのノイズ」(後のコメントでHorvath氏は圧力と言い直しているため、詳細は不明)を表している。このパラメータを元に「炎」としてのレンダリングを行って1スライスを完成させ、128スライスを合成して最終フレームとするのだ。

動画
■動画01 - 1スライス分のシミュレーション結果 (WMV形式 22秒 3.6MB)
動画
■動画02 - その最終レンダリング結果 (WMV形式 24秒 3.9MB)

「GPUを活用するということは、取り扱う問題を大量のデータに分解することから始まります。これはとても面倒なことだと思われがちですが、よく考えると我々の暮らしている世界の現象は、GPUコンピューティングに近い同時多発的なプロセスで起こっていますから、むしろ自然と思うべきです。CPUコンピューティングとGPUコンピューティングというものの境界がなくなっていく……というような説を自分は信じていません。それぞれのメリットを活かすことが大事なのです。」(Horvath氏)

同じシミュレーションをCPUベースのシステムで行うと1フレームあたり30時間が掛かってしまうが、GPUベースのシステムだとこれがわずか10分で完了できるという。

最終的に得られる映像が同じだとしても、短期間で行えることは、カット&トライの回数を増やせることに繋がり、監督の思い描くシーンにより容易に近づける。さらに、その作業に携わるアーティスト自身も、自分が取り扱っているシーン、あるいはツールについての理解や技術修得も早くなり、そうした相乗効果で、効率の良い映像制作が行える……というわけだ。NVIDIAのCEO、JEN-HSUN HUANG氏がGTC初日の基調講演で言っていた「所要時間の劇的な短縮は革命を呼ぶ」というメッセージだが、これは映画向けCG制作にも巻き起こったというわけだ。

動画
■動画03 - 制作の最後の数週間で制作された火の玉魔法のレンダリング。8スライスの比較的軽いシミュレーション。10分ほどでレンダリングが完了してしまうため「もっと早く」「もっと大きく」といった反復調整が楽に行えた。これこそがGPUの恩恵 (WMV形式 34秒 5.2MB)