オススメ機能
Twitter
お気に入り
記事履歴
ランキング
4Gamer.net
パッケージ
The Witcher 3: Wild Hunt公式サイトへ
  • CD PROJEKT
  • 発売日:2015/05/19
  • 価格:59.99ドル
読者の評価
93
投稿数:6
レビューを投稿する
準備中
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

募集中
LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月〜金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
[SIGGRAPH 2015]「The Witcher 3」メイキングセッションに見る,先端的なオープンワールドゲームの実装テクニック
特集記事一覧
注目のレビュー
注目のムービー
印刷2015/08/12 14:44

イベント

[SIGGRAPH 2015]「The Witcher 3」メイキングセッションに見る,先端的なオープンワールドゲームの実装テクニック

SIGGRAPH 2015の会場は,E3でお馴染みのロサンゼルスコンベンションセンターだ
The Witcher 3: Wild Hunt
 コンピュータグラフィックス(CG)とインタラクティブ技術の学会である「SIGGRAPH 2015」が,北米時間8月9日から13日までの日程で開催されている。
 SIGGRAPHというイベントは,米国ロサンゼルスと,それ以外の地域での開催をほぼ交互に繰り返すのが通例となっており,2014年の開催場所はカナダ太平洋岸のバンクーバーだったので,今年はロサンゼルスの番というわけだ。会場は,「Electronic Entertainment Expo」ことE3が開催されることでも知られるロサンゼルスコンベンションセンターである。

 近年は商業イベント的な側面も色濃くなってきてはいるものの,SIGGRAPHはそもそもが学会である。そのため,開催規模や来場者数はE3ほど多くはなく,それゆえに,E3のようにコンベンションセンター全体を覆う巨大広告のようなものはない。

会場には巨大なラッピング広告があるわけでもなく,外観は「SIGGRAPH 2015」の横断幕が掛かるのみ
The Witcher 3: Wild Hunt The Witcher 3: Wild Hunt

 例年通り,日本からも数多くのゲーム開発者が来場しており,初日だけでも,スクウェア・エニックスやソニー・コンピュータエンタテインメント,ポリフォニーデジタルにセガゲームス,トライエースやシリコンスタジオの開発者を見かけるといった状況だった。ゲーム開発者向けイベントである「Game Developers Conference」(以下,GDC)と比較すると,報道関係者の数は少ないものの,そこかしこで日本語が聞こえてくるので,全来場者に対する日本人の割合は,GDCに優るとも劣らないのではないかという印象を受ける。

 SIGGRAPH 2015では,ゲームグラフィックス関連のセッションも多数予定されている。初日の9日には,トライエース代表の五反田義治氏と,シリコンスタジオの川瀬正樹氏らによる光学ベースのポストエフェクト技術の解説セッション「Real-Time Rendering of Physically Based Optical Effects in Theory and Practice」が行われた。それ以外にも,「Uncharted 4: A Thief's End」や「The Order:1886」「Deus Ex: Mankind Divided」「Rise of the Tomb Raider」などのメイキングセッションが行われる予定であるなど,ゲーム関連セッションは今年も充実している。筆者がカバーできる範囲でレポートしていきたい。


何もかも巨大になったWitcher 3


The Witcher 3: Wild Hunt
 SIGGRAPHレポートの1本めでは,日本でも人気急上昇中といわれるRPG「The Witcher 3: Wild Hunt」(PC / PS4 / Xbox One 以下,Witcher 3)をテーマとした,メイキング解説セッションを取り上げる。
 「Killing Monsters: Behind the Scenes of the Witcher 3: Wild Hunt」と題されたこのセッションは,同作におけるグラフィックスの仕組みや仕様を解説する「Building the World of The Witcher 3: Wild Hunt」と,グラフィックスエンジンの詳細が解説された「Rendering Features of The Witcher 3: Wild Hunt」の二部構成で行われた。その全体をレポートするのは時間がかかりすぎるので,本稿では,ゲーム開発者以外でも分かりやすい話題の多かった前半セッションの概要をレポートしたい。

Witcher 3のセッションを担当した,CD PROJEKT REDでTechnical Art Directorを務めるKrzysztof Krzyscin
 Witcher 3というRPGは,屋内と屋外をシームレスに移動できる広大なオープンワールドを舞台に,ゲーム世界に存在するものは,ほぼすべてが動的に動き,プレイヤーはそれらにインタラクションができるという,「究極の生きたゲーム世界」の再現に挑戦した作品だ。
 最近では日本のゲーム開発でも,Dragon’s Dogmaシリーズや「METAL GEAR SOLID V: THE PHANTOM PAIN」,「FINAL FANTASY XV」など,オープンワールドを題材にしたゲームが相次いで発表されている。動的な世界の構築は,先端的なゲーム開発シーンにおいて,技術的なトレンドともなりつつあるようだ。

Witcher 3の訴求ポイント。40km2を超えるフィールド,屋内外がシームレスにつながった環境,200時間を超えるボリュームなど,とにかく巨大な世界がウリとなっている
The Witcher 3: Wild Hunt

 2011年に発売された前作である「The Witcher 2: Assassins of Kings」(以下,Witcher 2)の場合,開発メンバーの総数は93人だったが,Witcher 3では倍以上の222人と,開発規模に合わせて人員も拡大されたとのこと。

Witcher 3とWitcher 2の開発スタッフ総数比較。ゲーム世界の拡大に応じて,開発規模も拡大した
The Witcher 3: Wild Hunt

 また,Witcher 2では,探索できるエリアの面積が1.2km2だったのが,Witcher 3では48.1km2へと,ゲーム世界の規模も拡大している。だからというわけではないが,総プレイ時間も200時間以上と拡大され,文字どおり,シリーズ最大級の大作ゲームへと成長したと,Krzyscin氏は振り返る。

Witcher 3とWitcher 2のサイズ比較。ほぼ40倍のサイズに拡大された
The Witcher 3: Wild Hunt


グラフィックスエンジンは物理ベースレンダリングを採用


 プラットフォームがPlayStation 4(以下,PS4)およびXbox Oneとなったことで,Witcher 3ではグラフィックスエンジンも一新し,現行世代では標準仕様とも言える物理ベースレンダリングが採用されている。
 レンダリングエンジンの基本は,Deferred Rendering(ディファード・レンダリング)ベースで,光源のカリング処理をGPUのCompute Shader(コンピュートシェーダ)で行う「Tiled Base Deferred Rendering」を採用する。半透明といった特殊な処理が必要なオブジェクトには,Forward Renderingを別途適用しているとのこと。
 ちなみに,開発スタジオは違うが,「Battlefield 4」などElectronic Artsのゲームでお馴染みのゲームエンジン「Frostbite」も,この方式を採用していたりする。
 拡散反射系はLambert(ランバート)モデル,鏡面反射系はCook-Torrance(クック・トランス)モデルを採用しているとのこと。シェーダはいわゆる「Uber Shader」(万能型シェーダ)設計となっており,1つのシェーダでさまざまなマテリアルを表現できる,近代的仕様になったとKrzyscin氏は述べていた。それにより,Witcher 2では110個もあったシェーダ数が,Witcher 3では,フォトリアル度が向上しているにもかかわらず,29個に収まったそうだ。

黄色の丸がWitcher 2のシェーダ数で,赤色の丸がWitcher 3のシェーダ数を示す。表現力が向上しているにもかかわらず,シェーダ数は4分の1程度になった
The Witcher 3: Wild Hunt

 最近のゲームでは珍しくないが,Witcher 3もゲーム内で昼夜が刻々と変化する表現が採用されている。昼夜の変化を表現するうえで鍵となるのが,ライティングだ。
 Witcher 3では,全方位光源としてキューブ環境マップを使う「Imaged Based Lighting」(イメージベースライティング)を採用しているのだが,ここで使うキューブ環境マップは,アーティストが手作業で要所要所に設定した取得ポイントで生成されたものを使っていると,Krzyscin氏は説明ししている。鏡面反射用のキューブ環境マップは128×128テクセル,多少粗くても構わない拡散反射用は16×16テクセルとのことだった。

キューブ環境マップを取る場所はアーティストによる手動設定
The Witcher 3: Wild Hunt

3フレームおきにキューブ環境マップを更新することでシーンの動的変化に対応する
The Witcher 3: Wild Hunt
 このキューブ環境マップは,静的なものではなく,3フレームごとに生成し直される仕組みで,動的な光源の動きなどもキューブ環境マップに反映される。そのため,金属素材上の鏡面反射効果は,3フレーム遅れにはなるが,近くにある動的光源の位置が反映されるというわけだ。
 昼夜の変化による表現を実演したデモを動画で撮影しておいたので,そちらも参照してほしい。

上から下に向かってラフネスを下げた材質のシェーディング結果の一例
The Witcher 3: Wild Hunt


 Krzyscin氏は,オープンワールドゲームでは欠かせない表現である天候システムの概要も説明した。
 それによると,晴天や曇り空,雨天や雪といった天候テンプレートをあらかじめ制作しておき,天候を構成する風や雨の強さといったパラメータを調整することで,さまざまな天候バリエーションを引き起こせる仕組みになっているそうだ。

Witcher 3における天候システムテンプレートの一例
The Witcher 3: Wild Hunt

 とくに風は,Witcher 3における天候システムの重要な要素になっているそうで,風の強さや向きは,衣服の揺れや水面の波,水面に浮かぶオブジェクトの浮力,そして草木や樹木の揺れに影響するという。今までのゲームでは,単にそれっぽく揺れ動いていただけのこれらが,本作ではきちんと,風の影響を受けて動くようになっているのだ。ゲームをプレイ中に気付いた人はいるだろうか?

風の影響を受けて変化する要素
The Witcher 3: Wild Hunt

 雨や水に触れたキャラクターが濡れる表現も導入されている。キャラクターは,ボーンごとに「Wetness」(濡れ具合)のパラメータを持っており,川に入ったり,雨に当たったりすると濡れ具合が上昇し,水や雨から離れると,時間経過によって濡れ具合は減るという仕組みになっているとのことだった。これも動画で見ると分かりやすい。

水に濡れた表現を行うシステムの概要
The Witcher 3: Wild Hunt


 水濡れを表現するシェーダは,物理ベースのマテリアルシステムで濡れた部分のラフネス(粗さ)を下げることで鏡面反射効果の度合いを上げると同時に,アルベド(反射率)を下げて黒ずませることで実現している。衣服が水に濡れたりすると,水の影響で材質表面はテカテカと光沢が増すが,色は黒ずんで見えるだろう。これをシェーダで表現しているのだ。

屋内外がシームレスにつながっているWitcher 3では,屋内は天候の影響を受けないように設定する必要がある
The Witcher 3: Wild Hunt
 さて,いくら天候システムが重要とはいえ,建物や洞窟の中といった天候の影響を受けないところでは,天候システムが及ばないようにしなければならない。そこで使われているのが,「インテリアボリューム」という立体的なマーキングシステムだ。

 屋根と壁に囲まれて雨の影響を受けない,建物内部のような場所では,建物全体にインテリアボリュームを設定する。インテリアボリュームが設定されている内側には,天候システムの影響が及ばないようになっているので,「建物の中なのに雨が降ってくる」といった,既存のオープンワールドゲームでたまに見られる現象が,Witcher 3では起きないというわけだ。

インテリアボリュームの仕様を示したスライド
The Witcher 3: Wild Hunt

インテリアボリュームの説明スライド。スライド左のような建物に対して,スライド右のようにインテリアボリュームを設定すると,天候システムの影響が及ばない領域を作れる
The Witcher 3: Wild Hunt

雨の表現を行う特別なポストエフェクト処理を実装している
The Witcher 3: Wild Hunt
 雨水の着水や流れの表現するために,プロシージャル的なポストエフェクト手法が活用されていることも説明された。Krzyscin氏によると,描画し終わったシーンの深度情報から,シーンにおけるピクセル単位の法線を算出し,その向き(傾き)に応じて,雨水の表現を行うシェーダを振り分けているとのこと。
 これによりどのような表現が可能になるかというと,たとえば,空(直上)を向いている部分に雨水が当たると,そこに波紋が広がるような効果が適用され,空に対して横を向いている部分に対しては,雨水が下に流れる効果が適用されるといった具合だ。
 オブジェクトやキャラクターが動いたときにも,面単位で動的に雨の効果を適用できるので,「シンプルながらもリアルに見える」のだと,Krzyscin氏は説明していた。



Witcher 3のインタラクションシステム


 Witcher 3で力を入れているのは,風景の表現だけではない。キャラクターと環境の相互インタラクション表現にも力を入れて開発したと,Krzyscin氏は述べる。ただ,力を入れたとはいっても,1つ1つの実装はシンプルであるそうだ。
 たとえば,キャラクターの動きに合わせて動く衣服や,オブジェクトの動的な破壊には,NVIDIAの「PhysX」によるリアルタイムシミュレーションで動きが生成されるという。また,水中に入った剛体オブシェクトの動きには,簡易的な浮力シミュレーションが適用されるほか,草木とキャラクターが衝突したときには,カプセル型の簡易な衝突判定を行って,草木が倒れる表現が行われるそうだ。

キャラクターと環境のインタラクティブ表現が行われる要素
The Witcher 3: Wild Hunt


オブジェクトと水面のインタラクションは,オーソドックスな手法を採用している
The Witcher 3: Wild Hunt
 オブジェクトと水面とのインタラクションは,1024×1024テクセルで管理された平面の領域に対して,カプセル形状を基本とした衝撃を与えて波動シミュレーションを行うという古典的な手法が採用されているとのこと。そのため,キャラクターやオブジェクトが水面に触れたことで起こる波は,同心円状の波が基本となる。リアルとはいえないだろうが,Witcher 3は水遊びがメインのゲームではないのだから,これで十分であると判断されたようだ。


 キャラクター同士のコミュニティシステムや野生動物の挙動制御,動物の群れ制御といった機能も実装されているそうだが,「話が長くなりすぎる」(Krzyscin氏)ということで,今回はその中から,群れの制御システムが簡単に説明された。
 群れの制御システムは,鳥や魚の動きに使われているそうで,互いが重ならないように衝突を避ける挙動を事前に計算しておいて,ゲーム内ではそれに乱数要素を与えることで,有機的な群れの動きに見せているとのことだった。これも動画で見ると分かりやすい。



Witcher 3の地形表現


 最後に説明されたのは,地形や水面といったフィールドの表現に使われた技法についてだ。Witcher 3における地形は,凹凸分布を表したハイトマップテクスチャから生成する仕組みで,このハイトマップを種にして,視点に近いほど精度の高い適応型テッセレーションを行うことで,多ポリゴンの地形を生成しているとのこと

地形はハイトマップベースで構築されている
The Witcher 3: Wild Hunt

 地形に対するテクスチャマッピングは,X/Y/Zの3方向から平面マッピングを行うTri-Planar Mapping法(※Tri-Planar Texturingとも呼ばれる)が採用されている。これにより,複雑な凹凸のある地形に地表面のテクスチャを貼り付けても,異常な変形が起きにくくなるわけだ。
 なお,地形の上に置かれた道はプログラムによる生成ではなく,アーティストによって設定されたものである。

地形の上を走る道はアーティストによって設定されたものだ
The Witcher 3: Wild Hunt


水面の波表現もテッセレーションを活用することで,視点に近い波が多ポリゴンで表現される仕組みとなっている
The Witcher 3: Wild Hunt
 水面は,あらかじめ決められた場所が「水面になる」ように設定されており,水面上の凹凸である波の表現は,画面座標系でテッセレーションされて表現される。つまり,視点に近い波ほど多ポリゴンで表現され,視点から遠いほど少ポリゴンで表現される仕組みだ。一方で,視界の外にある水面はカリングされて,描画はされないしシミュレーションも行われない。

 ちなみに,波動シミュレーションは,Jerry Tessendorf氏の論文「Simulating Ocean Surface」(関連リンク)で提唱された手法を実装したものだ。この手法は,Crysisシリーズを始めとして,さまざまなゲームで実装されており,複雑な波動の重ね合わせを高速フーリエ変換(FFT)によって周波数領域で行う点が特徴となっている。
 Witcher 3の場合,表現対象となる波の解像度を512×512ポイントのグリッドで処理しているそうだ。最初の実験ではCPUで行っていたこの計算を,製品版ではGPGPUによる処理へと落とし込むことに成功したので,他の処理とオーバーラップ実行させることにより,処理時間の隠蔽に成功したと,Krzyscin氏は説明していた。

波動シミュレーションは,定番のJerry Tessendorf氏の手法を応用している
The Witcher 3: Wild Hunt


 オープンワールドの表現というのは,言うなれば「世界シミュレータ」を作っているようなものだ。数十km四方という有限の空間であっても,そこに存在するあらゆる要素を詰め込んでいかなければ,説得力のある世界は構築できない。だからこそ難度の高い表現テーマである。
 完全なる世界シミュレータの構築は非現実的であるので,「どの要素をどの程度の品質で実装していくか」が重要になってくるわけだが,Witcher 3では,1つ1つの実装様式にはシンプルなものを選びつつ,考え得るすべての表現要素を実装していくという,力業や物量によるアプローチでオープンワールドを構築したといえそうだ。

The Witcher 3: Wild Hunt
 これはこれでオープンワールド表現における1つの回答なのだということが提示されたわけだが,そうなると,この先に登場するMETAL GEAR SOLID V: THE PHANTOM PAINやFINAL FANTASY XVといった和製オープンワールドゲームでは,どの程度の表現を実現してくるのか,とても気になるところだ。

 いずれにしても,国内外の先端的ゲーム開発シーンでは,オープンワールド表現の探求が今後も進んでいくことは間違いないだろう。

「ウィッチャー3 ワイルドハント」4Gamer特設サイト

「ウィッチャー3 ワイルドハント」公式サイト


  • 関連タイトル:

    The Witcher 3: Wild Hunt

  • 関連タイトル:

    ウィッチャー3 ワイルドハント

  • 関連タイトル:

    ウィッチャー3 ワイルドハント

  • この記事のURL:
line
4Gamer.net最新情報
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:03月25日〜03月26日