Posted 6月 01, 2016
Share

『アンチャーテッド 海賊王と最後の秘宝』は、ノーティードッグが開発した大人気アクションアドベンチャーゲームの最終章である。 2013 年 11 月に最初の発表が行われて以来、このゲームに対する期待度は非常に高い。発売から数週間が経過し、SideFXはこの大作ゲーム制作の舞台裏について、Neilan Naicker と Raymond Popka の両氏から話を聞くことができた。

Naicker さん、 Popka さん、こんにちは。まずは、『アンチャーテッド 海賊王と最後の秘宝』の発売おめでとうございます。ここに至るまで大変なご苦労があったことと思います。作品の舞台裏のそうしたご苦労について、お二方からお話を伺えることを非常に楽しみにしております。今日はお時間を頂戴し、本当にありがとうございます。それでは最初に、お二人の簡単な自己紹介からお願いします。

左:ノーティードッグ社 ダイナミクス アーティスト Neilan Naicker 氏
右:ノーティードッグ社 VFX テクニカルディレクター Raymond Popka 氏

Naicker 氏:
南アフリカからこちらに来て、ノーティードッグで 5 年余りダイナミクス アーティストをしています。“ダイナミクス アーティスト”というのは妙に具体的な肩書きですが、つまるところ、物理シミュレーションを専門に扱うテクニカルアーティストです。通常は Houdini を使って、ベイク前の破壊などのシミュレーションのほか、ゲームのキャラクタに反応するリアルタイム物理オブジェクトの作成やスクリプト作成をしています。その他、弊社で使用している 3D パッケージ用ツールのプログラミングを通して、他のアーティストの作業支援を行っています。

Popka 氏:
Raymond Popka と申します。 2014 年の秋からノーティードッグで FX アーティストとして働いています。以前は完全なポストプロダクションで働いていたので、ゲーム制作に携わったのはこの作品が初めてでした。

Houdini の使用歴はどのくらいですか?

画像提供 ノーティードッグ

Naicker 氏:
2006 年頃、 Houdini  8から使い始めました。映画やコマーシャルのエフェクト制作に特化した、ケープタウンの BlackGinger 社に勤務していた時です。

当時は、 RBD (リジッドボディディストラクション) と POP (パーティクルオペレーション) 、 SOP (サーフェスオペレーション) ばかりに取組んでいましたが、その後、流体や煙のシミュレーション機能が搭載されてからは、そちらもやり始めました。

Popka 氏:
私は、 Houdini を使い始めて 7 年ほどです。学生の時に 2 年間使い、その後仕事で 5 年間使用しています。

いつ、どのようにして Houdini をお知りになりましたか ?

Naicker 氏:
大学のプロジェクトで多少触れたことはありましたが、偶然にも、実際の 3D の制作現場で私が最初に接したのが Houdiniだったのです。もともとはプログラミングをしていましたから、Houdini がしっくりきたのはそのせいだと思います。前職はツール プログラマーとして雇われたのですが、そこに Houdini の熱狂的なファンが集まっているような部署があって、メンバーもどんどん増えていました。私も Houdini に興味を持って、時間を見つけては夢中で Houdini を学びました。

Popka 氏:
私が Houdini を初めて知ったのは学生時代です。私が通っていたサバンナ芸術工科大学には、 Houdini のコースが二つありました。コースが始まる直前の冬休みに、有名な Ken Huff 氏から Houdini の基礎知識を学びました。以前は、中学生の頃から使っていた 3ds Max などの一般的な 3D ソフトウェアを使用して CG アーティストをしていましたが、 Houdini はそうしたソフトウェアとは完全に考え方の異なるものでした。一度 Houdini を使い始めたら、もう元には戻れませんでした。

ノーティードッグでトップクラスのゲームタイトルの制作に携わる以前は、どのようなプロジェクトに参加されていましたか ?

Naicker 氏:
前職を退職したのは 2010 年だったのですが、ちょうど BlackGinger が注目を集めた多くのコマーシャルや 3 本の国際映画の制作を終えたタイミングでした。そうした作品のほとんどにおいて、 Houdini で作成された RBD やパーティクル、煙などのシミュレーションエフェクトが数多く使われていました。

Popka 氏:
私はリズム&ヒューズ・スタジオや The Mill 、 Psyop 、メソッド・スタジオなどで働いていましたが、『ライフ・オブ・パイ / トラと漂流した 227 日』、『パーシー・ジャクソンとオリンポスの神々 / 魔の海』、『ヘラクレス』などの映画や、 iPhone 5C の公開映像など、コマーシャルと興行作品の両方に携わりました。

ノーティードッグのパイプラインの概要を教えていただけますか ?

Popka 氏:
ノーティードッグでは、思い描くエフェクトアートを作り上げるうえで、アプローチの手段を選びません。アーティストチームは Houdini や FumeFX 、 Krakatoa 、 RealFlow 、 NUKE 、 3ds Max 、 thinkingParticles など、 FX 用のあらゆる 3D パッケージやプラグインを使用し、静止画やイメージシーケンスをレンダリングしてテクスチャやフリップブックに変換します。

その後、独自ツールを使ってパーティクルのビヘイビアをスクリプト制御したり、また、カスタムパッケージでゲーム内エフェクト用の複雑なマテリアルシェーダの記述を行ったりします。

Naicker 氏:
我々のパイプラインは主に Maya をベース構築されています。通常、どのツールで作業を行っても、データはすべて Maya のシーンに変換し、ゲームに引き渡さなければなりません。ノーティードッグで働き始めた頃は、おそらく Houdini ユーザー は私を含めてせいぜい3名ほどしかいませんでしたから、 Maya と Houdini の間でゲームデータをやり取りするために多くのスクリプトを書いていました。私は普段 Maya と Houdiniのどちらかで作業していますから、個人的なワークフローではその程度ですが、全社内的には ZBrush と Substance が多く使われています。

Houdini のユーザーはどれくらいいらっしゃるか、お聞きしてもよろしいですか ?

Naicker 氏:
もっと増えてほしいですね。いちばんよく使用しているのは Raymond だと思いますが、使用程度に差はあるものの、今現在 Houdini の使用者は 4 、 5 人ではないでしょうか。

Popka 氏:
Houdini は非常に不足していますね。私がここに来る前は、 Neilan やリーダーの Eben は Houdini 10 を様々な作業に使用していました。私の仕事である研究開発には最新版のHoudini Master ライセンスが不可欠だと思ったので、購入をお願いしました。

トレーラーやプロモーションムービーはすべてゲーム内のシーンで構成されていますが、シネマティクスはゲームエンジンからリアルタイムで取り込まれているので、ポストエフェクトを適用することはできません。 Houdini は通常、ポストエフェクトの作成に使われますが、『アンチャーテッド 海賊王と最後の秘宝』ではどのように使われたのでしょうか ?

Naicker 氏:
私の担当業務においては、主に Houdini を使用して DOP (ダイナミックオペレータ) か SOP (サーフェスオペレータ) のどちらかでベイク処理前のアニメーションを作成した後、 Maya のジョイントアニメーションを通じてエンジンに転送しました。『アンチャーテッド 海賊王と最後の秘宝』のようなゲームでは、リジッドボディの破砕や破壊に Houdini を使用することがほとんどです。布の収縮や移動する流体などの表現にも、 SOP ネットワークを少しだけ使いました。

ゲーム内のダイナミックな川の流れや変形する水の表現について、そのフローマップの作成プロセスを教えていただけますか ?

背景ジオメトリ (上画像) とベースになる水位のスカルプチャ (下画像)

Popka 氏:
『アンチャーテッド 海賊王と最後の秘宝』のダイナミックな水システムは非常に複雑で、システムを機能させるための設定作業が大変でした。

Houdini については、当初はテクスチャの作成やゲーム内でのメッシュ生成のためのパラメータ定義に使用していました。まずは背景ジオメトリについて、特に水位については細かいアートディレクションが必要だったので、水のデザインに関する大まかなガイドラインの考察から始めました。そして、それをもとにしてベースになる水位のスカルプチャを作成しました。








 

レンダリングされた水位マップ

水位マップ (右端) としてレンダリングされる前の画像

使用できたのは 8 ビットのテクスチャのみだったため、16 ビットの高さを 2 チャンネル 8 ビットのビットマップのテクスチャにレンダリングしました。フローマップの生成には、アートディレクションの要求に応えるため、シミュレーションと手描きのカーブを組み合わせて使用しました。大きな水位については、シミュレーションを行って流れの強度と方向のリファレンスを作成し、それに適当な修正を加えつつ手描きしました。

最初は、シミュレーションから取得した Raw フローだけを使うつもりだったのですが、ペイントによる上塗りややり直しの手間がかかりました。フローカーブの手描きは、非常に心が落ち着く作業ですよ。その後、周囲のゲーム環境やゲームプレイになじむように流れの強度と波高にペイントし、最終的に、 RG チャンネルに流れの方向と強度情報、 B チャンネルに波高情報を持つテクスチャができあがりました。



フローマップ生成のシミュレーション

手描きのフローカーブ

ゲーム内のメッシュを生成するバウンディングボックス

さらに、法線マップとアルファマップを出力して川のルックの改善を図りました。テクスチャができあがった後、バウンディングボックスを配置してゲーム内のメッシュを生成することで、 Houdini ROPS (レンダーオペレータ) (右図) 内でマップの割り出しと出力を容易に行うことができました。

RG チャンネルに流れの方向と強度情報、 B チャンネルに波高情報を持つテクスチャ

こうした手順に、さらに水の Uber Shader を部分的に書いて追加し、ゲーム内の川や海 (下図参照) を作成しました。結果的に比較的複雑なパイプラインになってしまったので、次の作品での使用を考え、アートとパイプラインの両側面において修正、簡素化するつもりです。ゲーム内の川用のテクスチャが出来上がってしまえった後は、 Houdini でペイントし、ゲーム内で比較的素早くアップデートすることができたおかげで、アート面での試行錯誤の作業が非常にスムーズに行えたということは言えるでしょう。弊社はゲームのエディターを一切所有していないのですが、それに匹敵する結果を得ることができたのではないでしょうか。

手描きしなければならない大きな川が少なくとも 15 ほどあったのですが、全般的に、川に必要なあらゆるコンポーネントやデータの作成にかかる時間を、 Houdini によって大幅に短縮することができたと言えるでしょう。いつでも必要な時に設定を簡単に修正できるうえに、 Maya 内で python ツール群で処理するのとは対照的に、すべてを一元管理できるのは非常に便利でした。正に、 Houdini のワークフローの強みではないでしょうか。

ゲーム内の川

ゲーム内の海

他にそうした強みが活かされた点はありますか ?

Popka 氏 :
Unreal の開発ブログでテクスチャに基づいた頂点アニメーションが公開されていたので、背景の動物について同様のシステムを作ることができないか検討しました。前景の動物はスキンメッシュで制御されますが、数に限りがあります。頂点アニメーションによって、グラフィック的な負荷や演算負荷を抑えつつ、何百ものゲーム内アニメーションジオメトリを生成することができました。また、 COP (Compositing Operators) で Alembic アニメーションをほぼ完全に出力することができるネットワークを開発し、ジオメトリ上の別の UV セットだけを使って正確なアニメーション生成を行うことに成功しました。 COPはもっと評価されていいと思いますね。数千羽の鶏が走るアニメーションは、独自のパーティクルシステムを用いて生成しました。

こうしたことは従来のスキニングしたキャラクタにアニメーションの方法では不可能でした。鳥についてはほぼすべて、一部の地上動物やさらには街の塔の下に群がる群衆についても、頂点アニメーションを使用しました。

私たちのジオメトリファイルは Maya のシーンファイルがベースになっており、 Unreal などに比べて Houdini との統合が困難であったため、最終的には、他のアーティストもシステムを利用できるように、 Houdini 用の Python のツールセットを開発しました。

他に、『アンチャーテッド 海賊王と最後の秘宝』の制作中に開発されたプロトタイプシステムはありますか ?

弊社の E3 デモ用アニメーションの一部に使用された衝突パーティクルエミッタシステムは、研究開発部にとっての全く新しい試みでした。また、あらかじめシミュレーションされた破壊アニメーションを接触の直前から解析し、アニメーション時にゲーム内で生成されるエフェクトのデータを出力するシステムも開発しました (ゲーム内アニメーション時に、生成するパーティクルやそのタイミングを指定するスクリプトを EFF と呼んでいます)。 Engine を介した Maya への読み込みを試してみたのですが、実証実験としては良かったものの、 Maya のアニメーションやキャッシュ処理にパイプライン障害が見つかり、残念ながら Houdini のようなローレベルでのアクセスでは修正が難しいのではないかと思われました。今後のプロジェクトで必要が生じれば、再検討するかもしれません。

Naicker さんは破壊シミュレーションのご担当でしたが、ゲームの全編にわたってかなりたくさんの破壊シミュレーションが使われていますね。その中でも技術的に高度だったもの、特に注目すべきものはありますか。

Naicker 氏:
マダガスカルの市場で繰り広げられる格闘シーンで、トラックが塀のあちこちにぶつかって塀が崩壊するシミュレーションについては、 E3 に間に合わせるために制作スケジュールが厳しく非常に大変でした。また、チャプター 14 『マダガスカルの海』の木の吊り橋が壊れるシミュレーションには時間がかかりました。キャラクタが走ったりジャンプしたりするアニメーションはすでに出来上がっていたので、橋板とロープの Glue コンストレインを正確なタイミングでいくつも切断しなければなりませんでした。さらに厄介なことに、橋が崩壊する途中でリアルタイムの物理シミュレーションに変わるため、キャラクタの特定のポーズや動くスピードにぴったり合わせて、できるだけスムーズに切り替えを行う必要がありました。正確なシミュレーションを行うのに長い時間を要しました。

Houdini による破壊シミュレーション生成のワークフローと、その後のパイプラインへのデータの統合について教えていただけますか ?

Naicker 氏:
破砕シミュレーションには二つの異なるアプローチを実施しました。テクスチャにぴったり合わせて正確な形状を切り取る場合 (あるいは、カメラ位置が近いシーケンスの場合) には、通常は Maya を使用して手作業で行いました。破砕パーツが比較的大きい場合 (あるいは、カメラ位置が遠くテクスチャ細部まで描写されない場合) には、 Houdini のフラクチャリング機能を使用しました。通常よく使用するワークフローをまとめてカプセル化したHDAを作成して破砕シミュレーションをクラスタ化し、できるだけ効率的にエッジの詳細を追加しました。

非常にリアルな飲み物のアニメーションについてですが、どのようなテクニックが使われたのでしょうか ?

Naicker 氏:
飲み物のアニメーションについては、二つのテクニックを考案しました。一つは、プレイヤーがオークション会場でぶつかる人々に使用したリアルタイムメソッドですが、カットシーンでウイスキーやワインのグラスにカメラが近づくショットでは、ちゃぷちゃぷと注がれる液体を表現する必要がありました。





そこで、事前にアニメーションをベイクすることにしましたが、少し正気を失って DOP の流体シミュレーションをやり始めてみたものの、すべてやり終える時間は到底ありませんでした。液体の表面を動かす振り子の上に、コンストレインされた Bullet リジッドボディを置き、振り子の速度に基づいた SOP スロッシングノイズとつなぎ合わせてみたら、非常にうまくいきました。


おかげで、変わりやすい液面レベルや特定のタイミングでの液体の動きなどのキーフレームを打ち込む手間が省け、流体シミュレーションの偏心処理を行わずに済みました。その結果 Houdini での処理速度が極めて高速化し、さらにはサーフェスポイントの数を一定数に抑えてすべてのシミュレーションデータを圧縮することができたので、ジョイントアニメーションとして Maya に読み込むことができました。

Houdini に関するトラブルについてはどう対処されていますか ?

Naicker 氏:
たいていはフォーラムで解決しています。 SideFX のフォーラムと OD|FORCE は非常に役立つリソースです。

現在ご使用中の Houdini のバージョンは何ですか ? また、アンチャーテッドの制作がスタートして以来、いくつバージョンアップしましたか ?

Naicker 氏:
私が 2011 年にノーティードッグで働き始めた時は、『アンチャーテッド 砂漠に眠るアトランティス』の制作の真っ最中で、 Houdini 10 を使用していました。それが一番古いバージョンで、今作品では Houdini 15 を使用しました。

制作を終えられてほっとされている時でしょうから、最新の Houdini 15.5 についてはまだご覧になっていないかもしれませんが、もし既にチェックされていたら、どのような感想をお持ちになりましたか ?

Naicker 氏:
じっくり見る時間が取れなかったのが残念ですが、新しいモデリングツールは非常にいい感じですね。群衆ツールも試してみたいです。個人的には、仕事に関連したうまい理由を見つけて、じっくり使ってみたいと思います。

Popka 氏:
私はまだ試す機会がないのですが、 Houdini 15.5 の新機能については私の業務にはそれほど関係していないようです。でも、 Houdini 16 では私が利用できる素晴らしい新機能が搭載されるといいですね。

もし Houdini の既存機能をふたつ変更できるとしたら、あるいはまったく新しい機能をふたつ作成できるとしたら、どのような機能でしょうか ?

Naicker 氏:
Houdini でクロスシミュレーションをもっとやってみたいですね。正直、 FEM ソルバについてまだよく理解できていないだけなのかもしれませんが、クロスについては Maya のワークフローの方が簡単なので、専ら Maya を使ってしまいます。また現行のリジッドボディソルバについては、改善の余地が数多くあると思います。 Bullet ソルバは、スピードの点では優れていますが非常に不安定で、カメラ位置が近いと結果にブレが生じることがあります。その反面、スピードの違いを考えると RBD ソルバは使い難いですね。

Popka 氏:
簡単なシミュレーションをすぐに作りたい場合、 Smoke ソルバや Flip ソルバは柔軟性やカスタマイズ性が制限されてしまうので、こうしたソルバが最適化されるといいですね。 FumeFX で作られた作品を見ると、比較的シンプルな設定で簡単にデータを読み込み、パッケージ内で迅速にシミュレーションを行うことができます。シェルフツールについては改善されており、部分的に GPU シミュレーションも行えますが、より効率的に設定が行えるように、さらに積極的に改良を進めてほしいと思います。

現在のご自身の仕事にインスピレーションを与えてくれる物事、あるいは人物について教えてください。

Naicker 氏:
時々フォーラム上で、群衆や砂、流体、 Pyro などのシステムを使って作られた素晴らしい作品を目にするのですが、そういう時は、私も時間があればそうしたソルバを試してみたいと思いますよ。その他、他社の傑作ゲームを試したり、他の VFX スタジオのエフェクト技術を見たりといったことは非常に刺激になります。

Popka 氏:
私個人的には、 SIGGRAPH のホワイトペーパーや他のゲームスタジオの開発者の話などに刺激を受けます。それらは最新のテクノロジにあふれたもので、日常的に使う機会は少ないかもしれませんが、技術的イノベーションという点では間違いなく目標とすべきものであると思います。

Houdini の新しいユーザーに何かアドバイスはありますか ?

Naicker 氏:
諦めないで頑張ってください ! ほかのパッケージに比べて Houdini の習得は容易ではありませんし、挫けそうになることもあるかもしれませんが、システム全体を理解するようにすれば必ずうまくいきます。 Python と VEX についても学んでくださいね。

Popka 氏:
Houdini を学んでいる人たちには、できるだけシミュレーションをしないことをお勧めします。 SOP だけでアニメーションを作成することで、一日中シミュレーションをしているよりも理解が深まります。

最後に、 PC でもコンソールでもよいのですが、最近どんなゲームを試されましたか ?

Popka 氏:
ゲームに関しては、私はアドベンチャーゲームや戦略ゲーム、ロールプレイングゲームが好きですね。最近では、『オーバーウォッチ』や『Stellaris』、『Fallout 4』、『ウィッチャー3 ワイルドハント』、『メタルギアソリッドV』、それから『アンチャーテッド 海賊王と最後の秘宝』が面白かったです。

Naicker 氏:
PC ゲームや PS4 をよくやります。ちょうど、『XCOM 2』の非常に長いキャンペーンが終わって、やりそこなっていたインディーズゲームをいくつかやっているところです。次は『オーバーウォッチ』を思う存分やってみたいですね !

Naicker さん、 Popka さん、 (Arne さん、) 『アンチャーテッド 海賊王と最後の秘宝』の舞台裏についてお話しいただき、ありがとうございました。ノーティードッグの次回作を楽しみにしています。


コメント

  • BenM 8 年 前  | 

    Great article, its really interesting to learn the Houdini workflow for this killer game.

  • BuyingZebra 8 年 前  | 

    This was a really good read. I'm also interested in Game Development!

  • Stef Thomas 8 年 前  | 

    Totally agree! Less sims, more SOPs. Waaay more fun ;D

  • CaseyDombos 7 年, 11 ヶ月 前  | 

    amazing article ;) <3

Please log in to leave a comment.