killzone_shadowfall_main.jpg

PlayStation 4のリリースにあたり、最も大きな期待が寄せられたタイトルの一つがGuerilla GamesのKillzone: Shadowfallだ。初期段階でのゲームプレイ映像は、PS4のパワーを駆使した見事なビジュアルデザインで注目を集めた。

過去のKillzoneシリーズ同様、HoudiniはShadowfallの開発パイプラインにおいて重要な役割を果たした。シリーズを通しHoudiniは、海洋波、破壊、クロス シミュレーション、地形生成など広範にわたり、リアルなゲーム内エフェクトの生成に使用されてきた。Killzone: Shadowfallのエフェクト作業はさらに大規模なものとなり、Houdiniは大きく貢献した。

 

パーティクル数を抑えたよりリアルな表現

パーティクル エフェクトは強力なVFXツールではあるが、ゲームアーティストにとって特有の困難な課題をもたらす。映画やコマーシャルのVFXでは、アーティストは百万単位でパーティクルを扱うのが常だ。これに対し、ゲームアーティストが扱えるパーティクル数は、ゲームコンソール ハードウェアの限界により、数百にとどまる。そのため、サイズの大きなパーティクルを数を抑えて使用しつつ、完成エフェクトの細部の複雑さを維持しなければならない。

静止スプライトではなく、スプライト画像アニメーションに対応したPS4の大容量メモリにより、パーティクルエフェクトが強化され、よりリアルな表現が可能になった。

「Houdiniは、完成エフェクトをスプライトアニメーションとしてレンダリングできたので、細部にいたるまでクオリティの維持が可能でした。」ゲリラゲームズのシニア スペシャル アーティスト、Ben Schrijvers(ベン・スヒレイヴェルス)氏は言う。「Houdiniは、それぞれのライティングパスとモーションベクターを分けてレンダリングすることができるため、リアルタイムシーンでエフェクトの統合がスムーズに行えました。」

instance_simulations_4.jpg

 

リジッド ボディ ダイナミクス

新型コンソール機の処理速度が大幅に向上したことにより、ゲリラゲームズはより多くのリアルタイム リジッドボディ ダイナミクス(RBD)シミュレーションを実行することができるようになったわけだが、こうしたシミュレーションの計算処理を行うゲーム内でのタイミングについては判断を要した。非常に野心的なアートディレクションチームはできるだけ多くのエフェクトを盛り込もうとしたが、ハードウェア上で重い処理を実行するとゲーム速度を落としてしまうため、事前にコンパイルするエフェクトとコンソール機に任せるものとを慎重に選択することが重要であった。

Killzone: Shadow Fallの第8章では、プレイヤーはコンクリートビル群が崩れ落ちる中を突き進まなければならない。こうしたビル群のアニメーションは実世界の縮尺に即したものであり、かつビルの崩壊はプレイヤーの動きに影響を受けるものではないため、ゲーム内でシミュレーションを実行するのではなく、固定イベントをHoudiniから直接ベイクするのが望ましいと判断された。

このシーケンスをよりリアルに表現するため、ジオメトリ内部に、実際のコンクリートビルの内部に用いられている鉄筋と同様の内部構造を設けた。これにより、崩壊するビルがある程度の繋がりを維持しながら、完全に崩れ落ちずにその姿を保っている状態を表現することに成功し、崩れ落ちたビルが残骸の山と化すよりも、よりリアルなエフェクトが実現できた。

instance_simulations_2.jpg

 

「このエフェクトを得るために、インスタンスを取得してクロスソルバで既にシミュレーション済みの変形メッシュにアラインする特別なラティスノードを作成しました。」Schrijvers(スヒレイヴェルス)氏は説明する。「このラティスはインスタンスを動かすだけでなく、適正方向の算出も行います。」

カスタムノードによって、複数インスタンスのクラスタリング処理や、変形量や通常のグループ情報を基にしたRBDインスタンスのアクティベート化が行われた。こうしたインスタンスは、RBDシミュレーションとともにダイナミックネットワークを最終パスとして伝播する。

「このアプローチは、私たちのワークフローを非常に高速化しました。また、ツールセットは非常に堅牢で、Houdiniの扱いにまだ慣れていないアーティストでも問題なく作業を進めることができました。」Schrijvers(スヒレイヴェルス)氏は言う。「Houdiniで合計約20のRBDシミュレーションを行いましたが、これはおそらく、Killzoneの過去作品の全RBDシミュレーションを合わせた数を上回るものだと思います。」

ゲリラゲームズは、独自にカスタマイズしたHoudiniのフラクチャ―(粉砕)ツールセットにさらに改良を加え、頂点アトリビュートの設定、物理コリジョンメッシュの作成、質量や重心の計算、各ピースへ優先度に応じた名前付け等を行うノードを追加した。またHoudiniを使用して、複数のLODメッシュの生成方法も模索した。

 

エフェクト テクスチャ

Houdiniを用いたゲーム内のエフェクト テクスチャの生成は、煙や埃といった2次的エフェクトのために、Killzone: Shadowfallを通して多用された。こうしたエフェクトテクスチャの大部分は、ゲーム内でモーションを再現するフローマップを持つスプライトアニメーションで、Houdiniでレンダリングされた。

複数の流水エフェクトが、Houdini内でカスタムツールセットを使って作成されたフローマップを用いて生成された。水中の静止オブジェクト、たなびく泡、傾斜した川底の流れが相互に作用するシミュレーションのすべてがプロシージャルに算出された。流れの主流は、手描きのカーブで方向づけられた。水のフローマップを用いたシミュレーションの例として、第2章の森を流れる川や第4章のVSA本部近くにある水辺などが挙げられる。

技術的にやや難しいと思われるテクスチャについては、ほとんどの場合、Houdiniアーティストに任された。雨のシーンがある第 1章、5章、6章では、Houdiniを用いて雨で濡れる箇所、あるいは濡れない箇所のマスクを作成した。雨そのものについては、各レベルセクションに対し、サーフェスが濡れるか否かをテストするためにシェーダが使用するハイトマップを作成する必要があった。かっちりとしたオン・オフの切り替えではなく、差分シャドウマップを用いてソフトなマスクをかけ、実際の高さにブレが出るのを防いだ。

RBDシミュレーションと共用するためにツール内に開発されたことによって、ゲリラゲームズはインスタンス処理を容易にし、Houdini内に完全なレベルセクションを読み込むことができ、Mantraでハイトマップをレンダリングすることができた。

「Mantra使用の利点は、ピクセルフィルタをピクセルサンプリングの最大値に設定できるという点にあります。」Schrijvers(スヒレイヴェルス)氏は言う。「Shadowfallのゲーム環境には金属格子の通路や階段が数多く存在しますが、この設定値でデプスマップをレンダリングすることは、こうした構造物の下のスペースにも雨があたるわけです。」

 

プロシージャルなゲーム パイプラインの利点

ゲーム開発においては、結局のところ、最終レンダリングをゲームコンソール機上でリアルタイムに再生しなければならないため、できることに限界がある。さらに、ゲームアーティストは、ゲーム内で実行される生成データをできるだけコンパクトにして、光ディスクやコンソール機のメモリ内に保存できるよう考慮しなければならない。

「プロシージャルなアプローチによって、エフェクトの本質部分は変更せずに、パラメータを微調整してレンダリングパフォーマンスを最適化し、メモリフットプリントを最小限に抑えることができます。」Schrijvers(スヒレイヴェルス)氏は言う。「制作現場では土壇場での変更も珍しくありませんが、Houdiniの非破壊ワークフローなら、そうした変更も簡単に行えます。データタイプを次々と展開できるHoudiniの柔軟性は、ゲームエンジン開発プログラマのクリエイティブな思考にぴったりだと思います。」

flowmaps_3.jpg

 

Houdini Engineでさらに使いやすく

Houdiniはゲリラゲームズのパイプラインにしっかりと定着しているが、新しいHoudini Engineを用いた初期テストでは、今後のプロジェクトにおけるHoudiniの新たな活用法が見出された。

「Houdini Engineは、MayaなどのホストアプリケーションにHoudiniのアセットを調整可能なパラメータとともに読み込むことができるため、非常に高い有用性を持っています。」Schrijvers(スヒレイヴェルス)氏は言う。「ファイルにデータを書き込む手間がないので、処理速度は驚くほど高速です。現在、私たちはMaya用プラグインを使用していますが、将来的にHoudini Engineも、私たちの所有するあらゆるツールで重要な役割を果たしてくれると確信しています。」

ゲリラゲームズは既にHoudini Engine for Mayaを導入し、新しいIPゲームを現在制作中だ。制作には数多くのプロシージャル・コンテンツの生成が必要だが、それは非常に簡単で、そのままHoudini Digital Asset (HAD) にカプセル化できる。

ゲリラゲームズの環境アーティストは、主にMayaを用いて作業を行っているが、Houdiniのパワーについては認識している。これまでのように面倒な作業をHoudiniアーティストに丸投げしなくても、Mayaでデジタルアセットが使用できるようになる。ベイク処理したデータの受け渡しはワークフローを分断し、臨時的な作業を無理にスケジュールに組み入れなければならなかったため、これは双方にとって好都合だ。

「Houdini Engineによって独立したワークフローを維持することができ、Houdiniで処理すれば上手くいくと分かっていたコンテンツからアセットを作成することが、ようやくできるようになります。」Schrijvers(スヒレイヴェルス)氏は言う。「今後が非常に楽しみです。個人的には、Photoshop用のHoudini Engineプラグインが欲しいですね。面白半分ですが、必ず誰かの役に立つと思いますよ。」