アバター:フロンティアズ・オブ・パンドラ – 大規模な開発者のテクインタビュー

「アバター:フロンティアズ・オブ・パンドラ - 開発者のテクインタビュー大作戦!」

『アバター:フロンティアのパンドラ』は、まったくの予想外でありながら、今年最も美しいゲームの1つとなっています。映画シリーズの象徴的な設定が、クライシスのようなゲームプレイと新しくアップグレードされたスノードロップエンジンと美しく融合しています。このスノードロップエンジンは10年前のE3で最初に発表され、『The Division』とともに注目を集めました。そして何よりも嬉しいことに、『アバター』はPCだけでなく、PlayStation 5、Xbox Series X、そしてシリーズSでも驚くほどのパフォーマンスを発揮しています。

本作の開発スタジオはユービーアイソフトのマッシブです。最近、デジタルファウンドリーのアレックス・バターリアがテクニカルディレクターのニコライ・ステファノフとスノードロップエンジンのレンダーアーキテクトのオレクサンドル・コシェリョをインタビューする機会を得ました。

以下のインタビューは、どのようにマッシブがスノードロップエンジンを開発し、パンドラの世界をビデオゲームの形で実現し、一昔前に比べてあまり一般的ではなくなったタイプと品質のゲームを提供したのかを垣間見る魅力的な内容となっています。

いつも通り、質問と回答はわかりやすく編集されています。お楽しみください。

これは『アバター:フロンティアのパンドラ』のフルPCテックレビューであり、多くのシステムについて詳しく解説し、それらがどれだけ成功しているか、または不足しているかを説明しています。

デジタルファウンドリー:ゲームをプレイして最初に気づいたのは、完全に新しいグローバルイルミネーション(GI)システムを使用していることでした。RT対応のGPUが2018年に登場して以来、ハードウェアRTライティングを実現するためのさまざまな技術が登場しましたので、このSnowdropのバージョンではどのように実現されているのか、開発にどのような役割を果たしましたか。

オレクサンドル・コシェリョ:私はSnowdropのレンダリングアーキテクトですので、グラフィックスレンダラの開発の一般的な方向性を模索するのが私の仕事です。私はレイ トレーシングのBVH(Bounding Volume Hierarchy)管理部分にかなりの時間を費やしており、チームの他のメンバーもライティングの実際の部分、つまり「ray」に時間を費やしています… 私たちはレイ トレーシングの世界で、ジオメトリの低詳細な表現と平均的なマテリアルを組み合わせたものを使用しています。これは、スクリーンスペーストレース、ワールドスペースハードウェアトレース、そしてライティングを行うためのレイ トレースプローブの組み合わせです。

ですので、プロセスはスクリーンスペーストレースを行い、何かに当たった場合はそのヒットのライティングを行い、当たらなかった場合はハードウェアレイを使用してレイ トレーシングの世界に進みます。効果によって、つまり拡散GIまたはスペキュラー反射の場合、レイの長さが異なります。ですので、レイの長さで何も当たらなかった場合は、プローブの結果にフォールバックします。当たった場合は、ローカルライト、陽光、そしてプローブからのフィードバックで照らします。プローブは、見逃されたレイのフォールバックとセカンダリライトのソースの両方です。これにより、フィードバックと多層反射を得ることができます。

ニコライ・ステファノフ:私たちがやると共通のことは、「名前を付けることにはあまり長けていない」ということですね(笑)。ですが、私たちはこれまで行ってきたさまざまな技術を活用することができる非常にクールで多機能なシステムを備えていると思います。『The Division』ではプローブベースのライティングを採用し、それをキャッシュとしてセカンダリバウンス、スクリーンスペースGI、そしてレイトレーシングに使用しています。もちろん、ハードウェアレイトレーシングも活用しています。また、グラフィックスカードがハードウェアアクセラレーションされたRTをサポートしていない場合のために、このためのコンピュートシェーダーフォールバックも持っています。

オレクサンドル・コシェリョ:スクリーンスペースとワールドスペースのレイを区別するのは多少難しいです。私はワールドスペースのレイを「ハードウェアレイ」と呼びがちですが、これらはソフトウェアでも可能ですし、プローブについて話しているときは、リアルタイムのレイトレースされたプローブを強調したいのです。何もベイクされていません。

デジタルファウンドリー:それは私も疑問に思っていたことです。おそらく透明度にもプローブを使用しており、以前のPRT(事前計算された放射輝度伝達)システムにフォールバックすると、ここで見られるほど高品質には見えませんでしたね。

ニコライ・ステファノフ: そうですね。この方式では、プローブはまさに輝きのキャッシュというよりも、何かに焼き込んだものではないといえます。そして、焼き込みと言えば、このシステムの素晴らしいところの一つですが、パンドラの世界は以前のディビジョンゲームとは全く異なる環境であり、はるかに詳細で、領域も多いため、高価な焼き込み作業をスキップできるのです。当初、私たちはPRTシステムを使ってゲームを開始しましたが、レベル全体を焼き込むのに数日かかっていました。世界のイテレーションには非常に時間がかかりました。だから、特にインテリアに関しては、物事を移動させて変更をリアルタイムで見ることができるシステムを持っているのは本当に良いことです。

Digital Foundry: そうですね、ゲームはインテリアから始まりますが、キャラクターが内部を歩き回り、進むにつれて世界が再照明されるのが見て取れます。公開前の資料でも述べられているように、影にはレイトレーシングが使われていると発表されていますが、それはどのように機能しますか?

オレクサンドル・コシュロ: 前にも述べた通り、私たちのBVHには詳細度が低いジオメトリ表現がありますので、正確な影のためにRTは使用できません…しかし、2つの方法で使用しています。1つは接触影です。光に向かって短いレイを使い、どの表面に当たったかを確認して接触ハードシャドウを生成するためです。それとは逆に、長距離の影ですね。影のカスケードの範囲よりも奥にあるものはレイトレースされ、それによって長距離の影を得ています。

ニコライ・ステファノフ: これは、ビスタにある大きな石のアーチや浮遊する島などに使用されており、その詳細を把握するために非常に重要です。また、地形に対してもトレースを行っていると思います。

オレクサンドル・コシュロ: 地形に対してもトレースを行い、レイトレーシングワールドにインポスターも追加しました。それらはハードウェアトレースされたボックスです。そして、ボックスに当たると、そのツリーの焼き込まれたビットに対してソフトウェアでレイトレースされます。

ニコライ・ステファノフ: 私たちの技術の多くで、既存の技術の最良の部分を組み合わせて最良の結果を得るという組み合わせがされていることに気づくでしょう。

Digital Foundry: 私はPCでしかプレイしていませんが、Xbox Series X、Series S、PlayStation 5でGIをうまく動作させるために拡大縮小する方法について非常に興味があります。ハードウェアの限界があるので、どれだけプッシュできるかは明らかに制約がありますね。

こちらは、PS5、Series X、Series Sでのゲームの動作方法についてのTomの動画です。グラフィックの忠実度を考えると、驚くほどうまく動作しています。

オレクサンドル・コシュロ: 言うまでもなく、これは挑戦だったと言えますが、異なる品質やハードウェアに合わせてスケーリングするためのたくさんのノブがあります。レイの数、結果の解像度、ノイズ除去の品質、結果の精度、レイの長さなどは変化します。私たちはいくつかのトレードオフを持っています。精度を低くすればより速くトレースできますので、そのように使用します。私たちの調整項目は、解像度のような大きなものから非常に細かいものまでさまざまです。

ニコライ・ステファノフ: 私が言いたいのは、GPU上のパフォーマンス以外にも、メモリの面でスケーリングを行わなければならなかったこともあるということです。特にSeries Sでは、他のターゲットプラットフォームよりも利用可能なメモリが少ないためです。例えば、レイトレーシングワールドを短い距離で読み込んでいますので、一部の遠い影は他のプラットフォームと比べて正確ではありません。レイトレース用のBVHに使用するジオメトリは、他のプラットフォームと比較してLOD(レベルオブディテール)が低いです。そういったことです。

Digital Foundry: 理にかなったスケーリングのようですね。GIに適用されるものです。地形の影や硬い接触影など、他のトレースについてはコンソールでも同じですか?

オレクサンドル・コシュロ: はい、実際にはすべてのエフェクトはプラットフォーム間で同じです。ただし、PCでは無効化や有効化するためのオプションをさらに提供しています。

Digital Foundry: 簡素化されたBVHの世界と言いましたが、その中にはフォリッジやスキンのキャラクターのどの要素が含まれていますか?

ニコライ・ステファノフ:ほとんどのジオメトリは、レイ トレーシングの世界にデフォルトで含まれていると思います。非常に小さなものを除いています。例えば、すべての草がレイ トレーシングの世界に含まれるわけではありませんし、細かい微細なディテールもすべてレイ トレーシングの世界に含まれるわけではありません。キャラクターは含まれていますが、少なくともほとんどのキャラクターは含まれるべきです。一般的には、テクニカルアーティストが特定の物事が含まれるかどうかを決めるのも彼ら自身の判断になります。

興味深い考慮事項もあります。例えば、非常に小さな明るいものの場合、ノイズを減らすためにレイ トレーシングから削除する方が良い場合もあります。また、メモリ制約のため、レイ トレーシングの世界にすべてのジオメトリを含める必要はありません。要約すると、デフォルトではすべてがレイ トレーシングの世界に含まれますが、テクニカルアーティストが個別にオフにすることを決める特定の物事もあります。

デジタル・ファウンドリ:先ほど、小さくて明るい物体について話しましたが、それに関連して、私がゲームで本当に注目したのは発光照明のサポートでした。それがどのように組み込まれるのか教えていただけますか?「単に動作する」というだけですか?

オレクサンドル・コシュロ:単に動作します。これはG.Iの一部として機能します。つまり、レイキャストが発光面に当たると、照明に寄与します。ただし、小さな面でシーン全体にランダムにレイをキャストする場合、ランダムに小さな面にレイが当たる可能性があり、多くのノイズを発生させる可能性があるため、発光面をレイ トレーシングの世界から削除することをアーティストに推奨しています。

ニコライ・ステファノフ:パストレーシングの用語で簡単に説明できるなら、私たちは「ガイド付きパス」という特定の技術を使用しています。基本的に最初のレイに対して、照明を解析的に評価します。完全なモンテカルロパストレーシングを行うわけではありません。ただし、これは解析照明のためにのみ存在します。Sashaが言っていたように、発光面については、実際にはレイのランダム性に頼っています。そのため、これはアナリティクス照明よりもノイズを多く導入する可能性があります。ただし、発光面は動作し、フルサポートしています。

デジタル・ファウンドリ:レイの誘導を話しているんですね。そのランダム性の結果を少し改善するためにReSTIRやReGIRの使用を検討したことはありましたか?

オレクサンドル・コシュロ:ありました。RTテクニック、デノイジングテクニックについて多くの研究を行いました。具体的にはReSTIRを使用しなかったです。私たちは引き続き、RTの進歩を評価しています。ただし、デノイジングの側面に取り組んでいる素晴らしい人々がいるため、非常に満足しています。デノイジングは本当に難しい問題なので、解決するために見逃されることはありません。

ニコライ・ステファノフ:もしXbox Series Sをターゲットにしたいのであれば、使用する技術の組み合わせはほぼ同じです。1次反射のGIに加えて、プローブキャッシュなどのキャッシングもあります。ReSTIRやその他のテクニックは非常に有望ですが、コンソールでの効果的な実行や60fpsでの実行は難しいです。

デジタル・ファウンドリ:実際にアーティストにレイトレーシングの操作を許可し始めたのはいつですか?プロジェクトの初期段階でしましたか?それとも古いPRTシステムの置き換えの途中で始めましたか?

ニコライ・ステファノフ:中盤よりも少し早かったですが、私たちはPRTで始め、実際にはDuniaエンジンにさかのぼって、ベーキング時間を短縮しました。ですから、切り替えは実際には非常に簡単でした。RTの品質は、プリベイクされたものよりもはるかに優れているためです。その切り替えはプロダクションの前段階で行われました。ビジュアル側に対する影響は非常に低かったです。

レイ トレーシングに合わせてビルドする際に興味深いことの一つは、アセットのセットアップに異なるルールがあることです。例えば、室内が完全に閉じられていないと、外部からの光が漏れてしまいます。また、オブジェクトは両面にする必要があります。従来の壁のための片面ゲームトピックスのみを使用していた場合、実際には両面にする必要があり、すべてのプローブなどが正しく機能するようにする必要があります。

Oleksandr Koshlo: ジオメトリは現実世界をより正確に表現する必要があります。

Digital Foundry: 探査機について、それらは世界にどのように配置されていますか?単なるグリッドですか?それともある程度選択的ですか?

Oleksandr Koshlo: それはある程度選択的なグリッドです [みんな笑う]。ですので、まだいくつかのヒューリスティクスがあります。どのレベルにグリッドを配置するか、室内か屋外かに基づいてどこにバイアスをかけるか、どのようなものがそこにあるか、場所の寸法はどうなっているかなど。しかし、それは階層化されたグリッドです。つまり、4つの階層があり、各々の解像度は同じですが、それぞれの階層はより大きな距離をカバーします。

Digital Foundry: 透明度の影に関しては、もちろん水上の反射やGIが透明な表面に影響を与えていますが、ガラスはどうですか?そこではどのようにシェーディングが行われていますか?

Oleksandr Koshlo: 私たちはまだキューブマップを使用しています。それらはこの種のガラス表面に依然として使用されています。また、水面や完全に透明なガラス表面で見ることができるローカルな屈折もありますが、これはスクリーン空間ベースです。現時点では半透明オブジェクトからのレイトレーシングされた屈折や反射には対応していません。

Tomの完全なビデオに加えて、OliverとRichがAvatarのコンソール版についてDF Direct Weeklyで議論し、DF Clipsビデオで再現されています。

Digital Foundry: コンソールでの利用時には、ロードインするために独自の、事前に構築したBVHを使用していますか?BVHの構築方法はどのようにしていますか?

Oleksandr Koshlo: コンソール向けには独自のBVHのソリューションがあります。彼らのAPIに依存しないため、メッシュのためのボトムレベルBVHを事前に構築して高品質化を図っています。その後、CPU上でトップレベルBVHをビルドするための独自のカスタムソリューションを作成しました。一方、DXRや既存のAPIでは、すべてのインスタンスをGPUに送信し、GPUが加速構造を作成する方法があります。私たちはキャッシングに頼っており、変更されたものだけを再構築します。これにより、CPU上で効率的にトップレベルを構築することができ、GPUの時間を節約できます。

Digital Foundry: それは興味深いですね。通常はGPU上で非同期コンピュートで行われます。ではGPU上では非同期に何が行われていますか?最終的にプラットフォームに依存するかもしれませんが、そこで非同期に行われるものについて非常に興味があります。

Oleksandr Koshlo: 実際にはたくさんのことが行われています。私たちは非同期コンピュートを多く使用しています。私たちはそれが大好きです。PCではDX12のみを使用しているため、非同期を使用するものに関してはプラットフォームの違いはありません。ボリュメトリックスは完全に非同期で実行されます。プローブのレイトレーシングとライティングも非同期で実行されます。Gバッファのトレース部分はグラフィックスキューで実行されますが、プローブのトレース部分は非同期で実行されます。GPUカリングも非同期コンピュートで実行され、その他のいくつかの小さなタスクも同様です。非常に効果的にロードされています。

Digital Foundry: PCではDXRレイトレーシングAPIが使用されていますが、1.0と1.1のインラインバリアントがあります。PCでの処理方法はどのようになりましたか?

Oleksandr Koshlo: 私たちは1.1インラインを使用しています。これは私たちにとって非常に重要でした。私たちは早い段階で、レイトレーシングが私たちのためにうまく機能し、すべてのシェーディングの逸脱を回避することができると判断しました。ですので、DXR 1.1はコンソールと非常に似た方法でそれを実現することができます。基本的には命令の変更です。平均的なマテリアルでは、それは私たちにとって十分です。

Digital Foundry: それは、オブジェクトごとに1つのマテリアル、または…?

Oleksandr Koshlo: それはメッシュごとに1つのマテリアルです。私たちのオブジェクトはしばしば複数のメッシュで構成されているため、オブジェクト内ではまだ多少の変動があります。

Digital Foundry: では、コンソールのモードは何で、どのように違いますか?

Nikolay Stefanov: PS5とXbox Series Xでは60fpsの「パフォーマンスを優先する」モードをサポートしています。プレイヤーはまた「品質を優先する」モードを選択することもでき、ここでは多少軍配を上げ、内部的により高い解像度で出力します。Series Sでは30fpsを目標にしており、その特定のコンソールには60fpsのモードはありません。

私たちの完全な Avatar コンソールテック解説 は、Tomによって詳細に比較されたモードについて、グラフィックスとパフォーマンスの観点から、およびSeries Sの持ち味について説明しています。

Digital Foundry: 過去に、Snowdrop は一部のエンジンの中で、テンポラルアップスケーリングを広める役割を果たしましたが、今回はどのように実現されていますか?

Nikolay Stefanov: コンソールおよびPCでアップスケーリングおよびテンポラルアンチエイリアシングにFSRを使用しています。デフォルトではFSRです。PCではDLSSにも対応しています。また、インテルとも協力し、最新バージョンのXeSSに対応しています。これはアップデートとして提供されます。

Digital Foundry: ゲームはコンソールで動的解像度スケーリングを使用していますか?Division では使用されていたように思いますが。

Oleksandr Koshlo: Divisionでは動的解像度スケーリングが使用されていましたし、Avatarでも使用しています。

Nikolay Stefanov: それがクオリティモードとパフォーマンスモードの違いの一つです。60fpsのパフォーマンスモードでは、内部解像度をより低くすることができます。それが見られる主な違いです。

Digital Foundry: PCでは、解像度スケーラーの横に解像度を調整するオプションがありますが、それはどのような機能ですか?

Nikolay Stefanov: はい、もちろん。この PCの機能についての詳細な記事 があり、VRAMのメーターやPCベンチマークなどについて説明しています。基本的に、レンダリングする内部解像度とアップスケーリングの品質を制御しています。

[スケーリングは現在のディスプレイ解像度に基づきます。4K未満の解像度は、より高いレンダリング解像度を優位にし、4Kでは固定スケーリングと同じです。4Kを超える解像度では、より低いレンダリング解像度を優位にします]。

Avatar: Frontiers of Pandora は、PCの超高設定で4K DLSSパフォーマンスモードで実行されている様子が示されています。これらのスクリーンショットが撮影された時点では、Ubisoft Massiveは隠された「アンオブタニウム」の設定をまだ公開していませんでした。

Digital Foundry: 目につくことの一つは、植生の多さが非常に高いことです。新しいDX12の機能やRDNAによってもたらされたもの、例えばプリミティブシェーディングやメッシュシェーディングを活用しましたか?

Oleksandr Koshlo: コンソール版ではメッシュシェーディングを使用しています。世界のジオメトリの高密度には、2つの要素が寄与しています。1つは、Avatarに新たに導入されたGPUジオメトリパイプラインであり、手続き的な配置パイプラインをサポートしています。これにより、多くのジオメトリインスタンスが生成され、GPUを使用して表示されるもののみをレンダリングします。そして、ジオメトリを「メッシュレット」と呼ばれる部分に分割し、プリミティブシェーディングやメッシュシェーディングなどのネイティブハードウェア機能を使用して画面にレンダリングします。画面に表示されていないメッシュは、追加のカリング処理を使用して破棄します。これらの要素は、ジオメトリのレンダリングパフォーマンスを向上させます。

Digital Foundry: PC版ではメッシュシェーディングのパスがありますか?

Oleksandr Koshlo: いいえ、PCではそれをやめることにしました。新しい技術であり、PC上で利用可能なさまざまなGPUとハードウェアをサポートするのには一定の難しさがあります。ですので、今のところは、最初にコンソールで完全にサポートするシンプルな経路を選択しました。

Nikolay Stefanov: ただし、すべてのPCでは、カリングなどのためにGPU駆動のパイプラインを使用しています。メッシュレットのパスのみが欠けているだけです。

Digital Foundry: そのGPU駆動のパイプラインについて、具体的にはどのように動作するのでしょうか。AC UnityのSeb Aaltonenのプレゼンテーションで初めて読んだ記憶がありますが、具体的にはどんな感じですか?

Nikolay Stefanov: おっしゃる通り、世界のディテールの密度は、特に映画で主役のPandoraが注目される要素です。特定のバイオームがどのように見えるかを定義するために、配置の方法を開発しました。水の近くにいるときにはどのような種類の特定の植物が生息しているか、この種類の木があるときにはどのような他の植物が周囲にあるかなど、規則ベースのシステムがあります。これらはほぼリアルタイムで動作するため、ルールを変更すると、世界が数秒で再生されます。

これには2つの課題がありました。1つは、前のタイトルと比べてほぼ10倍の細かい詳細があることです。そしてもう1つの課題は、開発したビスタシステムでこの詳細を遠くまで表示する必要があることです。それで、私たちがこのような詳細を扱う唯一の方法は、GPUベースのパイプラインに移行することでした – そしてGPUパイプラインには非常に複雑なものはありません。

基本的に、それらはアセットごとではなく、128×128メートルのセクターという大きなジオメトリの塊ごとに動作します。GPUパイプラインは、まずセクター全体を通過し、セクターインスタンスをカル(除外)するための特定のパスを通ります。その後、メッシュの特定のパーツのメッシュレットを含むインスタンスの個別のカル処理を行います。

その後、GPUが頂点シェーディングのために行う処理のリストを作成します – これは非常に複雑な頂点シェーディングです。私たちの技術アーティストが頂点シェーダで行っていることには驚くでしょう。これらをGバッファにレンダリングしてライティングなどを行います。ただし、頂点シェーディングが与える柔軟性を保持することは重要です。なぜなら、ゲーム内で見ることができるすべてのインタラクティブプラントに使用されるからです:回転するもの、曲げるもの、黄色い植物が動く方法など。

Digital Foundry:そうですね、あれらの変な円錐形の植物、あなたが触れるとくしゃくしゃになる植物ですね。

Nikolay Stefanov:実際、これはすべて頂点シェーダで行われています。そして、もしすべてのものに対してこれを実行するだけなら、パフォーマンスが低下します。だからこそ、これにはメシェットサポートが重要です。それが私たちのカリングがどのように機能するかの大まかなイメージです。

Oleksandr Koshlo:具体的に言って、GPUインスタンスカリングパイプラインについては、アセット側には区別はありません。そのアセットが手動配置され、別のシステムを経て手動配置されるのか、プロシージャルに配置されてGPUカリングされるのかをアセット自体は認識していません。その点ではすべて透明です。

Nikolay Stefanov:このプロジェクトで行ったもう一つの取り組みはビスタシステムです。基本的には、いくつかのステージがあります。近くにあるものは適度な距離で完全な詳細のジオメトリですが、それらは最終的にメモリからロードされます。その後、セカンドディスタンスステージではインポスターリプリゼンテーションに切り替わります。これも、GPUによるセクタ全体の処理です。インポスターは通常のインポスターであり、ノーマルマップもサポートしています。それより遠くに移動すると、サードステージが現れます。インポスターさえもアンロードされ、巨大なもの、アーチ、浮遊する島などの表現になります。同様に、カリング、レンダリングなど、すべてはGPUで行われます。

Digital Foundry:あなたの説明に基づいてPC上でメッシュシェーディングなしで実行されることに本当に驚いているので、少なくとも最適化がかなりされているのでしょうか。

Oleksandr Koshlo:正直に言うと、メッシュシェーディングを非メッシュシェーディングよりも高速化するのは、私にとってかなりのチャレンジでした。かなりの時間をかけて取り組んできましたが、バニララスタライゼーションは実際に非常に高速でうまく機能しています。

Digital Foundry:アセットのルールベースの配置について話しましたが、地形は実際にどのように生成されていますか?

Nikolay Stefanov:このプロジェクトに限らず、高品質なオープンワールドならではの重要なポイントは、手作業で配置されたコンテンツとコンピュータによって配置されること、浸食が人間よりもずっと速く行えるコンピュータによって行われる詳細のバランスを取ることだと思います。

私たちにとって、世界が実現する方法は、レベルテンプレートというものを使用することです。たとえば、ゲーム内のホームツリーを取り上げましょう。これは特定のレベルテンプレートで、内部に多くの手作業による詳細がありますが、周囲の地形もアーティストによって手作業で行われます。Snowdropのレベルエディタを使用すると、そのレベルテンプレートを取り出して世界中で移動させることができます。つまり、手作りの地形はレベルの基礎となる大きな地形と組み合わされます。

一般的な方法は次のようになります。基盤プレートを作成します。プロシージャルシステムを使用して作成されますが、プレイヤーをガイドするために手作業で作成されます。浸食のためのシステムやバウンスプラントの広がり方に関するシステムもあります… そしてそれに上乗せして、レベルテンプレートを配置します。そのうちのいくつかは手作業で正確な位置に配置され、地形とブレンドされ、すべてが適用されます。また、プロシージャルに配置される特定のレベルテンプレートもあります。また、岩の形成を何千回も手作業で配置することは望ましくなく、デザイナーの生活を簡略化するためにレベル中にばらまかれます。

現世代のコンソールでのアバタースケールの見た目です。興味深いのは、Series Sでも見た目は良く、ただし解像度と機能の制限付きの30fpsに限定されていることです。

Digital Foundry:地図を見たとき、「あれ、ワールドの四分の一も進んでいない」と思いましたが、実際には世界が思ったよりも大きかったので少し驚きました。

Nikolay Stefanov: 私たちは3つの異なる地域を持っています。まだ最初のバイオームにいると思います。それぞれはThe Division 2のマップのサイズよりも少し大きいです。

Digital Foundry:特にPCで気付いたのは、実は何年もそのことについて話してきたことです。話さなければいけないこと自体が悲しいですが、PSOコンパイルについて教えてください。PCプラットフォームでのゲームの扱いについて、他の多くのPCリリースで見られるようなスタッタリングが起こらないのは興味があります。

Nikolay Stefanov:基本的にはPSOは事前にビルドされています… PCでは、おそらく3GB程度のPSOが出荷されています。少し狂っています。

Oleksandr Koshlo:非常に多様性があります。オブジェクトの読み込みも異なる方法で処理しています。ここですべてのカードを表示してもいいのか分かりません(笑)。

Oleksandr Koshlo:デザイナーはゲームでスタッターを経験するべきではありません。PSOのコンパイルが必要な場合は、オブジェクトが後でストリーミングされます。コンパイルステップをオブジェクトの読み込みの一部として扱います。技術的には、PSOがスタッターを引き起こす可能性があるコード上のバグがあるかもしれませんが、それに対しては注意を払っています。それは内部で報告され、私たちが対処します。しかし、それは通常ではありません。非常に非常に真剣に取り組んでいます。

Digital Foundry:設定ファイルを見ていて気付いたのは、VRS(可変レートシェーディング)がリストされていることです。実際にゲームはこれをサポートしていますか?

Oleksandr Koshlo:はい、サポートしています。設定を確認する必要がありますが、サポートはあります。

Digital Foundry:Xbox Seriesのコンソールでは使用されていますか?

Nikolay Stefanov:使用されていないと思います。

Oleksandr Koshlo:現時点では、シリーズのコンソールでは使用していません。

Digital Foundry:プロジェクトの中で特に自信を持っている部分はありますか?

Nikolay Stefanov:私たちが特に自信を持っているのは、音声の実装です。これは私たち全員が誇りに思っているものです。音響伝播のためにレイトレーシングを使用しています。[音]エミッターが隠されているか、音が反射している場合、これはすべて私たちのレイトレーシングワールドを通じてシミュレートされます。今年のGDCでそれについて話す機会を得られることを願っています。本当にクールなシステムです。

もう1つのクレイジーなことは、地面に見えるすべての個々の植物に実際に少しの「トリガーボリューム」があるということです。ですので、プレイヤーキャラクターまたは地上の動物がそれを通過すると、局所的な音のエミッターになります。つまり、何かがガサガサと音がすると、その場所に実際に植物を通過している動物がいるということです。ただのループしている環境音ではありません。良いヘッドフォンを持っている場合は、本当に楽しめます。

もう1つ自信を持っているのは、PCのベンチマークです。非常に詳細なグラフがあり、興味があると思います。私たちのゲームにはプロファイリングタグがあり、GPUでのレイトレーシングパスにかかる時間、Gバッファパスにかかる時間、ポストプロセッシングパスにかかる時間などを教えてくれます。また、ベンチマークの自動化もサポートしていますので、コマンドラインから起動してこれらの詳細をCSVファイルで表示できます。ベンチマークはCPU使用率も解析します。エージェントの処理や衝突検出などにかかる時間などを教えてくれます。統計やグラフをお望みなら、このベンチマークがおすすめです。

オレクサンドル・コシュロ: 一般的に、すべてがうまくまとまっていることに誇りを感じています。そして、60fpsでコンソールに詰め込むことができたことにも誇りを感じています。私たちの長い間の哲学は、何か「ホットな要素」に頼らないことです。私たちはここでレイトレーシングを行っていますが、私たちにとって視覚的な品質を大幅に向上させるもの、適切なパフォーマンスを持つものに限定しています。私たちはコストパフォーマンスの高いものに重点を置いています。困難なことだけでなく、基本的なことに取り組んでそれをうまくやり遂げるよう努めています。私たちはそれを再度やり遂げたと思います。そして、結果が気に入っていただけると願っています。

ニコライ・ステファノフ: アレックスに質問があるんだけど、モーションブラーを見たことはある?

デジタル・ファウンドリー: [笑] はい。モーションブラーは見ましたよ。トレーラーと比べてずっと良くなっています。[皆笑う]

デジタル・ファウンドリー: ちょっとフィードバックですが、モーションブラーのオン/オフだけでなく、効果の強さを調整するためのスライダーを実装してもらえると嬉しいです。特に映画のような演出を追求しているこのゲームでは、よりスムーズな表現を好む人もいるかもしれません。ハイフレームレートではモーションブラーが減少することもありますからね。

ニコライ・ステファノフ: いいアイデアだと思います。デシネターズと相談して、後で実装できるかどうか見てみましょう。モーションブラーを楽しむ人もいますからね。面白いことに、モーションブラーについて話しているあなたを見た瞬間、クリエイティブディレクターのマグナス・ヤンセンが私たちのもとに来ましたよ。

このインタビューのこのセクションでのモーションブラーの議論は、上記の「Avatar: Frontiers of Pandora」のトレーラーへのアレックスの最初の反応に言及しています。

デジタル・ファウンドリー: ベンチマークの一環として、ユーザーに公開されているCPU使用量のデータを記録しているとおっしゃいましたね。マルチコアCPUとマルチスレッドをうまく活用している方法について詳しく説明していただけますか?PCゲームではまだ大きな課題ですからね。

ニコライ・ステファノフ: 確かに、もう少し詳しく説明できます。SnowdropとAvatarでは、タスクグラフと呼ばれるものを使用しています。従来のシングルゲームプレイスレッドではなく、依存関係を持つ個々のタスクに作業を分割し、マルチコアCPUをより効率的に使用することができます。実際、多くのコアを持っていないとゲームはうまく動作しません。

やり方は、オペレーティングシステムのために1つのコアを残して、残りのコアでいくつかのタスクを実行します。負荷に応じてタスクを実行するのです。Snowdropの良いところは、このようなことを実行できる柔軟性を持っていることです。NPCたちが並列で更新できるようにしたり、UIが並列で更新できるようにしたり、物理演算も並列で更新できるようにしたりするために、依存関係の分割に多くの時間を費やしています。ですから、良いCPUの最適化が見られるはずです。

デジタル・ファウンドリー: 私はすぐにそれに気づきました。もう少し簡単に言うと、FSR 3フレーム生成をサポートしているんですね。そして、将来的にはXeSSもサポートする予定ですね。DLSS 3フレーム生成については考えていますか?

ニコライ・ステファノフ: DLSS 3フレーム生成について具体的な計画はありませんが…私たちはNvidiaと密接に連携していますので、将来的に関連する情報をもっと聞くことができるかもしれません。

デジタル・ファウンドリー: 世界には壊せる植物もありますね。どのようにして実現しているのでしょう?

ニコライ・ステファノフ: それは「The Division」で使用したシステムの延長です。ほとんどのオブジェクトはどこかの形で破壊をサポートしていますが、最も基本的な破壊の形態はシェーダーの破壊バージョンに切り替えることです。例えば、汚染のある地域に近づくと破壊された植物などが見えますが、拠点を制圧すれば大自然が浄化され、オリジナルの植物の姿に戻ります。

特定の大きな植物は、「メッシュカット」というものをサポートしていますが、おそらくほとんどは「事前に切り分けられた」ものでしょう。ここではMayaや3DS MaxなどのDCC(デジタルコンテンツ作成アプリケーション)で、どのように切断するかを定義します。そして、ヒットを検出すると、その特定の植物のインスタンスをGPU駆動のパイプラインから取得し、より伝統的なCPU駆動のオブジェクトに変換して分割し破壊します。そして、それから出てくる破片に対して物理シミュレーションを行います。これをあまりにも頻繁に行うと、フレームレートが低下するかもしれません。

デジタルファウンドリー:音響システムとそれに関するレイトレーシングについて、それはCPU上で行われるのですか?それともGPU上でハードウェアで行われるのですか?

ニコライ・ステファノフ:それは、ハードウェアで利用可能なGPUで行われます。レイ トレーシングの世界とクエリは、システムの他の部分とまったく同じです。

デジタルファウンドリー:音は非常に現実的に伝播しているように思えます。非常に素晴らしいです。

ニコライ・ステファノフ:そうですね、まったくその通りです。私がいつも技術ディレクターとして2つの考えで揺れ動いていることの1つです。技術ディレクターとして、特定のシステムの野心に制限をかけたいと思いますが、今回はオーディオチームにおいて、彼ら自身の野心の再ゲームトピックになりました。彼らは非常に多くのことをしています。風の音が特定のジオメトリを通ってさえ聞こえるように、手続き型のシードを配置する瞬間さえあるのです。それによって、違ったアセットに基づいて風の音がどこから聞こえるかを特定し、嵐が来たときには固有の要素があり、3Dポジショニングされた音が伝播します。

デジタルファウンドリー:地面自体の地形はかなりテッセレーションされていますね。どのようにして行われていますか?

オレクサンドル・コシロ:それはCPU上で事前にテッセレーションされます。必要な場所により詳細なグリッドを送信するだけです。

ニコライ・ステファノフ:地形に関しては、今回はそれほど技術に投資していません。なぜなら、多くの場合、完全に何かで覆われているからです!

デジタルファウンドリー:そうですね、通常は何かで覆われていますね!The Divisionの魅力の1つは、ライティング自体とパーティクルライティングのボリューメトリックレンダリングでした。Avatarではこういったことは変わりましたか?

オレクサンドル・コシロ:はい。ボリューメトリックに関しては、The Divisionのゲームではプレイヤーの周りと前方にボリュームがありました。しかし、これから先でボリュームと光線のマーチングも行い、より大きな距離をサポートすることができます。それがなければ完全に崩壊します。また、ボリューメトリックな雲も持っています。私たちは霧や雲を一様にレイマーチングします。雲も接近するボリュームの一部になることがあります。なぜなら、飛行するマウントで実際にその中に飛び込むことができるからです。この方法は統一されたシステムです。

ニコライ・ステファノフ:サシャが言うように、実際に雲の上を飛ぶことができるんです。地上では雷雨があるかもしれませんが、ボリューメトリックレイマーチングされたクラウドの中をバンシーで飛びながら、実際にその上に出ることもできます。とてもクールですね。

パーティクルに関しては、レイトレーシングからライティングを受け取り、GPUパーティクルの完全なサポートも実現しました。The Divisionシリーズでは、雪や雨にGPUパーティクルを使用していましたが、今回はSnowdropのノードグラフと完全に統合されました。ほとんどのパーティクル効果は、GPUを介して衝突検出やライティングを含めて処理されます。これが私たちが行った大きな変更の1つです。したがって、見える細かいものはすべてGPUパーティクルです。

デジタルファウンドリー:非常に多くの情報を消化するのは大変ですね。サシャ、ニコライ、ありがとうございました。お時間をいただき感謝します。これからもお二人とまた話すことができればと思います。あなたがたが行ったすべてのことについてのGDCプレゼンテーションがあるとうれしいですね!