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

事前計算されたライティング データを生成する GPU ベースのシステムについて学びます。

Windows
MacOS
Linux

GPU ライトマス (GPULM) は、可動性が [Stationary (固定)] または [Static (静的)] に設定されているライトからのライトの複雑な相互作用を再計算して、シーン ジオメトリに適用される生成済みのライトマップ テクスチャにそのデータを格納する、ライト ベイキング ソリューションです。テクスチャにライティングをベイクするこのシステムは、CPU ベースのライトマス グローバル イルミネーションシステムに類似していますが、ライティング データの生成とビルドに GPU を使用するため、DirectX 12 (DX12) と Microsoft の DXR フレームワークによる最新のレイ トレーシング機能を活用できます。

GPULM を使用すると、複雑なシーンのライティング データの計算、ビルド、生成の所要時間が大幅に短縮され、CPU ベースのライトマスで Swarm を使用して分散ビルドを行う場合のスピードに匹敵するパフォーマンスを実現できます。また、GPULM では、シーンの編集やライティングの再計算と再ビルドをオンザフライで行うことができるインタラクティブ性を備えた新しいワークフローが用意されています。このワークフローは、CPU ベースのライトマス システムでは実現できません。

GPU ライトマスを有効にする

プロジェクトで GPU ライトマスを有効にする手順は以下のとおりです。

  1. [Editor (エディタ)] > [Plugins (プラグイン)] メニューを選択して、[Plugins (プラグイン)] タブを開きます。[Built-in (ビルトイン)] > [Editor (エディタ)] カテゴリで、[GPU Lightmass (GPU ライトマス)] を見つけて有効にします。

    GPU Lightmass plugin in the Plugins tab

  2. [Editor] > [Project Settings (プロジェクト設定)] メニューを選択して、[Project Settings] ウィンドウを開きます。

    1. [Engine] > [Rendering (レンダリング)] カテゴリで、以下を有効にします。

      1. [Ray Tracing (レイ トレーシング)] > [Ray Tracing]

      2. [Virtual Textures (仮想テクスチャ)] > [Enable Virtual Texture Support (仮想テクスチャのサポートを有効化)]

      3. [Virtual Textures] > [Enable Virtual Texture Lightmaps (仮想テクスチャ ライトマップを有効化)]

    2. [Platforms (プラットフォーム)] > [Windows] カテゴリで、以下を設定します。

      1. [Targeted RHIs (ターゲットの RHI)] > [Default RHI (デフォルトの RHI)]:DirectX 12

  3. これらの変更を反映するためにエディタを 再起動 します。

GPU ライトマスを設定するための追加要件

プロジェクトで GPU ライトマスを最適に機能させるための追加の推奨事項を以下に示します。

GPU のタイムアウト検出と復旧のクラッシュの軽減

GPU に重い負荷がかかることがある複雑なシーンがある場合に、タイムアウト遅延 (TDR) が発生し、その後に Windows 10 でクラッシュが発生することがあります。このようなクラッシュは、Unreal Engine だけでなくその GPU を使用しているマシン上のあらゆるものに影響を及ぼします。その際に、次のようなメッセージが表示されます。

GPU driver crash error message

GPU がタイムアウトするまでの時間を長くして、Unreal Engine を終了することなく復旧できる可能性がある時間を確保することで、このようなクラッシュの発生を回避または軽減できることがあります。

Windows 10 でのタイムアウト検出と復旧 (TDR) を調整する方法の詳細については、「ムービー レンダー キューのシステム コンフィギュレーションの設定手順」を参照してください。

リアルタイム レイ トレーシング機能を無効にする

レイ トレーシング機能には、DirectX 12 およびレイ トレーシング対応 NVIDIA GPU を備えた Windows 10 開発環境が必要です。 要件の詳細については、レイ トレーシング機能に関するドキュメントを参照してください。

GPU ライトマスでは、DirectX 12 を必要とする Microsoft の DXR API が利用されています。GPU ライトマスが動作するためにはレイ トレーシングが必要ですが、デフォルトで有効になっている追加のレイ トレーシング機能 (レイ トレースによるシャドウ、アンビエント オクルージョン、反射など) は必要ありません。そのため、以下のコンソール コマンドを使用して、それらの機能をすべて無効にしておくことをお勧めします。

r.RayTracing.ForceAllRayTracingEffects 0 

または、プロジェクトの「Config」フォルダにある「DefaultEngine.ini」コンフィギュレーション ファイルに以下の設定を追加することで、プロジェクトのロード時にすべてのレイ トレーシング機能が自動的に無効になるようにすることもできます。[/Script/Engine.RendererSettings] セクションに次の値を追加します。

[/Script/Engine.RendererSettings]
r.RayTracing.ForceAllRayTracingEffects=0

GPU メモリを設定する

GPULM では、オーバーヘッドを考慮して十分な GPU メモリを利用できる必要があります。そのことを念頭に置いて、GPULM を使用して複雑なシーンを正常にベイクするための考慮事項を以下に示します。

  • 最低の詳細度 (LOD) メッシュ (つまり、最高品質の LOD メッシュ) で、シーン全体をメモリに格納するのに十分な GPU メモリが必要です。

    GPULM では現在、ベイク時に LOD は考慮されていません。詳細については、このページの「GPU ライトマスに関する制限事項」セクションを参照してください。

  • 仮想テクスチャ システムが、ライトのビルド時に大量のメモリ使用を必要とする可能性があります。そのメモリ使用量は、シーンの複雑さやサイズに大きく左右されます。

  • 生成されるすべてのライトマップを RAM に格納するのに十分な CPU メモリが必要です。GPU はライトマップを CPU の RAM にスワップアウトすることができますが、ライトのベイク全体が完了するまでライトマップはディスクに保存されません。

  • 一般的に、DX12 では DX11 よりも多くの GPU メモリが使用されます。DX11 の制限ギリギリまで GPU メモリを使用するシーンがある場合は、レイトレーシングやバーチャル テクスチャの要件からオーバーヘッドが追加で生じるため、何らかの犠牲を払わなければ、DX12 で使用するのは困難かもしれません。

  • GPULM には、[Irradiance Cache (放射キャッシュ)] などのオプション設定に関する独自のメモリ使用量要件があります。

CPU ベースのライトマス システムでは、大規模なシーンに大量のメモリが必要であるため、ライトのベイク時に問題が生じる可能性があります。多くの場合、Swarm を使用した分散ビルドを使用することで、このような問題を軽減することができます。GPULM を使用する場合、メモリ不足に対する現時点での解決策は、ジオメトリまたはテクスチャの詳細を減らしてシーンを最適化するか、またはメモリ量の多い GPU にアップグレードすることです。

エディタ内プレビューに仮想テクスチャ ライトマップを使用する

仮想テクスチャ ライトマップによる仮想テクスチャ システムを有効にすると、ライトマップを生成して仮想テクスチャとして保存できるようになります。そうすると、ライト ビルドをレベル ビューポートでリアルタイムで更新できるようになるというメリットもあります。また、シーンのビルド中に編集できるようになるため、ビルドのキャンセルやビルド完了の待機が不要になります。

GPULM を使用する場合、ライトをビルドするだけであれば仮想テクスチャ システムを有効にする必要はありませんが、インタラクティブにリアルタイムで編集するためには有効にする必要があります。プロジェクトで仮想テクスチャを使用する予定がない場合や、インタラクティブなプレビューが不要である場合は、それらを有効にしないことで、エディタでの作業時のオーバーヘッドをある程度軽減できます。

ライティングのビルドで複数の GPU を有効にする

マルチ GPU のサポートには Windows 10 バージョン 2004 以降が必要です。

プロジェクトのライティングを計算するためのマルチ GPU は、レイ トレーシングもサポートしている NVIDIA SLI ベースの GPU を使用している場合にサポートされています。マルチ GPU サポートは、以下を行うことによって有効になります。

  • GPU が NVLink ブリッジと接続されていて、NVIDIA コントロール パネルで SLI が有効になっている必要があります。

  • [エンジンのインストール パス]/Engine/Config」フォルダにある Unreal Engine の「DefaultEngine.ini」で、[/Script/Engine.RendererSettings] セクションに「r.AllowMultiGPUInEditor=1」を追加します。

  • エディタの起動時に、コマンド ライン引数 -MaxGPUCount=[n] (n は SLI で利用できる GPU 数を表す) を渡します。例えば、-MaxGPUCount=2 であれば、マルチ GPU モードでのライティングの計算に 2 つの GPU が使用されます。

    必要に応じて、UE4Editor.exe のショートカットを作成し、[Properties (プロパティ)] 設定で、Target 行に -MaxGPUCount=[n] を追加します。 UE4Editor.exe properties settings

エディタが起動した後は、[Output Log (アウトプット ログ)] を開いて次のメッセージを検索することによって、マルチ GPU モードを使用していることを確認できます。

 LogD3D12RHI: 2 つのノードでマルチ GPU を有効にする

複数の GPU を使用している場合、パフォーマンスが向上して、平均的なビルド完了時間の短縮につながります。例えば、2 つの RTX-2080TI を使用している中規模のテスト シーンでは、ボリュメトリック ライトマップが多用されていない場合に、ビルド時間が平均で約 1.7 倍に短縮されることが分かっています。ビルド完了時間の短縮は、シーンのサイズや複雑さ、エンジンの機能でのマルチ GPU サポート、使用される GPU の数など、いくつかの要因に左右されます。

GPU ライトマスでのマルチ GPU のサポートは、単一の領域に依存する建築やバーチャル プロダクションなどの環境に最適です。大規模なゲーム サイズ レベルでは、複雑さや GPU で利用可能な VRAM の量によっては、メモリおよび仮想テクスチャの制限に直面する可能性があります。建築やバーチャル プロダクションなどの環境では、設計やセットアップが非常に複雑であれば、ゲーム サイズ レベルと同様の制限に達する可能性があります。 マルチ GPU に関する制限事項を以下に示します。

  • ボリュメトリック ライトマップ の計算はまだサポートされていません。大量のボリュメトリック ライトマップ計算を必要とするシーンでは、全体的なパフォーマンス向上が低下します。

  • 放射キャッシュは GPU ごとにローカルに生成されます。コンテンツによっては、ベイクされるタイルごとにシェーディングが多少異なることがあります。これに対処するには、[Irradiance Cache Quality (放射キャッシュ品質)] を大きくするか、または [Use Irradiance Caching (放射キャッシュを使用する)] を完全に無効にします。

  • テクスチャ エンコーディングおよびノイズ除去は CPU で実行されるので、マルチ GPU の影響を受けません。

GPU ライトマスを使用する

GPULM には、専用のパネルがあります。このパネルには、レベル エディタのツールバーで [Build (ビルド)] ドロップダウンの [GPU Lightmass (GPU ライトマス)] を選択してアクセスできます。

Toolbar Build dropdown showing GPU Lightmass option

GPULM のパネルは、他のパネルと同様に、エディタ内にドッキングできます。

GPU Lightmass panel docked

設定が終了したら、[Build Lighting (ライティングをビルド)] をクリックしてベイクを開始します。

GPU Lightmass panel build button

ビューポートのリアルタイム モードを切り替えるには [Viewport Realtime (ビューポート リアルタイム)] チェックボックスを使用します。GPU ライトマスがライティングをビルドする速度は、ビューポートのリアルタイム モードがオフである場合に大幅に速くなります。詳細については、このページの「GPU ライトマスのスピード モードの使用」セクションを参照してください。

GPU Lightmaass panel realtime viewport toggle

GPU ライトマスのベイク モード

GPULM には、ライティングをベイクするモードとして、[Full Bake (フル ベイク)][Bake What You See (BWYS) (可視部分をベイク (BWYS))] の 2 つがあります。

GPU Lightmass bake mode dropdown

  • [Full Bake] モードでは、ライティングの計算時およびビルド時に、シーン内のすべてのオブジェクトがフル ライトマップ解像度でレンダリングされます。この結果は、ビルドが完了するまで表示できません。

  • [Bake What You See] モードでは、シーン全体ではなく、ビューポート内の可視オブジェクトのライティングのみがビルドされるという、高い柔軟性が提供されます。また、ビューポートのリアルタイム モードが有効である場合、ライティングのビルド プロセス中に変更が加えられたらライティングが再計算されるというインタラクティブ性も備えています。

これらのベイク モードは両方ともビューに依存しています。つまり、いずれもビュー内のオブジェクトを優先してから、シーン内の他のオブジェクトに移動します。

Full Bake モードの場合、GPULM では以下のフローが使用されます。

  • シーン内のすべてのオブジェクトが考慮され、現在のビュー内のオブジェクトが優先されます。

  • ライティングがオブジェクトのフル ライトマップ解像度でテクスチャ空間にベイクされ、完成したライトマップ タイルが仮想テクスチャ システムに送られて、表示が更新されます。

  • すべてのオブジェクトの計算とライトマップのレンダリングが完了したら、エンコードが行われ、データが自動的に保存されます。

Bake What You See モードでは、ライティングの計算 (および再計算) 結果をリアルタイムで反映できるため、シーン内での作業をインタラクティブに、非破壊的な方法で行うことができます。これにより、ライティングがアクティブに作用しているシーンのエリアをオンザフライで調整できます。このインタラクティブ性により、ライトのビルドのワークフローは、Full Bake モードのワークフローとは次のように異なります。

  • ランタイム仮想テクスチャ システムによって、画面上での解決に必要なミップマップ レベルで可視タイルが判断されます。

  • カメラ ビュー内の各タイルの解決されたミップマップ解像度でライティングがテクスチャ空間にベイクされます。

  • BWYS モードでは、すべての画面上のタイルの処理が完了したら、シーンまたはビューポート カメラの更新が無期限に待機されます。

  • [Save (保存)] ボタンをクリックすると、最終的なライトマップのエンコードが開始されます。結果を保存する場合、完成したライティング ビルドはシーン用に生成されたものではありません。画面上に表示されているシーンの部分だけにライティング データが準備され、格納、保存されます。

  • [Save] をクリックしても、ライトのベイクは終了せず、その時点までに生成されているエンコード済みのライトマップ データが保存されるだけです。処理を停止するには、代わりに [Cancel (キャンセル)] をクリックします。

インタラクティブなベイク

Full Bake と BWYS のどちらのモードでもインタラクティブなベイクを簡単に利用できます。インタラクティブなベイクでは、現在のカメラ ビューにマッピングされている可視の仮想テクスチャ タイルが優先され、カメラが移動すると、その時点のビューに含まれているタイルが優先されるようになります。インタラクティブなベイクはどちらのライト ベイク モードでも使用されますが、特に有用なのは BWYS モードで使用する場合です。

BWYS モードを開始すると、ライティングのビルドが始まります。そのビルドが完了するのは、手動で停止した場合のみです。このモードでは、カメラ ビュー内のオブジェクトのみを考慮してライティングがビルドされます。シーン内でのカメラの移動、位置の変更、シーン内のオブジェクトの追加や削除、シーンのアクタのプロパティ変更を行うと、ライティングがリアルタイムで再計算されます。このモードではライティング結果を手動で保存する必要があるため、以前にシーンのライティングをビルドしたことがある場合に使用できる非破壊的な方法です。

GPU ライトマスのスピード モードを使用する

GPULM のメリットの 1 つは、ライトのベイク中に仮想テクスチャを活用することです。これにより、ライティングがリアルタイムでビルドされてエディタのビューポートに表示されます。また、同時にシーンを編集している場合は、徐々に処理が進み、それに応じてシーンのライティングが更新されます。リアルタイムでエディタ内プレビューを使用することの短所は、可視の結果を更新するためにシーンのフレームを再レンダリングするオーバーヘッドが付加されることです。このオーバーヘッドを無効にすると、GPU が解放されて、より効率的かつ高速に処理されます。

レベル ビューポートの [Realtime (リアルタイム)] モードの状態で、GPULM の処理の 2 つの速度が制御されます。リアルタイム モードの状態に応じて、次のようになります。

  • On (オン) であれば、リアルタイムでフレームをレンダリングするオーバーヘッドが付加されるため、「低速」モードが使用されます。

  • Off (オフ) であれば、リアルタイムでシーンをレンダリングするオーバーヘッドがなくなるため、ライティングのビルドが非常に高速になります。

レベル ビューポートのリアルタイム モードは、次のいずれかを使用して切り替えることができます。

  • ビューポートのリアルタイム モードを切り替えるための、[GPU Lightmass] パネルの [Viewport Realtime] チェックボックス。

    GPU Lightmaass panel realtime viewport toggle

  • [Realtime] モードを切り替えるための、レベル ビューポートのドロップダウン メニュー

    level viewport real time toggle

  • キーボード ショートカット Ctrl + R

ビューポートのリアルタイム トグルに加えて、GPULM には、いくつかのビルトイン パラメータを使用してライティングのビルドの速度を向上させるための設定があります。

GPU Lightmass build speed settings

  • [Realtime Workload Factor (リアルタイム ワークロード係数)] は、ビューポートで Realtime モードが On に設定されている場合にライティングのビルド速度を向上させる乗数です。この値が大きすぎると、多数のジオメトリがあるシーンでエディタが応答しなくなるおそれがあります。

  • [Non-Realtime Workload Factor (非リアルタイム ワークロード係数)] は、Realtime モードが Off に設定されている場合にライティングのビルド速度を向上させる乗数です。

これらの [Workload Factor (ワークロード係数)] オプションを使用しても、すぐにビルド速度が速くなるとは限りません。これらのオプションは慎重に使用してください。この乗数によって、GPU に送信される処理のチャンク サイズが決まります。このサイズの効果は、GPU での最終的な速度を決定する多くの要素の 1 つにすぎません。例えば、[Non-Realtime Workload Factor] の値を大きくしても、プロジェクトによっては高速ベイクが低速になることがあります。あらゆる状況でうまく機能する設定の明確な規則はありません。

GPU ライトマス設定

GPU ライトマスの設定のほとんどは専用パネル内にあります。

GPU Lightmess panel

プロパティ

説明

General (一般)

Show Progress Bars (進捗バーを表示する)

オンであれば、レンダリング中の各タイルに緑色の進捗バーが描画されます。赤色のバーは、**最初のバウンス レイのガイディング**が進行中であることを表しています。非常に明るいシーンでは、露出が低くなってバーが黒く見える場合があります。

Mode

開発ニーズに適したベイク モードを選択します。

  • Full Bake: このモードでは、シーン内のすべてのオブジェクトがフル ライトマップ解像度でレンダリングされます。

  • Bake What You See: このモードでは、仮想テクスチャ システムによって決定されたミップ レベルでビュー内のオブジェクトの仮想テクスチャ タイルのみがレンダリングされます。レンダリングされるタイルを増やすにはカメラを移動します。このモードは、 [Save] ボタンを押した場合にのみ結果を保存します。

Denoise

有効であれば、レンダリング後に CPU でノイズ除去が行われます。ライトマップ ベイクのノイズ除去を行うタイミングを、以下の選択肢から選択します。

  • None: ライトマップにノイズ除去は一切適用されません。

  • On Completion: ベイクの終了時に、ライトマップ全体にノイズ除去が適用されます。

  • During Interactive Preview: 各タイルのベイク終了時に、ノイズ除去が適用されます。シーンの一部をプレビューする場合に便利ですが、効率が低下します。

Global Illumination (グローバル イルミネーション)

GI Samples

サーフェスに対するすべてのバウンスの 1 テクセルあたりに実行されるレイ パスの総数。ノイズ除去を使用してアーティファクトのない結果となる最低値を設定する必要があります。

Stationary Light Shadow Samples

可動性が [Stationary (固定)] に設定されているライトで使用されるサンプル数。シャドウはグローバル イルミネーションとは別に計算および保存されます。

Use Irradiance Caching

グローバル イルミネーション強度の物理的な正確性を高めるために、インテリア シーンでこの設定を (ある程度のバイアスを使用して) 有効にします。有効になっていない場合、想定よりも暗い結果になることがあります。エクステリア シーンでは無効にします。

Use First Bounce Ray Guiding

[Use Irradiance Caching] が有効である場合、このオプションが有効であれば、最初のバウンド サンプルごとに半球が検索されて、最も明るい方向が見つけられ、残りのサンプルに重み付けされます。これにより、特定の光源 (窓など) があるインテリア シーンの結果が向上します。このパスの品質は、[Trial Samples (トライアル サンプル数)] 設定で制御されています。

Irradiance Caching (放射キャッシュ)

Quality

放射キャッシュ セルあたりのサンプル数。

Size

放射キャッシュの各セルのサイズ。サイズを小さくすると、速度は低下しますが正確性が向上します。

Corner Rejection

コーナー周りの放射キャッシュ エントリの拒否をより詳細に制御します。光漏れやアーティファクトの発生を減らすのに役立ちます。

Debug:Visualize

有効であれば、放射キャッシュ セルが表示されます。放射キャッシュ セルのサイズおよび品質を設定する際に便利です。非常に明るいシーンでは、露出が低くなってセルが黒く見える場合があります。

First Bounce Ray Guiding (最初のバウンス レイのガイディング)

Trial Samples

ライティングのサンプリング前に照射される、 First Bounce Ray Guiding に使用するサンプル数。

System (システム)

Realtime Workload Factor

ビューポートで**リアルタイム** モードが有効になっている場合に、この乗数でベイク速度が制御されます。

Non-Realtime Workload Factor

ビューポートで**リアルタイム** モードが有効になっている場合に、この乗数でベイク速度が制御されます。

Lightmap Tile Pool Size

GPU ライトマスによって計算用に管理される可視タイルのプール。このプール サイズは、ビューポートのサイズと画面上に同時に表示されるタイル数に応じて設定します。プール サイズを大きくすると、GPU メモリ使用量が増えます。

GPU lightmass panel world setting

[World Settings (ワールドセッティング)] パネルにあるライトマス設定のうち、CPU ベースのライトマス システムのライトマス設定が引き継がれているのは [Volumetric Lightmap Detail Cell Size (ボリュメトリックライトマップの詳細なセルサイズ)] だけです。これは、シーン内のジオメトリに関して最大密度でのボリュメトリック ライトマップ ボクセルのサイズを設定します。ボクセルのサイズを小さくすると、ライティングのビルドにかかる時間とメモリ使用量が増加します。場合によっては、メモリ使用量が最大 8 倍に増加します。

ライトマップ UV と解像度を設定する

ライティングのベイクでは、各スタティック メッシュが独自のライトマップ UV を持ち、UV チャート (別名:UV アイランド) がすべて 0 ~ 1 のテクスチャ空間に含まれ、重なったり、折り返したりしている部分がない必要があります。これにより、ライティングの計算時に、ライトマップ UV が不適切であるためにアーティファクトが発生することがなくなります。

Unreal Engine でのライトマップ UV の設定と生成についての詳細は、次のページを参照してください。

適切なライトマップ UV を設定することが、オブジェクトのジオメトリに高品質のライトをベイクするための最初の一歩です。次に重要なのが、ジオメトリに適用されるライトマップ テクスチャに、必要なライトとシャドウの詳細をすべてキャプチャするのに十分な解像度があることです。これは、必要に応じてオブジェクトごとにライトマップ解像度を変更することを意味します。次の 2 つの方法のいずれかでそれを行います。

  • スタティック メッシュ エディタ**を使用して、オブジェクトの [Light Map Resolution (ライトマップ解像度)]** を設定する。

    static mesh editor light map resolution setting

  • シーンで スタティック メッシュ アクタ を選択し、[Lighting (ライティング)] カテゴリ設定にある [Details (詳細)] パネルで、[Overridden Light Map Res (オーバーライドされているライトマップ解像度)] プロパティを使用して、個々のアクタに新しいライトマップ解像度を設定します。

    Overriden light map res property in details panel

ライトのバウンス回数を制御する

どのようなシーンにおいても、ライトのバウンス回数を制御することはできません。代わりに、GPULM では ロシアン ルーレット アルゴリズムが使用されています。このアルゴリズムでは、さまざまな確率と重み付けの計算を考慮して、キャストされたレイのバウンス回数が決定されます。これは、シーンの間接ライティングとイルミネーションに寄与している可能性の低いライトのバウンスは、打ち切られる可能性が高いということでもあります。

GPULM の [GI Samples] プロパティは、各テクセル (テクスチャ マップ内のピクセル) においてパスのトレース対象となるセグメント (空間サンプルとバウンス セグメントを含む) の最大数を制御します。[GI Samples] の値を大きくすると、空間サンプル数と (潜在的に) 深度サンプル数の両方が増加します。

ノイズ除去オプションを選択する

GPULM では、Intel の Open Image Denoise ライブラリで提供されているノイズ除去方法を使用して、ノイズを除去し、最終的なライトマップ レンダリングの結果を滑らかにします。

ライティングのベイクでどのようにノイズ除去するかを検討する際に、3 つのオプションがあります。[Denoise (ノイズ除去)] ドロップダウンを使用してオプションを選択します。

GPU Lightmass denoise setting options dropdown

  • None: ライティングのレンダリングにノイズ除去は一切適用されません。このオプションは、シーンで使用する [GI Samples] の数を判断するのに便利です。例えば、ノイズ除去によってアーティファクトが発生することに気付いたら、サンプル数や他の設定値 ([Irradiance Cache]、[First Bounce Ray Guiding] など) を増やすと、より高品質の入力値がノイズ除去に提供されます。

  • On Completion: レンダリング後に、CPU でライティングのビルドの結果に対してノイズ除去が行われます。ライティングのビルド終了時に、シーンのライトマップ全体にノイズ除去が行われます。

  • During Interactive Preview: 各仮想テクスチャ タイルのレンダリング終了時に、ノイズ除去が行われます。最終結果をより素早く確認するのに便利ですが、各タイルのデータを GPU から CPU に転送してノイズ除去を行ってから、GPU に戻して表示することになるため、効率が低下します。

終了したライティングのビルドにノイズ除去を適用した場合と適用しない場合の比較を以下に示します。

ノイズ除去が無効

ノイズ除去が適用された最終結果

GPU ライトマスに関する制限事項

GPULM の現在の実装に関する既知の制限事項を以下に示します。これは制限事項を網羅したものではなく、コア機能のサポートに関する大まかな情報を提供するためのものです。ここに記載されている機能の多くは今後の Unreal Engine のリリースで解決される見込みですが、一部の機能はサポートされない可能性があることに留意してください。

機能

サポート (はい/いいえ/一部)

説明

分散ベイク

いいえ

GPULM 用の Swarm Agent では、現時点では分散ベイクがサポートされる予定はありません。現在の戦略では、複数の GPU をサポートして、その GPU のパワーとメモリ容量を活用することに重点を置いています。

複数の GPU

はい

NVLink または SLI をサポートしている NVIDIA グラフィック カードが必要です。

半透明シャドウ

はい

半透明シャドウと色付き半透明シャドウがサポートされるようになりました。

ワールド位置オフセット

いいえ

ピクセル深度オフセット

いいえ

GPULM ではピクセル深度オフセット (PDO) を考慮しません。PDO を使用すると、ライティングが不連続になるおそれがあるからです。

固定スカイ ライト

いいえ

Unreal Engine の今後のリリースでサポートが予定されています。

シーンのライト数

ライト数には 256 というハード リミットがあります。これは、GPULM で利用するレイトレーシング機能の制限事項です。レイトレーシング機能の「多くのライト」戦略によって、この制限は解消されます。

ライティング チャンネル

いいえ

ライトのカスタム設定とプロパティ

いいえ

ライトに関する以下の設定はまだ GPULM でサポートされていません。

  • Indirect Lighting Intensity (間接ライティングの強度)

  • Source Texture (ソース テクスチャ) (矩形ライト以外)

これらの設定のうちいくつかは、 固定 ライトと一緒に部分的に使用できます。ベイクされた GI ではこの機能はサポートされませんが、光源からの動的直接ライティングはサポートされる予定です。

事前計算されたアンビエント オクルージョン

いいえ

Lightmass ポータル

いいえ

これは、GPULM の First Bounce Ray Guiding プロパティで部分的に処理されます。

Lightmass インポータンス ボリューム

一部

これらのボリュームの用途は、シーンのエリア間の区別による品質制御ではなく、ボリュメトリック ライトマップの配置の決定です。

ボリュメトリック ライトマップ

はい

GPULM で有効です。ボリュメトリック ライトマップの配置は、レベルのLightmass インポータンス ボリュームを使用して行うことができますが、必須ではありません。GPULM では、[World Settings] > [Lightmass] カテゴリの [Volumetric Lightmap Detail Cell Size] の設定が使用されます。ボリュメトリック ライトマップは必ず、Bake What You See モードを使用している場合でも、フル解像度でレンダリングされます。

LOD (詳細度) メッシュ

Y

Lightmass のワールド設定とオブジェクト単位の設定

いいえ

CPU ベースのワークフロー向けにLightmass の結果を微調整する設定は多数あります。それらの設定のほとんどは GPULM では使用されませんが、GPULM に同等の機能や設定は用意されていません。

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる