その期間中、 Unreal のアドレスの状態 GDC 2023 で、Epic は Unreal Engine 5.2 の幅広い機能スイートを発表しました。 でもおそらく一番多いのは 更新されたエンジンに含まれる重要な機能は、ライティング、ジオメトリの詳細、レイには関係ありません 追跡中。 すべてはパフォーマンスに関するものです。
コンテンツ
- 吃音を思い出してください
- すべてはフォートナイトのために
- まだまだ楽しみなことがたくさんあります
おすすめ動画
アンリアル エンジン ここ数年、ゲームは、良くも悪くもカクつきやカクつきを伴うものと関連付けられてきました。 新しいリリースで、Epic はついにこの問題に正面から取り組んでいます。そのため、Unreal ゲームがなぜこれほど問題を抱えているのかを解明する時期が来たと思いました。 一般に、スタッター、問題を解決するために Epic が行っていること、およびそれらの取り組みが新しいリリースにいつ反映されることが期待されるかを示します。
吃音を思い出してください
ここ数年、アンリアル エンジンは吃音の代名詞となっています。 私たちはそれを何度も何度も見てきました。 スター・ウォーズ ジェダイ:フォールン・オーダー に 迷っている に ゴッサムナイツ、 そしてそれらはすべて共通して同じ問題を抱えています。 コンパイルの吃音です。
シェーダーのコンパイルが途切れるという話はよく耳にしますが、最近の遅延の原因は個々のシェーダーによるものではありません。 最近のグラフィックでは Vulkan のような API DirectX 12 では、パイプライン ステート オブジェクト (PSO) として知られるパッケージを利用して、GPU の状態をゲームに伝えます。 PSO はレンダリングをより効率的にすることを目的としており、シェーダーを含む数十のパラメーターを 1 つのパッケージで API と GPU の間でやり取りできるようにします。
ただし、別の問題が発生します。 PSO には非常に多くの情報が含まれているため、その場で新しい PSO を生成するには長い時間がかかります (
Unreal のドキュメントへ、100 ミリ秒以上)。 このランタイム PSO の作成がスタッターの原因となり、実際のプレイ中にエンジンが新しい PSO を生成する必要があります。これに対処するために、Unreal Engine では PSO キャッシュが利用可能です。 これにより、PSO の可能性のあるキャッシュが作成されるため、ゲームのプレイ中に新しい PSO を生成する必要がなくなりますが、完璧ではありません。 Epic が説明しているように、PSO の事前キャッシュは「大規模なプロジェクトにとっては負担が大きく、依然としてキャッシュにギャップが残り、問題が発生する可能性があります」。 そのため、GPU 上でシェーダーをプリコンパイルするゲームでも、(たとえその数が非常に少ない場合でも) 時々途切れが発生することがあります。 間)。
Epic は、考えられるすべての GPU パラメーターの考慮を開発者に任せるのではなく、PSO を収集することでこのプロセスを自動化しようとしています。 オンです Epic の公開ロードマップ, ただし、現在は実験版のみが利用可能です。 Unreal Engine 5.2 の目標は、PSO キャッシュを改善して遅延をさらに減らすことです。
すべてはフォートナイトのために
アンリアル エンジン 5 には楽しみなことがたくさんあります (その一部については次に説明します) が、エンジンがどのように機能するかについてはまだ明確な見通しがありません。 これまでのところ、技術デモでのみ使用されており、 フォートナイト メジャーリリースの中では。 みたいなゲームでも レッドフォール アンリアル エンジン 5 を活用すると約束していた企業は、アンリアル エンジン 4 に後退しました。
明確にしておきますが、Unreal Engine 4 で利用可能なツールを使用すると、開発者はゲームを最適化して途切れを回避できます。 アトミックハートはその多くの例のうちの 1 つです。 しかし、PSO の状態が複雑なため、ゲームプレイ中に問題が発生する可能性があり、Epic の自動 PSO 収集は Unreal Engine 5.1 でのみ導入されました。
Epic がこの問題に直接取り組んでいることを嬉しく思いますが、自動 PSO キャッシュが実行されているのをまだ見ていません。 小規模なチームからより複雑で多様なリリースが生まれるにつれて、PSO 生成の需要が高まり、遅延や途切れが発生する可能性が高くなります。
これは、次のようなゲームでは特に懸念されます。 レイトレーシング、Unreal Engine 5 は PSO キャッシュをサポートしていないため、 レイトレーシング PSO。 として エヌビディアが説明する、レイ トレーシング PSO の作成作業を複数のスレッドに分散することは可能ですが、それは必ずしも開発者がこのプロセスを使用することを意味するわけではありません。
まだまだ楽しみなことがたくさんあります
自動化された PSO が Unreal Engine 5 に集まるのをまだ確認する必要がありますが、実際にはこのエンジンには期待できることがたくさんあります。 まずはルーメン。 ライティングはグラフィックの忠実度にとって非常に重要であり、パストレースされたライティングのような高価な技術は、 ポータル RTXハードウェアに厳しいです。 ルーメンが違いを分けます。
Lumen はレイ トレーシングを活用していますが、これは高度に最適化された形式です。
結果はすでに明らかです。 フォートナイト Lumen を備えたコンソール上で 60 フレーム/秒 (fps) で実行されており、PC 上では、たとえ フォートナイト』の漫画の世界。
Nanite は Lumen と連携して動作します。 これは、ゲームプレイ中に調整できる、非常に詳細で高圧縮されたメッシュを含む仮想化ジオメトリ システムです。 これは基本的に、カメラが見ている場所に応じて、詳細なメッシュと曖昧なメッシュを自動的に切り替えるメッシュの複雑な詳細レベル (LOD) です。
さらに重要なのは、Nanite は独自のレンダリング パスで実行されるため、従来の GPU パイプラインに巻き込まれないことです。 つまり、Nanite がメッシュの複雑さを交換している場合でも、ゲームプレイはスムーズに保たれます。 Nanite と Lumen の間には、グラフィックの忠実度の水準を高める、視覚的に印象的で計算効率の高い 2 つの機能があります。
ただし、Epic は State of Unreal での講演中にさらに多くの情報を共有しました。 Substrate は、より詳細なシェーダー制御を含む Unreal 5.2 の新しいマテリアル システムです。 Epic は、オパールの表面マテリアルを使用してこれをデモし、複数のレイヤーとそれら全体にわたる正確な光の屈折を紹介しました。
新しい Procedural Content Generation Framework (PCG) も、たとえ視覚的な忠実性に直接関係しないとしても、興味深いものです。 PCG は限られた入力で新しいオブジェクトを生成し、開発者が高レベルの詳細を備えた世界を迅速に構築できるようにします。 あらゆる隅々にアーティストのタッチを必要としない、より広大な世界にとって、これはエキサイティングです。
MetaHuman の進歩から Unreal Engine 内の完全なパス トレースまで、他にもたくさんの機能があります。 それは興味深いことですが、Unreal Engine のリリースによく関係する吃音の問題はまだ残っています。 PSO キャッシュにおける Epic の進歩によってこの問題が回避されることを願っていますが、そのシステムがどのように動作するかを確認できる Unreal Engine 5 ゲームはまだ多くありません。
この記事はの一部です リスペック – PC ゲームの背後にある技術に関するディスカッション、アドバイス、詳細なレポートを含む、継続的な隔週コラム。
編集者のおすすめ
- Mac シリーズとして Halo の忘れ去られた遺産を追体験しようとしましたが、それは大失敗でした
- 独占的な PC パートナーシップでは、誰もが損をします
- 史上最悪の PC ポート — そしてなぜそれほど悪かったのか
- 生成 AI が「より広く、より大きく、より深い世界」を備えたゲームをどのように作成するか
- Star Wars Jedi: Survivor は Steam 上で「完全にクソ」PC 移植としてレビュー爆撃を受けている