Lumen の技術的詳細

Lumen のグローバル イルミネーションおよび反射に関する技術的機能とスペックの概要です。

Choose your operating system:

Windows

macOS

Linux

Lumen は、複数のレイ トレーシング手法を用いてグローバル イルミネーションと反射に対処します。まず、スクリーン トレースを実行し、その後、より信頼性の高い方法を実行します。

Lumen はデフォルトで符号付距離フィールドを通して ソフトウェア レイ トレーシング を使用しますが、ハードウェア レイ トレーシング が有効な場合、対向するビデオ カードでの高品質を実現します。

Lumen のグローバル イルミネーションと反射の主要なリリース目的は、次世代のコンソールで 60 フレーム/秒 (fps) で動作する大規模なオープン ワールドに対応することです。エンジンの High スケーラビリティ レベルには、60fps をターゲットとする Lumen の設定が含まれています。

Lumen の第 2 の焦点は次世代コンソールにおける 30 fps のクリーンな室内照明です。エンジンの Epic スケーラビリティ レベルは、1080p の内部解像度でグローバル イルミネーションと反射を実現する次世代コンソールで約 8 ミリ秒 (ms) を生成し、ネイティブ 4K に近い品質で出力するためにテンポラル スーパー解像度に依存しています。

サーフェス キャッシュ

Lumen は サーフェス キャッシュ と呼ばれる、近接シーンのサーフェスの自動パラメータ化を生成します。これはシーン内の光線の当たるポイントのライティングを素早く調べるために使用します。Lumen は複数の角度から各メッシュのマテリアル プロパティをキャプチャします。このキャプチャ位置 (カード と呼ばれる) はオフラインで各メッシュに生成されます。

カードは、コンソール コマンド r.Lumen.Visualize.CardPlacement 1 を使用して視覚化できます。

Lumen Card Placement Visualization

Lumen は、デフォルトでは、メッシュに 12 個のみのカードを配置します。ただし、スタティック メッシュ エディタの [Build Settings (ビルド設定)][Max Lumen Mesh Cards (Lumen メッシュ カードの最大数)] を設定することで、カード数を増やすことができます。カード数を調整することで、より複雑なインテリアや不規則な形状の単一メッシュで役立ちます。

Static Mesh Editor Build Setting Max Lumen Mesh Cards

レベル エディタの [Surface Cache (サーフェス キャッシュ)] 表示モードでは、サーフェス キャッシュが適用されていないエリアはピンク色で表示されます。

これらのエリアは光を跳ね返さないため、反射では黒く表示されます。このような問題は、[Max Lumen Mesh Cards] で使用するカード数を増やすと解決できる場合がありますが、すべての問題を解決できるわけではありません。また、メッシュをそれほど複雑ではないピースに分割すると、こういったタイプの問題を解決できることもあります。

[View Mode (表示モード)] > [Lumen] > [Surface Cache (サーフェス キャッシュ)]

Lumen のサーフェス キャッシュによる複雑なメッシュのビジュアライゼーション

クリックしてフルサイズ表示

クリックしてフルサイズ表示

ピクセル深度、カメラ位置、カメラ ベクターなどの表示に依存しているロジックを使用したマテリアルは、Lumen のサーフェス キャッシュ表示モードでは正しく表示されないことがあります。これらのノードを使用するマテリアルは、Ray Tracing Quality Switch ノードを使用して、Lumen のサーフェス キャッシュで機能するバージョンのマテリアルを提供したり、複雑なマテリアルのサーフェス キャッシュ キャプチャを最適化したりすることができます。

ray tracing quality switch material node

Ray Tracing Quality Switch ノードの使用方法に関する詳細については、「レイ トレーシング パフォーマンス ガイド」を参照してください。

Nanite は三角ポリゴン シーンとサーフェス キャッシュを同期させておくのに使用するメッシュのキャプチャを迅速化します。特に高ポリゴン メッシュでは、効率的にキャプチャするには Nanite を使用する必要があります。Foliage コンポーネントおよび Instanced Static Mesh コンポーネントは、メッシュが Nanite を使用している場合にのみサポートすることができます。

サーフェス キャッシュにマテリアル プロパティが入力された後、Lumen はこれらのサーフェス位置に対する直接ライティングと間接ライティングを計算します。このアップデートは複数のフレームにわたって償却され、多くの動的ライトや多方向にバウンスするグローバル イルミネーションに効率的に対応します。

Unreal Engine はサーフェス キャッシュとカード表現の表示モードを備えています。詳細については、このページの「Lumen 表示オプション」セクションを参照してください。

シンプルな内部のメッシュのみに対応しています。壁、床、天井はすべて別々のメッシュにする必要があります。家具を含む部屋全体を単一のメッシュにインポートしても、Lumen では機能しないと考えられます。

画面トレース

Lumen は、光線が当たらない場合やサーフェスの後ろを通る場合にさらに確実な方法を使う前に、まずスクリーンに対してレイをトレース (画面トレース またはスクリーン空間トレーシングと呼ばれる) する機能を備えています。画面トレースはあらゆるジオメトリ タイプに対応しており、Lumen シーンと三角ポリゴン シーン間の不一致をカバーするのに役立ちます。

画面トレースを使用するうえでのデメリットは、間接ライティング スケーリングやエミッシブ ブーストのライティング プロパティのような、間接ライティングにのみ適用するアート ディレクションの制御が大幅に制限されることです。ライトに大きな間接ライティング スケールを設定すると、空間トレースがそれを正しくサポートできないため、表示に依存するグローバル イルミネーションが発生します。

以下のサンプル シーンでは他のより負荷の高いトレース オプションに切り替える前に、まず画面トレースを使用します。グローバル イルミネーションと反射で画面トレースが無効の場合、ソフトウェア レイ トレーシングによって生成された Lumen シーンのみが表示されます。に対処します。画面トレースは三角ポリゴン シーンと Lumen シーン間で生じる可能性のある不一致

レベル ビューポートの [Show (表示)] > [Lumen] メニューから [Screen Traces (空間トレース)] を無効にして、[Screen Traces] の横にあるチェックをオフにすると、このような比較を行うことができます。

空間トレースが有効 | (デフォルト)

空間トレースが無効 | サーフェス キャッシュを使用

Lumen レイ トレーシング

Lumen に 2 つのレイ トレーシングの方法を備えています。ソフトウェア レイ トレーシングおよびハードウェア レイ トレーシングです。

  • ソフトウェア レイ トレーシング は、メッシュ ディスタンス フィールドを使用して、幅広いハードウェアとプラットフォームで動作するものの、効果的に使用できるジオメトリ、マテリアル、ワークフローの種類に制限があります。

  • ハードウェア レイ トレーシング は、より幅広いジオメトリ タイプをサポートしており、三角ポリゴンに対するトレースと、低品質のサーフェス キャッシュではなく、当たった光線のライティングを評価することで高品質を実現します。ハードウェア レイ トレーシングが機能するには、サポートされているビデオ カードとシステムが必要です。

ソフトウェア レイ トレーシングは、多くのインスタンスが重なり合うシーンにおける唯一のパフォーマンス オプションであり、ハードウェア レイ トレーシングは、サーフェス上で高品質の鏡面反射を実現する唯一の方法です。

ソフトウェア レイ トレーシング

Lumen はデフォルトで符号付距離フィールドに対してソフトウェア レイ トレーシングを使用します。このトレーシング表現は Shader Model 5 (SM5) に対応したすべてのハードウェアで対応しているため、[Project Settings (プロジェクト設定)] で [Generate Mesh Distance Fields (メッシュ ディスタンス フィールドの生成)] を有効にするだけで済みます。

レンダラはメッシュ ディスタンス フィールドをグローバル ディスタンス フィールドに統合し、トレーシングを高速化します。デフォルトで Lumen は精度を確保するために各メッシュのディスタンス フィールドの最初の 2 メートルに対してトレースし、各レイの残りの部分には統合したグローバル ディスタンス フィールドに対してトレースします。

インスタンスが極端に重なり合うプロジェクトは、[Project Settings] の [Software Ray Tracing Mode (ソフトウェア レイ トレーシング モード)] で Lumen が使用する方法で制御できます。Lumen では、次の 2 つの選択可能なオプションを提供しています。

  • 詳細トレーシング は、デフォルトの方法で、個々のメッシュの符号付きディスタンス フィールドに対してトレーシングを行い、最高品質を実現します。各レイの残りの部分では、精度およびグローバル ディスタンス フィールド向けに最初の 2 m が使用されます。

  • グローバル トレーシング は、最速でトレースするために各レイのグローバル ディスタンス フィールドのみをトレースします。

メッシュ距離フィールドは、カメラがワールド内を移動する際に距離に応じてストリーミングを入出力します。メッシュ ディスタンス フィールドはレイ トレーシングできるように単一のアトラスにパックされています。

r.DistanceFields.LogAtlasStats 1 コマンドを使用すると、メッシュ ディスタンス フィールドの統計をログに出力できます。

Lumen のソフトウェア レイ トレーシングの品質はメッシュのディスタンス フィールド表現の品質に応じて異なります。[Mesh DistanceFields (メッシュ ディスタンス フィールド)] と [Global DistanceField (グローバル ディスタンス フィールド)] の 2 つのビジュアライゼーション オプションがあります。これらのビジュアライゼーション モードは、ビューポートの [Show (表示)] > [Visualize (可視化)]** メニューで確認できます。

Show Visualization menu selections for Mesh Distance Fields and Global Distance Field

Lumen Scene View

Mesh Distance Field Visualization

Global Distance Field Visualization

シーン ビュー

メッシュ ディスタンス フィールドのビジュアライゼーション

グローバル ディスタンス フィールドのビジュアライゼーション

一部のメッシュでは、薄いサーフェスはディスタンス フィールド表現ができず、光漏れの問題が起こる可能性があります。メッシュ ディスタンス フィールドのビジュアライゼーションは、このような問題を見つけるのに役立ちます。

mdfresolution-chandelier.png

(左から右) 三角ポリゴン メッシュ、距離フィールド解像度スケールが 1.0、1.5、2.0。

メッシュ ディスタンス フィールド表現を改善するには次の 2 つの方法があります。

プロジェクト設定:ディスタンス フィールド ボクセル密度

スタティック メッシュ エディタ:距離フィールド解像度スケール

画像をクリックしてフルサイズ表示

画像をクリックしてフルサイズ表示

  • プロジェクトは、[Project Settings] にある [Distance Field Voxel Density (ディスタンス フィールド ボクセル密度)] を使用して、メッシュ ディスタンス フィールドの品質をグローバルに向上させることができます。

  • より高い品質が必要な個々のメッシュの [Distance Field Resolution Scale (ディスタンス フィールド解像度スケール)] は、スタティック メッシュ エディタの [Build Settings (ビルド設定)] で上げることができます。

ディスタンス フィールド解像度や密度を高めるとプロジェクトのディスク サイズも大きくなります。

ソフトウェア レイ トレーシングの制限事項

ソフトウェア レイ トレーシングにはプロジェクトでの使用方法と現在対応しているジオメトリとマテリアルのタイプに関連したいくつかの制限事項があります。

ジオメトリの制限:

  • スタティック メッシュ、インスタンス化されたスタティック メッシュ、階層インスタンス スタティック メッシュ、ランドスケープ テレインのみが Lumen シーンに表示されます。

  • フォリッジは、フォリッジ ツールの設定で [Affect Distance Field Lighting (ディスタンス フィールド ライティングに影響を与える)] を有効にしておく必要があります。

マテリアルの制限:

  • ワールド位置オフセット (WPO) に対応していません。

  • ディスタンス フィールドは透明なマテリアルを無視し、マスキングされたマテリアルは不透明として処理されます。

    • マスキングされたマテリアルによって、フォリッジの広い範囲がマスキングされたフォリッジに顕著なオーバーシャドウイングが発生する可能性があります。

  • ディスタンス フィールドはオーバーライド コンポーネントではなく、スタティック メッシュ アセットに割り当てられたマテリアルのプロパティで構築されます。

    • ブレンド モードが異なるか、両面プロパティが有効になっているマテリアルでオーバーライドすると、三角ポリゴン表現とメッシュのディスタンス フィールド表現の間で不一致が起こります。

ワークフローの制限:

  • ソフトウェア レイ トレーシングでは、レベルをモジュール式のジオメトリで構成する必要があります。壁、床、天井などの要素は個別のメッシュにする必要があります。山や複数階のビルなど大きな単一メッシュは、ディスタンス フィールド表現が十分ではなく、自己オクルージョン アーティファクトが表示される原因となる可能性があります。

  • 光の漏れを避けるため、壁は 10 センチよりも薄くならないようにする必要があります。

  • ディスタンス フィールドは非常に薄い特徴や後ろから見た片面のメッシュを表すことはできません。片面のメッシュの三角ポリゴンの裏面をビューアに見えないようにして、これらのタイプのアーティファクトを避けるか、クローズド ジオメトリのみを使用します。

  • メッシュ ディスタンス フィールドの解像度はスタティック メッシュのインポートしたときのスケールに応じて割り当てられます。

    • メッシュをきわめてコンパクトなサイズでインポートして、コンポーネントでスケールアップした場合、ディスタンス フィールドの解像度が十分では ありません 。代わりに、レベルに配置されたインスタンスでスケーリングを使用する場合は、スタティック メッシュ エディタの [Build Settings] でディスタンス フィールドの解像度を設定します。

ハードウェア レイ トレーシング

ハードウェア レイ トレーシングは、ソフトウェアレイ トレーシングよりも広範囲のジオメトリ タイプに対応しています。具体的には、スキン メッシュに対するトレーシングに対応しています。またハードウェア レイ トレーシングは、より高い品質へのスケール アップできます。実際の三角ポリゴンと交差し、低品質のサーフェス キャッシュの代わりに当たった光線のライティングを評価するオプションがあります。

高品質のヒット ライティングを使用するには、[Project Settings] の [Engine] > [Rendering] セクションで次を有効にする必要があります。

Lumen Project Settings for High Quality

  • Support Hardware Ray Tracing (ハードウェア レイ トレーシングをサポート):有効

  • Use Hardware Ray Tracing when available (使用可能な場合は、ハードウェア レイ トレーシングを使用):有効

  • Ray Lighting Mode (レイ ライティング モード):Hit Lighting for Reflections (反射のヒット ライティング)

ハードウェア レイ トレーシングは、2 つのレイ トレーシング手法の中で最も高い品質を提供するものの、大規模なシーンではセットアップにかかる手間が最も大きくなり、多くのメッシュが重なり合うためトレースにかかる負荷が高くなります。スキン メッシュのような動的に変形するメッシュも、スキン三角ポリゴンの数に比例して、フレームごとにレイ トレーシングのアクセラレーション構造の更新に大きな負荷がかかります。ハードウェア レイ トレーシングの設定や負荷の詳細については、「レイ トレーシング パフォーマンス ガイド」を参照してください。

Nanite が有効になっているスタティック メッシュでは、ハードウェア レイ トレーシングは フォールバック メッシュ に対してのみ機能します。これは、Nanite の Fallback Relative Error プロパティによって生成されるメッシュで、完全な詳細度のメッシュが使用できない場合に使用されます。これらのフォールバック メッシュは、レベル ビューポートの [Show] > [Advanced] > [Nanite Meshes] で視覚化することができます。

画面トレースは Nanite でレンダリングされたフル三角ポリゴン メッシュと Lumen でレイトレースされたフォールバック メッシュ間の不一致をカバーするために使用します。ただし、不一致が大きすぎて隠すことができない場合もあります。その場合、フォールバックの相対誤差を上げると誤った自己交差アーティファクトを減らすことができます。

フル ディテール 三角ポリゴン メッシュ

Nanite の生成したプロキシ メッシュ

Lumen は以下の場合、ハードウェア レイ トレーシングを使用します。

  • このプロジェクトでは [Support Hardware Ray Tracing (ハードウェア レイトレーシングをサポート)][Use Hardware Ray Tracing when available (使用可能な場合は、ハードウェア レイ トレーシングを使用)] が有効になっています。

    • この最初の設定を変更するには、エディタを再起動する必要があります。

  • プロジェクトをサポート対象のオペレーティング システム、RHI、ビデオ カードで実行している。現時点では、以下のプラットフォームのみハードウェア レイ トレーシングのパフォーマンスに対応しています。

    • DirectX 12 を搭載した Windows 10

      • ビデオ カードは、NVIDIA の RTX-2000 シリーズかそれ以上、または AMD RX 6000 シリーズかそれ以上でなければいけません。

    • PlayStation 5

    • Xbox シリーズ X/Y

Lumen のハードウェア レイ トレーシングを使用しているプロジェクトでは、必要に応じてソフトウェア レイ トレーシングにフォールバックする必要がある場合もありますが、両方のメモリにかかる負荷とシーンの更新にかかる負荷を同時に負う必要はありません。このような場合は、次のコンソール変数を「DefaultEngine.ini」コンフィギュレーション ファイルに追加する必要があります。

r.DistanceFields.SupportEvenIfHardwareRayTracingSupported=0

この設定を無効にすると、ランタイム時に [Use Hardware Ray Tracing when available] を切り替えることができなくなります。

大規模ワールド

Lumen シーンはカメラ周辺のワールドで動作し、大規模ワールドとストリーミングを可能にします。Lumen は、サーフェス キャッシュを維持するために高速なシーン キャプチャを行なうため Nanite の詳細レベル (LOD) とマルチビュー ラスタライズを利用し、ヒッチの発生を防ぐためすべての動作を制限しています。Lumen が機能するために Nanite は必要ありませんが、Nanite を有効にしていない高ポリゴン メッシュの多いシーンでは Lumen のシーンのキャプチャに非常に時間がかかります。これは、アセットに適切な LOD が設定されていないシーンでは特に該当します。

高速でカメラを動かすと、Lumen シーンの更新がカメラの向いている所よりも遅れてしまい、追いついた時に間接ライティングが突然表示されます。

Lumen がソフトウェア レイ トレーシングを使用している場合、Lumen シーンがカバーするにはカメラ位置から 200m の範囲であるものの、ポスト プロセス ボリュームの [Lumen Scene View Distance (Lumen シーン表示距離)] 設定により 800m まで拡大することが可能です。Lumen シーンの最大距離を超えると、グローバル イルミネーションでは画面トレースのみが有効になります。

ファー フィールド

Lumen ハードウェア レイ トレーシングは、ファー フィールド トレーシングを実装しています。これは、Lumen のグローバル イルミネーションおよび反射を、デフォルトで、カメラから 1km の距離まで拡張します。

ファー フィールド トレースは、「DefaultEngine.ini」コンフィギュレーション ファイルの r.LumenScene.FarField=1 コンソール変数で有効化され、ワールド パーティションの階層詳細度 (HLOD) を使用する必要があります。ファー フィールドをビルドするには、HLOD1 を使用する必要があります。

[Far Field (ファー フィールド)] が有効になっている場合、[Max Trace Distance (最大トレース距離)] (デフォルトは 200m) から r.LumenScene.FarField.MaxtraceDistance (デフォルトは 1km) までトレースされます。r.RayTracing.Culling.Radius を使用してレイ トレーシングからオブジェクトをカリングすることができるので、プロジェクトでカリング半径と最大トレース距離を一致させる必要があります。一致していない場合、近接フィールド (カメラから最大トレース距離までのオブジェクト) がファー フィールドのトラバーサル ポイントより先にカリングされる可能性があり、カバレッジにギャップが生じます。

Lumen Far Field Global Illumination and Reflections

Unreal Engine 5 のテクニカル デモ「The Matrix Awakens」では、ファー フィールド トレースを使用した大規模なワールドでのグローバル イルミネーションをご覧いただけます。

Lumen 機能の一般的な制限

  • Lumen のグローバル イルミネーションは、ライトマップで 静的ライティング と併用することはできません。Unreal Engine 5 の今後のリリースでは、Lumen の反射が拡張され、ライトマップでグローバル イルミネーションと連携して機能するようになります。これにより静的ライティング手法を使用してプロジェクトのレンダリング品質をさらに向上させることができます。

  • Lumen 反射では、複数のスペキュラ反射をサポートしていません。

  • Lumen では、 Single Layer Water マテリアルをサポートしていません。

  • Lumen は、現在、シーン キャプチャまたは分割画面をサポートしていません。

  • Lumen は フォワード シェーディング に対応 していません

パフォーマンス

Lumen は、レベル エディタのビューポートの [Settings (設定)] > [Engine Scalability Settings (エンジンの拡張機能設定)] にある [Scalability (スケーラビリティ)] 設定を使用します。これらの設定には、Low から Cinematic までの一般的な品質設定が含まれていますが、個々の機能設定を同一の範囲で指定することもできます。スケーラビリティ オプションは、エディタに限らず、ブループリントを通じて呼び出し、シッピングするプロジェクトで使用することができます。

Lumen はグローバル Quality、または個々の Global IlluminationReflections のスケーラビリティ設定が HighEpicCinematic の場合のみアクティブになります。

In-Editor Scalability Settings

Lumen は、 テンポラル アップサンプリング と Unreal Engine 5 の機能の 4K 出力用のアルゴリズム テンポラル スーパー解像度を活用しています。エンジン スケーラビリティ オプションでは、Lumen のデフォルト設定でターゲット fps を設定します。

  • Epic スケーラビリティ レベルは、次世代コンソールで 1080p の 30 fps バジェット (8ms グローバル イルミネーションと反射) に設定されています。

  • High スケーラビリティ レベルは、60 fps バジェットに設定されています。なお、受け入れ可能な品質での 60fps のバジェットの実現に向けて、Epic は引き続き取り組んでいます。

  • Lumen は LowMedium のスケーラビリティ レベルで無効化されます。

Lumen の反射を提供するには余分な光線をトレースする必要があるため、ラフネスが 0.4 未満のマテリアルは、Lumen が照明を解決するために最も負荷が高くなります。

Lumen が対応しているプラットフォーム

    • Lumen は PlayStation 4 や Xbox One などの前世代のコンソールに対応 していません

  • 動的ライティングを利用するプロジェクトは、それらのプラットフォームやレガシー PC で、 ディスタンス フィールド アンビエント オクルージョンスクリーンスペース グローバル イルミネーション の組み合わせを使用することができます。

  • Lumen は次世代のコンソール (PlayStation 5 や Xbox シリーズ X/Y) やハイエンド PC 向けに開発されています。Lumen には 2 つのレイ トレーシング モードがあり、それぞれに異なる要件があります。

  • ソフトウェア レイ トレーシング モードの要件:

  • Shader Model 5 (SM5) に対応した DirectX 11 を搭載したビデオ カード

    NVIDIA GeForce GTX-1070 以上のカードが必要です。

    • ハードウェア レイ トレーシングの要件:

    • DirectX 12 を搭載した Windows 10

    • ビデオ カードは、NVIDIA の RTX-2000 シリーズ以上、または AMD RX-6000 シリーズ以上である必要があります。

  • Lumen はモバイル プラットフォームに対応 していません。また、モバイル レンダラ向けの動的グローバル イルミネーションを開発する予定もありません。動的ライティングを使用したゲームは、モバイルではシャドウのない スカイ ライト を使用する必要があります。

  • Lumen は、現在、VR システムをサポートして いません 。VR はサポート可能であるものの、VR に必要な高いフレーム レートと解像度は、動的グローバル イルミネーションには適していません。

Lumen ビジュアリゼーション オプション

Lumen には、Unreal Editor でデータを視覚化する方法がいくつかあり、Lumen がどのようにシーンをライティングしているかを検査し、トラブルシューティングするのに役立ちます。

第 1 の Lumen 表示モードは、[View Modes (表示モード)] メニューの [Level Viewport (レベル ビューポート)] にあります。

Lumen の表示モード オプション

Lumen の概要のビジュアライゼーション

クリックしてフルサイズ表示

クリックしてフルサイズ表示

  • Overview (概要) では、 Lumen の 3 つのビジュアライゼーションがレンダリングされたシーンの上に小さなタイルとして表示されます。

  • Lumen シーン は、Lumen のシーンを最高品質で表示します。サーフェス キャッシュまたはハードウェア レイ トレーシング。

  • [Reflection View (反射表示)] は、Lumen 反射が見たままのシーンを、反射が使用する限定的なトレース距離も含めて表示します。

  • [サーフェス キャッシュ] は、メッシュが複雑すぎてカバーできない部分がピンク色でハイライトされる点以外は、Lumen シーンと同じです。

その他のビジュアライゼーションは、レベルビューポートの[Show] > [Visualize] メニューで確認できます。

Show Visualization menu selections for Mesh Distance Fields and Global Distance Field

Lumen Scene View

Mesh Distance Field Visualization

Global Distance Field Visualization

シーン ビュー

メッシュ ディスタンス フィールドのビジュアライゼーション

グローバル ディスタンス フィールドのビジュアライゼーション

  • [Mesh Distance Fields] シーンを構成する個々のメッシュの符号付きディスタンス フィールド表現を表示します。

  • [Global Distance Field] は、個々のメッシュのディスタンス フィールドを結合した、より詳細度の低いディスタンス フィールドを表示します。 Lumen で使用されるその他のデータを視覚化するためのコンソール コマンドもいくつかあります。

  • Lumen の カード配置 はキャプチャ位置 (カード と呼ばれる) がシーンでどのように使用されているかを調べます。カードは各メッシュにオフラインで生成され、複数の角度から各メッシュのマテリアル プロパティをキャプチャするために使用します。このビジュアライゼーション モードを有効にするには `r.Lumen.Visualize.CardPlacement 1`コマンドを使用します。

  • ハードウェア レイ トレーシングは、スタティック メッシュ アセットの Fallback Relative Error プロパティから生成される Nanite フォールバック メッシュ を使用します。フォールバック メッシュは、画面トレースと Lumen の反射の Nanite のレイ トレースされたシーンの間の不一致に対処するために使用します。Nanite レンダリングを無効にし、Lumen が使用するフォールバック メッシュを確認するには [Show (表示)] > [Advanced (高度)] > [Nanite Meshes (Nanite メッシュ)] を使用します。

トラブルシューティング トピックス

シーンの Lumen に関連した問題を解決するには、[Lumen Overview (Lumen の概要)] 表示モードから始めることをお勧めします。

Lumen シーンは、間接ライティングへ大きな影響を与える方法でメイン シーン ビューと一致する必要があります。Lumen Surface Cache 表示モードでピンク色の領域が目立つ場合は、スタティック メッシュ設定の [Max Lumen Mesh Cards] を上げるか、メッシュを複数のパーツに分割して解決する必要があります。

troubleshooting-topic-1.png

問題の原因となるメッシュ

間接ライティングに関与する問題の原因となるメッシュがある場合、レベル インスタンスの [Details (詳細)] パネルを使用して次のいずれかを無効にすることで、Lumen シーンから削除することができます。

  • ソフトウェア レイ トレーシング では、[Affect Distance Field Lighting (ディスタンス フィールド ライティングに影響する)] チェックボックスをオフにすると削除できます。

  • ハードウェア レイ トレーシング では、[Visible in Ray Tracing (レイ トレーシングで可視化)] チェックボックスをオフにすると削除できます。

シャドウ マップとレイトレースによるシャドウ間の不一致

Lumen は Lumen シーンをシャドウイングするためのレンダラのシャドウ マップを再利用します。ただし、これは画面上の位置でのみ利用可能です。Lumen は、オフスクリーンのサーフェスにはシャドウイングのレイ トレーシングを使用します。この 2 つの手法に顕著な不一致がある場合、 スクリーン空間グローバル イルミネーション などのスクリーン空間技術と同様に、Lumen のグローバル イルミネーションは表示への依存が高くなります。

この問題は不一致が生じる原因を特定すると解決できます。レイトレースされたシャドウを表示するには、Lumen Scene 表示モードを表示した状態で、[Show] > [Lumen][Reuse Shadow Maps (シャドウ マップを再利用)] 表示フラグを無効にします。

問題:屋内の鏡面反射で見られる斑点のようなアーティファクトがある

鏡面反射で見られる斑点のようなアーティファクトは、Lumen が、バジェットに余裕がないため、きわめて低い品質設定を使用してマルチバウンス グローバル イルミネーションを計算していることから発生します。ポスト プロセスの設定で、[Lumen Scene Quality (Lumen シーンの品質)] を上げると、アーティファクトを減らすことができます。

lumen-scene-viewmode-default.png

lumen-scene-lighting-quality-4.png

Lumen シーンの表示モード

Lumen シーンのライティング品質を 4 に向上

問題:鏡面反射で小さなメッシュが黒く表示される

パフォーマンスを確保するため、Lumen では Lumen シーンの小さなオブジェクトをカリングするため、小さなメッシュが鏡面反射では黒く表示されます。ポスト プロセス設定で、[Lumen Scene Detail (Lumen シーンのディテール)] を上げると、より遠くの小さなメッシュをキャプチャすることができます。

Lumen シーンの表示モード

Lumen シーンのディテールを上げた状態

問題:200 m でスカイ オクルージョンとグローバル イルミネーションが表示されなくなる

スカイ オクルージョンおよびグローバル イルミネーションは、Lumen シーンでは最初の 200m のみが保持されます。ポストプロセスの設定で、Lumen Scene View Distance (ルーメン シーンの表示距離)] を上げることで、より遠くまで Lumen シーンを維持することができます。

問題:広い洞窟のような領域で光が漏れる

洞窟のような場所や閉ざされた場所で、光漏れが発生している場合は、Lumen がパフォーマンスを向上させるために光線のトレース距離を制限しているものの、オクルーダの欠落により、光漏れが発生します。

ポスト プロセス設定で、[Lumen Scene Detail] および [Max Trace Distance] を上げてください。

たとえば、以下のメッシュは外側から見ると穴のない密閉された箱です。

troubleshooting-topic-enclosed-box-1.png

ボックスの内側では、シーン全体にスカイライトが漏れていることがわかります。

troubleshooting-topic-enclosed-box-2.png

次の値を上げてください。

  • Lumen Scene View Distance

  • Max Trace Distance

これで、光漏れが解消されます。

troubleshooting-topic-enclosed-box-3.png

問題:ライティングの変更がグローバル イルミネーションに伝搬されるのに時間がかかりすぎる

Lumen グローバル イルミネーションを変更したりオフに切り替えると、シーン内のライティングの変化に時間がかかりすぎて、すばやくオン/オフが切り替わらず、フェードアウトしてしまうことがあります。

たとえば、次のシーンでスカイ ライトをオフに切り替えると、ライティングがゆっくりとフェードアウトしていくのがわかります。

troubleshooting-topic-lumen-update-speed-1.gif

ポストプロセス ボリュームの [Final Gather Lighting Update Speed (ファイナル ギャザーのライティングの更新速度)] の設定を上げると、Lumen のグローバル イルミネーションが変化する速度を向上させることができます。

なお、スカイ ライトが以前よりはるかに迅速にオフになることに注意してください。

troubleshooting-topic-lumen-update-speed-2.gif

なお、変更後は、これらの設定をデフォルトに戻して、より負荷の低いライティングに戻してください。

問題:小さなエミッシブ メッシュがシーンを一定にライティングしない

小さなオブジェクトは Lumen シーンからカリングされ、空間トレースのみが小さなエミッシブ メッシュをピックアップします。これにより、シーンのライティングに一貫性がなくなります。[Details (詳細)] パネルで、レベル インスタンスの [Emissive Light Source (エミッシブ光源)] を設定します。

Lumen シーンの表示モード

Emissive Light Source (エミッシブ光源) プロパティが有効

問題:パフォーマンスが十分でない場合でも、最高品質の鏡面反射が必要

Lumen は、レンダリング速度が大幅に向上するためで、デフォルトで反射光線のライティングにサーフェス キャッシュを使用します。ただし、以下のいずれかを設定することにより、当たった光線で評価するようにライティングを設定することができます。

  • [Project Settings (プロジェクト設定)] で、[Ray Lighting Mode (レイ ライティング モード)][Hit Lighting for Reflections] に設定します。

  • これにより、プロジェクト全体のライティングが変更されます。

  • ポストプロセス ボリュームで、 [Ray Lighting Mode (レイ ライティング モード)][Hit Lighting for Reflections] に設定します。

    • 1 つのショットやビューポイントにのみ必要な、個別の変更に最適です。

下の例では、壁と階段のスペキュラ ハイライトが反射では消失していることに注目してください。

Lumen のサーフェス キャッシュ

Lumen の反射のヒット ライティング