Unreal 5 で Lumen が提供する機能とその仕組み

Unreal Engine 5 の Lumen は、完全に動的なグローバル イルミネーションおよび反射システムです。Unreal Engine 5 で動作するため、クリエイターが自分でセットアップする必要はありません。次世代コンソールやアーキテクチャの視覚化などのハイエンドの視覚化向けに設計されています。では、どのような機能が提供され、どのように機能するのでしょうか?

グローバルイルミネーション

光が光源から出ると、光が届くすべての表面が照らされます。これはコンピュータグラフィックスでは直接照明と呼ばれます。現実の世界では、光はそこにとどまらず、表面で反射し、対応する色を帯び、他の表面を照らします。粗い表面からあらゆる方向に反射する光は、拡散間接照明またはグローバル照明と呼ばれます。滑らかな表面から正反射される光を反射といいます。最終的に、光は目またはカメラに到達し、画像を形成します。

以前は、ゲームのグローバル イルミネーションは、リアルタイムで計算するには計算量が多すぎるため、オフラインで計算する必要がありました。このオフライン プロセスはライトマップ ベイクと呼ばれます。Unreal Engine では、ライトマップはCPU ライトマスまたはGPU ライトマス のいずれかを使用してベイクされます静的ライトマップは高品質のライティングを提供しますが、ビルド時間が長くなります。ゲーム環境が制限されます。間接照明を変更すると (壁掛けテレビを移動するなど)、次の 2 つの画像に示すように、照明が正しくなくなる可能性があります。

 

ダイナミックなシーンを含むゲームは従来、放射照度プローブベースのライティングやアンビエント オクルージョンなどの技術に依存して、グローバル イルミネーションを近似してきました。高品質のリアルタイムのグローバル イルミネーションを実現することは、常に困難でした。

Lumen は、シーンの周囲の光の反射をリアルタイムでシミュレートし、間接照明を自動的に更新することでゲームの世界を変化させます。これは、プレイヤーがレベルの一部を破壊したり、時刻を変更したり、レベルの一部を浸水させたりすることができ、それに応じて照明が実際に変化することを意味します。照明の再構築が必要です」というメッセージはもう必要ありません。ゲーム開発者は、Unreal Editor で変更を加えるときにライティングを再構築する必要がなくなりました。Lumen はそれをリアルタイムで処理できます。

Lumen は、色のにじみや間接的な影などの効果を含む、高品質のリアルタイムのグローバル イルミネーションを提供します。Lumen は無制限の拡散光反射をサポートします。これは、以下のシーンの白い痛みのような明るい表面を持つシーンにとって重要です。

Lumen は、グローバル イルミネーションの問題だけでなく、空の影の問題も解決できます。空の影により、屋内環境が屋外環境よりも暗く見えます。 

 

また、ルーメンは、追加のパフォーマンスコストをかけずに、ランプや窓などの発光素材からの光を正確に拡散させることもできます。ただし、ノイズアーティファクトが現れる前に、放射領域のサイズと明るさは制限されます。発光材料からの光の伝播は、手動で配置された光源からの伝播よりも本質的に困難です。

 

Lumen は、半透明マテリアルやボリューム フォグのグローバル イルミネーションを解決することもできますが、品質は低くなります。以下の例では、発光ロゴ メッシュがボリューム フォグを動的に照らします。

反射

Lumen は、あらゆる粗さレベルの表面の反射率を動的に計算できます。これにより、反射キャプチャ、平面反射、スクリーン スペース反射などの事前計算された反射技術が必要なくなります。

Lumen は、カメラから直接見える動的なグローバル イルミネーションに対処するだけでは十分ではありません。Lumen は、動的な GI や反射で見られる影付きの天窓も提供します。これにより、よりリアルで正確な反射が可能になります。

 

 

ルーメン反射は、車の塗装などのコーティングされたマテリアルを正確にシミュレートできます。外側のコートには鏡面反射があり、内側のレイヤーにはより滑らかな反射もあります。これにより、コーティングされたマテリアルからの反射がよりリアルになります。

 

ルーメンでのレイ トレーシング

Lumen はレイ トレーシングを使用して照明効果を計算します。シーンの近似バージョンを使用して、より高速な光線交差を実現します。Lumen シーン ビュー モードに切り替えると、シーンを表示できます。このビューは、Lumen が光線をトレースしてグローバル イルミネーションと反射を計算するときに、シーンが Lumen にどのように表示されるかを示します。

 

デフォルトでは、Lumen はソフトウェア レイ トレーシング技術であるメッシュ ディスタンス フィールドを使用します。これは、ハードウェア レイ トレーシングをサポートするグラフィック カードを必要としないためです。距離フィールドは、光線が素早く交差できるようにメッシュ サーフェスを表します。

 

 

Lumen のソフトウェア レイ トレーシングでもグローバル距離フィールドを使用し、すべてのメッシュを 1 つの距離フィールドにマージします。これにより、多くの重なり合うメッシュがある場合でも、非常に高速なレイ交差が実現します。これは、非常に詳細な Megascans アセットを操作する場合によくある状況です。Epic は、Land of Nanite と Vale of the Ancients の技術デモでグローバル ディスタンス フィールドのみを使用して Lumen をデモしました。これらのシーンでは大量のメッシュが重複しているためです。

サーフェス キャッシュ ビュー

光が表面に当たると、Lumen は素材と入射光を評価する必要がありますが、これはコストがかかり非効率的です。複数の光線が同じ点に当たる可能性があり、マテリアルには多くのテクスチャ ルックアップがある場合があります。これを最適化するために、Lumen はデフォルトで有効になっているサーフェス キャッシュにサーフェス情報をキャッシュします

サーフェス キャッシュは、すべてのサーフェスがカバーされるように各メッシュにスナップする方向を選択することによって設定されます。プレーヤーが移動すると、Lumen は近くのメッシュをサーフェス キャッシュ アトラスに再キャプチャします。ナノジオメトリはこれらのレンダリングの高速化に役立ちますが、Lumen では必要ありません。次に、マルチ バウンス グローバル イルミネーションとスカイ ライティングを含むサーフェスが照明され、反射で見られます。サーフェス キャッシュ ライティングにより、グローバル イルミネーションやリフレクションなどの機能を高速化できます。

Surface Cache は Lumen の重要な最適化ですが、コンテンツにも影響を与えます。単純な外観を持つメッシュのみがサポートされています。壁、床、天井は別個のメッシュである必要があります。家具のある部屋全体を単一のメッシュとしてインポートすることは、Lumen ではうまく機能しないと考えられます。ルーメンには、表面情報を効率的にキャッシュするために別のメッシュが必要です。

 

Surface Cache View のピンクの領域には、グローバル イルミネーションが適用されていません。そこではルーメン スクリーン トレースのみがアクティブになるため、反射で黒く見え、ビューに依存する照明エラーが発生します。

 

ファイナルギャザリングとノイズ除去

レイ トレーシングは要求の厳しい操作であるため、多くのレイをトレースすることはできません。同時に、画面上のすべてのピクセルには、すべての表面からの光を考慮したグローバル イルミネーションが必要です。全方向の光線を追跡することはできないため、ごく一部を追跡する必要があります。重要な光線方向を見逃すとノイズとして現れるため、どの方向をトレースし、トレースを可能な限り再利用するかを戦略的に検討する必要があります。

Lumen は、ラジオシティ キャッシュに基づく高度なファイナル ギャザー アルゴリズムを使用して、拡散グローバル イルミネーションを実現します。Lumen のファイナル ギャザーは、スクリーン スペース放射キャッシュを使用して、メイン スクリーンのグローバル イルミネーションの計算を大幅に削減します。ダウンスケールされた間接照明は、フル解像度のマテリアル データと統合され、フル解像度のシェーディングを作成します。

入射光は放射キャッシュ内でフィルタリングされ、ノイズが大幅に低減され、隣接するピクセル間の少数の光線追跡が再利用されます。これは通常のスクリーン スペース デノイザーとは異なります。ダウンサンプリングされた放射輝度バッファ スペースで引き続き作業するため、はるかに効率的です。

 

ルーメンは、追跡される光線の方向を慎重に決定します。前のフレームで明るい照明があった方向をチェックします。これは、入射照明の重要度サンプリングと呼ばれる手法です。前のフレームの照明を使用して現在のフレームでのレイトレース位置をガイドするため、より高速に実行しながら 4 本のレイをトレースするのと同じ品質が得られます。以下のシーンでは、重要度サンプリングを使用して白い光線が選択されています。

 

最後に、Lumen は近くの照明を遠くの照明から分離し、ワールド スペース ラジアンス キャッシングと呼ばれる技術を通じて、遠くの照明のためにより多くの光線をトレースしてノイズを削減します。これは、小さな窓から入る天窓のみで室内を照明する場合に特に価値があり、室内環境のルーメン品質にとって重要です。

 

粗い表面の反射の場合、Lumen は追加コストなしで画面空間の放射キャッシュを再利用します。これにより、Lumen は、コストが 2 倍になる 2 つの別々の計算を実行することなく、車の塗装などの光沢のあるコーティング マテリアルに反射の 2 番目のレイヤーを提供できるようになります。

これらのサンプリングおよびノイズ低減技術はすべて、Lumen の高品質と効率にとって重要です。Lumen は直接照明用に作成されたものではありませんが、ファイナル ギャザーの忠実度により、エミッシブ ジオメトリを使用してシーンを完全に照明できる場合があります。「マトリックス: 覚醒: アンリアル エンジン 5 エクスペリエンス」では、実験的なナイト モードでは、ルーメンのグローバル イルミネーションと反射のみを利用して、何百万もの放射窓のグリッドから光を広げます。アーティストは光源を追加しませんでした。

 

パフォーマンスと品質

Lumen は主に、Unreal Engine 5 の時間的超解像度アルゴリズムに依存して時間的アップサンプリングを行い、4K 出力を実現します。これにより、大幅に低い品質設定で 4K で Lumen をネイティブに実行する場合と比較して、最高の最終画像品質が得られます。

次世代コンソールでは、エンジンがスケーラブルなレベルのグローバル イルミネーションと反射を使用する場合、ルーメンは 60 FPS に達する可能性がありますが、これらの設定の品質にはまだ改善の必要があります。

特に、Lumen は次のことによって品質を向上させることができます。

  • ポストプロセスのボリューム設定におけるファイナル ギャザリングの品質の向上ハードウェア レイ トレーシングの活用 レイがサーフェスに当たるときに、サーフェス キャッシュの代わりにヒット ライティングを活用して高品質を実現

設定を増やすと、Lumen はハイエンドの建築視覚化のための高品質のリアルタイムのグローバル イルミネーションと反射を提供できます。

Unreal Engine 5 のルーメンについては以上です。この記事を楽しんでいただき、その機能と内部の仕組みを理解していただければ幸いです。

Unreal Engine 5 を効率的に実行したい場合は、Zanqi Cloud Workstation を試してください。

ただし、Lumen のパワーを体験したい場合は、ローカル コンピューターの計算能力要件が低くなく、UE を実際に動作させると、ソフトウェアを駆動するためのコンピューター ハードウェア構成が不十分であり、初期段階で過剰なハードウェア投資が発生する可能性があります。プロジェクトが大規模で、プロジェクトに時間がかかり、ローカル リソースが解放できないなどの場合は、Zanqi Cloud Workstationを試してみることをお勧めします。クラウドでの制作が一歩速くなります。

Zanqi Cloud Workstation は、 UNREAL ユーザーにクラウド制作および出力ソリューションを提供し、作業効率を向上させることができます。全国のユーザーは、クラウド ワークステーションを通じてサーバーに直接接続して一連の資産を共有し、クラウド ワークステーション上でプロジェクト ファイルを直接作成/変更してデータ転送コストを削減できます。

 

 

 

おすすめ

転載: blog.csdn.net/XDEMO_/article/details/132208221