ニュース
[GDC 2013]「アサシン クリードIII」で採用された,「PS3・Xbox 360世代でも可能なリアル」を実現する技術
Jean-Francois St-Amour氏(Lead Graphics Programmer, Ubisoft Montreal) |
氏によれば,AC3は最新レンダリング技術を駆使した……というわけではなく,むしろ“現時点でベスト”と思える技術を選択して制作されたという。St-Amour氏の講演では,「なぜその技術を選んだのか」が語られたので,興味深いポイントに絞ってその内容を紹介してみたい。
AC3のグラフィックス〜多彩な天候表現
AC3はPC版だけでなく,PlayStation 3(以下,PS3)版とXbox 360版,さらにはWii U版も発売された,典型的なマルチプラットフォームのゲームである。
そのため本講演で語られた内容は,基本的に「PS3やXbox 360でも可能な範囲のリアルなグラフィックス」をいかにして実現するかというものであり,最新技術とパワフルなPC用GPUをフル活用するような話ではない。現に,PC版でどのように表示品質を向上させたかは,最後に少し触れられた程度である。
季節に伴う天候の変化は重要だが,Ubisoft Montrealでは,「性能を犠牲にすることなく表現できること」を目指したという |
たとえば雨の場合,カメラ近傍の雨はパーティクル(粒子)を使って表現するが,20メートル以上離れた雨は,風の方向に沿った円筒を置いて,円筒のテクスチャを「UVスクロール」で表現しているという。UVスクロールというのは,UV座標(=テクスチャ座標)をズラすことで動きを表現する技法で,一般的によく用いられるものだ。
AC3における雨の表現。近場の雨はパーティクル,20メートル以上離れた雨は,円筒に貼ったテクスチャをUVスクロールで動かして表現する |
St-Amour氏はこの手法を「非常に簡単な方法」と述べていた。確かにシンプルな実装ではあるが,完成したAC3での雨は,かなりリアルな見た目を表現できていて,感心させられる。
これはゲームの画面ではなく見本の写真だが,「こんな風に足跡がつくようにしたかった」とSt-Amour氏 |
雪に足跡を付ける手法も披露された。まず,GPUによるリアルタイムテッセレーションで地面のメッシュを細分化。次に「Render to Vertex Buffer」(R2VB)というテクニックを使って,頂点テクスチャの重心をレンダーターゲットから拾って変形させ,ディスプレースメントマップに反映させるという手法を使ったとのことだ。
AC3では,雪に足跡をつけるためにR2VBを用いている |
天候についてはほかにも,「雪や雨で濡れた道路などの表現にあたって,ノーマルマップのZ成分を調整することで頂点の色を変化させ,反射率も変える」手法を採用したことが明かされたが,これも,処理負荷を考えると比較的リーズナブルな方法と言える。ストレートに表現するには負荷の高い雨や雪の表現を,できるだけ効果的かつ低負荷な方法を選んで,慎重に実装したようだ。
濡れた道路の表現のサンプル。写真の左斜め上半分が,この方法を用いている部分で,それらしく濡れているように見える |
グローバルイルミネーションはVPLによる事前計算
AC2で採用されたWORLDLIGHTMAPの利点(Pros)と欠点(Cons) |
「これには利点と欠点がある」とSt-Amour氏。利点として真っ先に挙げられるのは「負荷が軽い」ことで,一方で欠点としては,「鏡面反射がなかったり,とくにアーティストの負担が大きい」ことが挙げられるという。
WORLDLIGHTMAP V2では,事前にGIのための静的光源を計算しておく手法を採用した |
VPLによるGIを導入したことで,たとえばPlayStation 3の場合,ライティングの計算負荷はピクセルあたり0.8msで済んだとのことで,「アーティスティックにかかるコストの,95%を削減できた」と,St-Amour氏は誇らしげに語った。95%というのは大袈裟なように思えるが,自動的にライティングを計算できるようになったことで,手作業を大幅に減らせたのは確からしい。
映像的にも効果はあるようで,WORLDLIGHTMAPと同V2を比較したサンプルでは,同じシーンであっても照明の雰囲気が変わり,よりリアルな表現を実現していた。
写真では分かりにくいかもしれないが,左がAC2での手法で描いたサンプルで,右はAC3のWORLDLIGHTMAP V2によるもの。人物の陰影に目が行きがちだが,壁による反射光を再現して,中央の人物右側の上を向いた面の明るさが違うのが,WORLDLIGHTMAP V2の効果によるもの |
WORLD AOでは,事前計算式のAOを用いる |
WORLD AOでは,上方向からの奥行き情報を使ってマスクの元画像を作成し,それにぼかしをかけた画像を用いるのだという。これも処理コストと実際の効果を秤にかけて採用した手法,という印象を受ける。
テクスチャを省いてレンダリングした,WORLD AOのサンプル画像。AOの効果がイメージしやすい |
海にも凝ったAC3
PC版ではDirectX 11なりの処理も搭載
AC3では,水面の表現にも力が入れられたという。「本作は18世紀が舞台で,海が重要な役割を持つだけに,海や水の表現には力を入れた」(St-Amour氏)。海の表現では,この分野で有名な論文「Simulating Ocean Water」(関連リンク,PDFファイルが開きます)に準じた手法で,海の波を再現しているそうだ。それに加えてSt-Amour氏は,「波濤の泡を再現したことに特徴がある」と述べている。
具体的には,波頭から泡の量を計算で求めて,泡をレンダーターゲットで合成しているという。泡は生成から消滅までしっかりとシミュレートされ,非常にリアルな見た目になったそうだ。
波の泡立ちは,波濤から大きさを計算して,レンダーターゲットで合成。生成から消滅までを,周波数を変えて再現しているそうだ |
再現された波のサンプル。非常にリアルに見えた |
なお,本稿の序盤で述べたとおり,St-Amour氏は講演の最後でPC版AC3についても触れている。PC版ではDirectX 11の仕様を一部に取り入れ,PC版にふさわしいグラフィックスとなるような工夫が凝らされた。そのなかでも特徴的なのが,先ほども話題に出てきたAOの活用とのことだ。
PC版AC3では,最新の「Multi-resolution Screen Space Ambient Occlusion」(MSSAO)という技術が取り入れられている。ただし,MSSAOは非常に処理負荷が高いので,解像度によって「Horizon-Based Ambient Occlusion」(HBAO)と使い分ける,ハイブリッド式の「MHBAO」を実装したと,St-Amour氏は述べている。
PC版AC3では,MSSAOと,HBAOを併用するハイブリッド方式を採用した |
ちなみに,PC版AC3でのMSSAOの採用については,NVIDIAがGeForce GTXシリーズの優位性を訴えるプロモーションの一環として,解説ページを公開している。St-Amour氏はNVIDIAと協力した自らの経験を基に,PC版のゲームを開発するときには,GPUメーカーに連絡して協力を得たほうがいいと呼びかけていた。
次世代ゲーム機となるPlayStation 4が発表されたものの,当分ゲーム機の主役はPS3やXbox 360であろう。St-Amour氏の講演で示されたように,効果的かつ処理負荷の低い表現の実装を模索するような開発は,しばらく続きそうだ。AC3はそんなモデルケースのひとつとなるに違いない。
アサシン クリードIII 公式Webページ
Game Developers Conference公式サイト
- 関連タイトル:
アサシン クリードIII
- 関連タイトル:
アサシン クリードIII
- 関連タイトル:
アサシン クリードIII
- この記事のURL:
キーワード
(C)2012 Ubisoft Entertainment. All Rights Reserved. Assassin’s Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
(C)2012 Ubisoft Entertainment. All Rights Reserved. Assassin’s Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
(C)2012 Ubisoft Entertainment. All Rights Reserved. Assassin’s Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.