ニュース

【GDC 2013】先進グラフィックス技術のDX11トラックレポート

「トゥームレイダー」PC版、「Crysis 3」の最適化事例をご紹介

3月25日~29日開催(現地時間)

会場:San Francisco Moscone Center

 GDC 2013初日のチュートリアルでは、“Advanced Visual Effects with DirectX 11”として先進グラフィックス専門のトラックが設けられていた。本トラックではNVIDIAやAMDといったグラフィックスチップメーカーのスタッフに加えて、最新ゲームの開発者も登壇して最新のゲーム開発事例を披露した。

 メインの話題となったDirectX 11世代のレンダリング技法は、現時点でPCでの動作がターゲットとなるものの、年内のデビューが期待されている次世代ゲームプラットフォームもDirectX 11世代のGPUがベースになると見られているため、近い将来のコンソールゲームグラフィックスでもある。

 本稿ではDX11世代のレンダリング実験場と化した「トゥームレイダー」PC版のポストモーテムセッションを中心に、本トラックの内容をお伝えしたい。

「Agni's」の髪表現にもインスパイアされた「トゥームレイダー」PC版

Crystal Dynamics、Jason Lacroix氏
テッセレーションの効果。オブジェクトのエッジが軽減されている
水面のテッセレーション。ジオメトリレベルで大雑把な凹凸が追加されている

 海外では3月5日に発売された新「トゥームレイダー」。本作のPC版はコンシューマー機版をベースにDirectX 11のレンダリング技術をこれでもかとばかりに取り入れ、次世代プラットフォームの実験場といっても過言ではないバージョンになっている。

 このあたりの詳細を明かしたのは、本作の開発を担当したCrystal DynamicsのJason Lacroix氏。PC版の開発はオランダのNixxesが担当している。Crystal Dynamicsとつながりの深い企業で、「Deus Ex: Human Revolution」や「Hitman: Absolution」の移植も手がけたスタジオだ。

 「トゥームレイダー」のPC版は、彼らの手で様々なアップグレードが施されている。まずテッセレーションによるジオメトリ詳細度の向上だ。

 ジオメトリに丸みを帯びさせるPhongテッセレーションをベースに、ゴツゴツした岩などについては元の形状をベースに重み付けを行なうことでエッジ感を残す技法で、ポリゴンくささを低減している。これに加えて、石畳などの細かい構造については事前処理で頂点数を増加。

 水面にはランタイムのテッセレーションを適用している。これは比較的シンプルな実装で、高さ情報を格納したテクスチャーを複数枚重ねて動かし、合成結果をディスプレイスメントマップとして使用することで水面の上下の動きを表現している。凹凸感はかなり大雑把だが、しっかりと水面の立体感は演出されている印象だ。

 全体的には、なるべくランタイムの負荷を抑え、アセットの追加など大きなコストの発生も回避しつつ、DX11のおいしい機能であるテッセレーターを少しでも効果的に使ってみよう、という形で実装されている印象だ。

 これに加えてPC版では、Contact Hardening法での半影表現、ボケフィルタによる被写界深度表現、HDAO(High Definition Ambient Occlusion)ベースのSSAO(Screen Space Ambient Occlusion)、レンダーターゲットやテクスチャおよびシャドウマップのハイレゾ化など、PC向けGPUならではの大容量メモリを生かした機能が追加要素に含まれている。

半影表現のON/OFF比較
ボケフィルタによる被写界深度表現
HDAOベースのSSAO
“Tress FX”。リアルに揺れる髪の毛を表現
過去10年に渡る髪シミュレーションの歴史にインスパイア
ビジュアルワークス制作の髪モデルをベースに使用
「Agni's」とは異なり、全ての髪をシミュレーションベースで表現しているようだ

 これらの改善だけでもPC版ならではの映像クオリティが達成されているように思えるが、さらに追加要素が存在する。事前の公開情報では“トップシークレット”とされていた、Crystal Dynamicsが“Tress FX”と呼ぶヘアシミュレーション要素だ。

 これは本作のヒロインである“ララ”の髪の毛を、毛束ごとにNurbsスプラインで物理シミュレーションし、テッセレーションで増毛させるという技法で、スクウェア・エニックス技術推進部によるテクノロジーデモ「Agni's Philosophy」の髪表現で使われた技法によく似たものだ。演台のLacroix氏は実際、本要素のインスピレーション元として「Agni's」の名前を挙げている。

 シミュレーションのベースとなる髪モデルは、スクウェア・エニックスの映像チームであるビジュアルワークスが制作した本作トレーラームービー用のアセットから流用。十分な髪量を確保するためにいくらかの髪を追加しただけで、すぐに使えたということだ。

 本作での独自要素は、特徴的なポニーテイルの動きをリアルに再現することにこだわったことだろう。暴風雨や水の中に飛び込む事も多いララの髪だけに“濡れ状態”専用のシミュレーション機能を加えたり、風の影響がある場合や、素早い移動など各種の運動状態で自然に見えるよう5種類ものCompute Shaderによるシミュレーションを組み合わせている。

 また、本作では真っ暗闇の空間をさまよう事も多いが、そこで髪の質感が真っ黒に塗りつぶされてよくわからなくなるため、プレーヤーの視点位置付近からララの髪の毛に向けて専用の光源を飛ばす、という微調整も行なわれている。

 このように、キャラクターが様々な環境に置かれる実際のゲームならではの小技がいくつも披露されていたのが印象的だ。シミュレーションベースの髪表現はこれまでテクノロジーデモで披露されるにとどまっていた技術であるだけに、今後、様々なゲームでの応用に際してこのような実際的なノウハウが出てくることだろう。

 また、講演者のLacroix氏としては、標準的な髪のライティング技法ではララの髪が“きれいすぎる”ため、もっと汚れたような表現にしたかったらしい。しかし開発期間の都合上、そこは時間切れということで次のゲームでの課題に持ち越しとなったようだ。

 この髪表現は本作のレンダリング機能の中でもかなりヘビーな要素となっており、Radeon HD 7970においてシミュレーションからレンダリング、ポストエフェクトまでの一連の処理で処理時間5ms~8msあまりとなっている。60fpsでの動作を前提とするならば髪だけで大半のレンダリング時間を食ってしまうというわけで、次世代プラットフォームを前提とするにしても、さらなる効率化が必要になりそうだ。

 こうした課題も収穫のひとつということで、「トゥームレイダー」のPC版は、次世代のゲームグラフィックスの予想を立てる上でかなり実践的な例ということになりそうだ。実際にはその上に皮下拡散反射を踏まえた肌表現を始めとする、様々な次世代水準のキャラクターレンダリング手法が入り込んでくるだろうから、パフォーマンス上の現実的な落とし所がどのあたりになるか、予想するのも面白そうである。

髪の動きをそれらしくするため、状況特化型のシミュレーション要素を多数用意
画像ではわかりにくいが、暗いシーンでうっすらと髪のハイライトが見えるよう、視線方向から専用の微弱な光源を飛ばしている
膨大な本数の髪の毛をシミュレートしていることからか、レンダリング時間の大半を髪のためだけに使っている格好だ。現実的には「Agni's Philosophy」のように従来型のビルボードヘアを組み合わせる手法も視野に入りそうである

その他のグラフィックス関連セッション

 Crytekのグラフィックス技術開発において中心的な役割を果たしているTiago Sousa氏は、3月7日に発売された「Crysis 3」における様々な最適化事例を紹介。これについてはDirectX 9世代のプラットフォームを前提としており、いわば現行世代の集大成的な技術集積が披露されている。

 NVIDIAからは複数の登壇者が登場。Louis Bavoi氏とJon Jansen氏は、DirectX 11のDirectComputeを活用したセルフシャドウ・パーティクルレンダリングの技法や、SSAO(Screen Space Ambient Occlusion)をDirectComputeを用いて高速化する“4x4-Interleaving”アルゴリズムを紹介。後者は従来技法に比べて2~3倍の処理効率になるなど、非常に実践的な事例だ。

 AMDからも複数のセッションが設けられ、こちらもDirectCompute一色という内容だった。Layla Mah氏とStephan Hodes氏による講演では、DirectComputeでパフォーマンスを引き出す実装手法や、被写界深度表現をピクセルシェーダーからDirectComputeベースに置き換えることで大幅に高速化する事例が紹介されるなど、次世代プラットフォームでのGPGPU活用を視野に入れた具体的な講演が目立った。


【「Crysis 3」ポストモーテム】

CrytekのTiago Sousa氏によるセッション。「Crysis 3」の最適化技法は非常に多岐にわたり、それぞれ詳細かつ具体的に紹介された。本作ならではの注目点のひとつである膨大な草の表現も、現行世代機で実行可能な技術で構成されている


【NVIDIA関連セッション】

NVIDIAのLouis Bavoi氏とJon Jansen氏による講演では、3Dテクスチャに遮蔽情報を格納するパーティクルシャドウマップを用いたパーティクルレンダリング手法や、サンプリング方法を工夫してSSAOを大幅に高速化する手法が紹介された。いずれもDirectComputeを全面的に活用するアルゴリズムとなっている。


【AMD関連セッション】

AMDのLayla Mah氏とStephan Hodes氏はDirectComputeの基礎をチュートリアル。それまでピクセルシェーダーなどを用いて行なっていた処理をいかにDirectComputeに置き換えるかといった話から、実際にDirectComputeを用いてポストプロセス処理を大幅に高速化する事例など、かなり具体的な内容となっていた。
Amazonで購入

(佐藤カフジ)