パス トレーサー

パス トレーサーのレンダリング モードの機能の概要です。

パス トレーサーは、プログレッシブなハードウェア アクセラレーションによるレンダリング モードであり、物理的に正確かつ妥協のないグローバル イルミネーション、マテリアルの反射や屈折などを使用することで、リアルタイム機能のデメリットを軽減します。パス トレーサーは Unreal Engine に組み込まれているレイ トレーシング アーキテクチャを共有しているため、クリーンでフォトリアルなレンダリングを実現しながら、追加設定は必要最小限か、まったく必要ありません。

LS_CineCameraActor13_508_0000_Ultra.png

ARCHVYZ 制作の「Virtual tour in Unreal Engine」。 デザイン:Toledano Architects。

パス トレーサーでは、リアルタイム レイ トレーシングGPU ライトマス などの他のレイ トレーシング機能と同じレイ トレーシング アーキテクチャを使用しています。そのため、グラウンド トゥルースの比較 やプロダクション レンダリングに最適です。パス トレーサーは、シーン内に存在するジオメトリとマテリアルのみを使用して偏りのない結果をレンダリングします。また、リアルタイム レンダリング向けに適切に機能するよう開発された、同じレイ トレーシング コードを共有することはありません。

パス トレーサーのメリット

パス トレーサーは、他のレンダリング モードと比較して以下のメリットを提供します。

  • 物理的に正確な結果を伴う、高品質でフォトリアルなレンダリングを生成する機能。

  • 他のオフライン レンダラの結果と比較して、最小限の追加設定で済むか、追加設定が不要。

  • 対応するリアルタイム機能との機能のギャップが低減される。たとえば、グローバル イルミネーションがある場合やパス トレーシングされたシャドウがある場合などにおいて、反射や屈折の中で表示されるマテリアルのレンダリングには制限がありません。

  • シーケンサーおよびムービー レンダー キューと完全に統合されており、映画/テレビ品質のレンダリング出力をサポート。

パス トレーシングを使用した例

次のシーンは、パス トレーサーを使用して高品質なレンダリングを実現した例です。

LS_CineCameraActor20_612_0000_Ultra.png

ARCHVYZ 制作の「Virtual tour in Unreal Engine」。 デザイン:Toledano Architects。

プロジェクトでパス トレーサーを有効にする

パス トレーサーを使用するには、プロジェクトで ハードウェア レイ トレーシング が有効になっている必要があります。以下のシステム要件を満たし、これらの設定を有効にする必要があります。

システム要件:

  • オペレーティング システム:Windows 10 1809 以降

  • GPU:NVIDIA RTX および DXR ドライバ対応の GTX シリーズ グラフィック カード

プロジェクト設定:

Path Tracer Project Settings

  • [Platforms (プラットフォーム)] > [Windows (ウィンドウ)] > [Targeted RHIs (ターゲットの RHI)] > [Default RHI (デフォルトの RHI)]:DirectX 12

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Hardware Ray Tracing (ハードウェア レイ トレーシング)]:[Path Tracing (パス トレーシング)] を有効にする

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Hardware Ray Tracing (ハードウェア レイ トレーシング)]:[Support Hardware Ray Tracing (ハードウェア レイ トレーシングをサポート)] を有効にする

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Hardware Ray Tracing (ハードウェア レイ トレーシング)]:[Path Tracing (パス トレーシング)] を有効にする

    Unreal Engine 5 では、マテリアル用のパス トレーサー固有のシェーダー置換の作成を制御する設定が導入されました。パス トレーサーを使用する予定がないプロジェクトでは、この設定を無効にするとシェーダーのコンパイル時間を短縮できます。

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Optimizations (最適化)]:[Support Compute Skin Cache (スキン キャッシュの計算をサポート)] を有効にする

プロジェクトで [Support Hardware Ray Tracing] が有効になっている場合に [Support Compute Skin Cache (スキン キャッシュの計算をサポート)] が有効になっていないと、これを有効にするよう求めるポップアップ ウィンドウが開きます。これは、ハードウェア レイ トレーシング機能およびパス トレーシング機能をサポートする上で必須の設定です。

エンジンを再起動して変更を反映します。

レベル エディタでパス トレーサーを使用する

[View Mode (ビュー モード)] ドロップダウン メニューを使用して [Path Tracing (パス トレーシング)] を選択し、レベル ビューポートのパス トレーサーを有効にします。

Level Viewport View Mode for Path Tracing

有効にすると、レンダラは、カメラが動いていないときにサンプルの追加を続けることで、サンプルを着実に蓄積します。目標のサンプル数に到達すると、フレームのノイズ削減が実施され (ポスト プロセス設定でデノイジングが有効になっている場合)、レンダラ内に存在する残りのすべてのノイズが削除されます。

ほとんどの場合、シーンを変更するとサンプルが無効になり、プロセスが再起動します。カメラの移動、ビューの変更、オブジェクトのマテリアルの更新または変更、シーンのオブジェクトの移動、シーンへのオブジェクトの追加を行うと、シーンのサンプルが無効になります。

パス トレーサーはインタラクティブに使用でき、サンプルが蓄積されると、シェーディング カラーを持つピクセルの表示がすぐに開始されます。レンダリングにかかる時間は、サンプリングするシーンやマテリアルの複雑さに大きく影響されます。屋外のシーンでは光線が少ないバウンスで高速で出ていくため、比較的迅速にレンダリングできる傾向があります。屋内のシーンでは、特にマテリアルのアルベド値が 1.0 に近い場合はライト パスが長くなります。その結果、レンダリング時間は長くなります。

パス トレーサーをムービー レンダー キューと使用する

このセクションでは、ムービー レンダー キューを使用し、パス トレーシングされたレンダリング出力を生成する方法の詳細について説明します。一般的な使用法やワークフローの情報については、続行する前に「ムービー レンダー キュー」を参照してください。

ムービー レンダー キュー (MRQ) は、プロダクション パイプラインで高品質なレンダリング出力を生成する際に便利です。パス トレーサーと組み合わせて使用すると、組み合わせない場合よりも大幅に品質の高いレンダリングが可能になります。

[Path Tracer (パス トレーサー)] モジュールは、レンダリングされたフレームを出力するためにパス トレーサーの使用を有効にし、レンダリング パスに固有の設定をいくつか提供します。

Movie Render Queue Path Tracer Module Settings

レベル内に配置された ポスト プロセス ボリューム でも、光線の最大バウンス数、エミッシブ マテリアルのサポート、露出などの特定のパス トレーシング機能を制御します。

MRQ はまた、高品質なレンダリングを実現するため、追加のコントロールやオプションを備えた他の設定モジュールを含んでいます。

  • [High Resolution (高解像度)] モジュールは、フレームを別のタイルとしてレンダリングする設定を提供します。このタイルを組み合わせることで、他の方法よりも高い単一フレームの解像度でレンダリングできます。個々のタイルは、お使いのグラフィック カードによってサポートされている最大解像度 (RTX 3080 カードの場合は 7680x4320 など) までで利用できます。

  • [Anti-aliasing (アンチエイリアス)] モジュールは、ピクセルあたりのサンプル数を調整し、モーション ブラー品質を高めるための特定の設定を提供します。このモジュールは、レベルのロードやビジュアル エフェクトでシーンを正確にレンダリングするのに必要なウォームアップ時間を提供します。

    • [Temporal Sample Count (テンポラル サンプル数)] では、時間内でわずかにオフセットが設定されたインスタンスの複数のレンダリングされたフレームを補間し、モーション ブラーの品質を改善します。このサンプルの蓄積はノイズ除去後に実行され、個々の空間パスからの残存アーティファクトの安定化に役立ちます。ただし、[Reference Motion Blur (参照モーション ブラー)] が有効な場合は、ノイズ除去の前にすべての時間サンプルが収集されます。この場合は、空間サンプルを「1」にして、すべてのサンプリングを時間サンプルを介して実行し、モーション ブラーの品質を最大限に高めることをお勧めします。

    • [Spatial Sample Count (空間サンプル数)] では、時間サンプルごとに使用するピクセルあたりのサンプル数を設定します。ピクセルあたりのサンプル数を増やし、各フレームのレンダリングに必要な時間を増やしながら、各レンダリング パスに存在するノイズを低減します。MRQ の使用時には、ピクセルあたりのポスト プロセス ボリュームのサンプル数の設定は無視されます。 *

      取得されるピクセルあたりのサンプルの合計数は、空間サンプル数と時間サンプル数の積です。時間と空間の両方にサンプルが分散していると、より良い結果を得られる場合があります。たとえば、ピクセルあたり 16 個のサンプルを使用する場合は、「空間サンプルに 4 個、時間サンプルに 4 個」を適用したり、「空間サンプルに 16 個、時間サンプルに 1 個」、もしくは「空間サンプルに 1 個、時間サンプルに 16 個」を適用したりできます。最適な組み合わせは、主に希望するモーション ブラーの品質に応じて異なります。静止画の場合はすべてを空間サンプル (時間サンプルは 1 個) に適用し、アニメーションの場合は、参照モーション ブラーを有効にした状態で、空間サンプルに 1 個、時間サンプルに多くを適用することを推奨します。

  • [Console Variables (コンソール変数)] モジュールを使用すると、レンダリング フレームに関連するコンソール変数を追加できます。これには、品質のオーバーライド、またはパス トレーサーに関連する可能性のある一部の設定の切り替えが含まれます。

  • [Output (出力)] モジュールは、出力ディレクトリ、ファイル名、画像の解像度、レンダリングする開始/終了フレームを構成するための設定を提供します。

パス トレーサーのポスト プロセス ボリューム設定

レベルに配置されたポスト プロセス ボリュームは、パス トレーサーの構成可能なプロパティを提供します。これには、ライトのバウンスの最大数、ピクセルあたりのサンプル、アンチエイリアス品質 (またはフィルタ幅) などがあります。

パス トレーサーの設定は、[Post Process Volumes Detail (ポスト プロセス ボリュームの詳細)] パネルの [PathTracing] カテゴリにあります。

Path Tracer Post Process Volume Settings

プロパティ

説明

Max.Bounces

光線が終了するまでに移動するライトのバウンスの可能な最大数を設定します。

Samples Per Pixel

収束でピクセルごとに使用するサンプル数を設定します。サンプル数の値を大きくすると、レンダリングされる画像のノイズが少なくなります。

Filter Width

出力品質を改善するための、アンチエイリアス フィルタの幅を設定します。値が小さいとシャープな (エイリアスの強い) 結果が得られ、値が大きいとソフトな (ぼやけた) 結果が得られます。

Max Path Exposure

ファイアフライ アーティファクト の発生を低減するためにパス トレーシングで許可する最大露出を設定します。シーンの露出よりも露出を大きい値に調整すると、このアーティファクトが軽減されます (詳細情報およびこのタイプのアーティファクトの例については、このページの「追加情報」セクションを参照してください)。

Reference Depth of Field

ポスト プロセス エフェクトを置き換える参照品質の被写界深度 (DOF) を有効にします。このモードでは、透過サーフェス、ボリュメトリック、ヘア (髪) ジオメトリを正しく処理できます。

Reference Atmosphere

スカイライトに対するスカイ環境の影響をベイクする代わりに、環境内でのパス トレーシングを有効にします。これを有効にすると、シーンに存在するスカイライト コンポーネントは自動的に無視されます。詳細については、このページの「参照アトモスフィア」セクションを参照してください。

Denoiser

この切り替えオプションは、現在ロードされているノイズ除去プラグインを最後のサンプルに使用し、レンダリングされた出力からノイズを除去します。Unreal Engine では、デフォルトで Intel の Open Image Denoiser プラグインが使用されます。ノイズ除去プラグインが有効になっていない場合、この設定はレンダリングされた出力に影響しません。

Lighting Components

このセクションには、特定のライト パスの計算を制限して、画像の出力品質を選択できるようにするための数々のチェックボックスが含まれています。これを使って画像を複数のパスに分割することができます (これらは後に元の画像にまとめられます)。間接エミッシブは、エミッシブ マテリアルのバウンス ライティングを制御するという点で多少異なります。実際の光源によっても再現される、サーフェスのイルミネーションの二重カウントを回避したり、小さなエミッタからのノイズを削減したりするために、このプロパティを無効にすべき場合もあります。たとえば、小さい電球を表すエミッシブ マテリアルがあり、同時にポイント ライトまたはスポット ライトの光源も使用してエリアを照らしている場合では、二重のカウントが行われています。

MRQ でライティング コンポーネントをレンダリングする

パス トレーサーでは、ムービー レンダー キュー (MRQ) を使用して、呼び出し可能なブループリント イベントを介して、ディフューズやスペキュラといった個別のライティング コンポーネントのレンダリングを出力することができます。

このためには、ポスト プロセス ボリューム を含む アクタ ブループリント を作成する必要があります。ボリュームを Infinite Extent (Unbound) に設定して、その 優先度 を非常に高く設定し、そのボリュームがシーン内の他のポスト プロセス ボリュームよりも常に優先されるようにします。

Post Process Volume Setting - Priority and Unbound

このポスト プロセス ボリュームの目的は、ブループリント内でカスタム仕様のイベントを通じてライティング コンポーネント コンフィギュレーションを希望どおりに設定することです。これらのカスタム仕様のイベントは、Start Console Command (コンソール コマンドの開始) トラック を使い、Ke * [カスタム仕様のイベントの名前] 構文を使ってそれぞれのイベントを呼び出すことで、ムービー パイプライン コンフィギュレーション ファイルを介して実行できます。

以下の例では、RenderSpecular という名前のカスタム仕様のイベントがムービー パイプライン コンフィギュレーションによって Ke * RenderSpecular コンソール コマンドで呼び出されます。

MRQ Lighting Pass Settings - Star Console Command

このプロセスにより、プロジェクトのニーズに応じてユニークなライティング コンポーネント コンフィギュレーションを設定しやすくなります。

複数のライティング コンポーネント レンダリングを作成するには、MRQ でショットを複数回呼び出す必要があります (希望するパス コンフィギュレーションごとに一度ずつ)。キューにあるそれぞれのアイテムは異なるムービー パイプライン コンフィギュレーションを参照する必要があり、(下記の例のように) ライティング コンポーネントを設定するために、それぞれが異なるカスタム仕様のイベントを呼び出します。

この設定ではレンダリングを複数回実行する必要がありますが、パス トレーサーでは早期アウトが可能なため、複数のライティング コンポーネント コンフィギュレーションのレンダリング時に、レンダリング時間に直接的な線形スケールはないことに注意してください。

MRQ Lighting Component Renders

作成したブループリントで次のイベントを設定します。

光線コンポーネント分割

光線パス分割

パス コンポーネント分割

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

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

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

パス トレーサーの制限事項

以下は、Unreal Engine のパス トレーシングにおける現在の制限事項です。

  • 明るいマテリアルがあると、屋内のレンダリング速度が低下する

    • 明るい白色など、アルベド値が 1.0 に近いマテリアルは、多数のバウンスを伴う光のパスをパス トレーサーでシミュレートする必要があるため、フレームのレンダリングにかかる時間が必要以上に長くなります。屋内のシーンでは、光線が環境から出て終了するまでの時間が長くなる場合があるため、特にこの影響を受けやすくなります。パス トレーサーではロシアン ルーレットの手法を使用して、シーンに貢献する可能性が低い光線を徐々に終了します。可能な場合にはロシアン ルーレットの手法によって光線が終了されるため、シーン全体で継続的にバウンスする光線が生じる可能性はあまり高くありません。マテリアルのアルベド値が 1.0 に近い場合は、光線のパスが終了される可能性が低くなり、フレームに対するレンダリング時間を伸ばすことにつながります。

    • 実世界では、すべての入射光を反射するマテリアルは珍しく、サーフェスの外見がぼやける傾向があります。そのため、すべてのディフューズ マテリアルのベース カラーは 0.8 未満に維持することをお勧めします。

  • 動的なシーン要素

    • パス トレーサーは、時間の経過とともにレンダラーによってサンプルを蓄積することで機能します。これは、スタティックなシーンに最適です。また、動くライト、アニメートされたスキン メッシュ、ビジュアル エフェクトなどの要素を含む動的なシーンにはあまり適していません。このタイプの要素によってパス トレーシングがエディタで無効になることはなく、フレーム内でアーティファクトがぼやけたり筋状の表示になったりします。これは、エディタで作業し、ムービー レンダー キューを使用して修正し、最終的な要素をレンダリングした場合のみに表示されます。ビューポートとは異なる解像度で高解像のスクリーンショット (下記参照) をキャプチャすることでもこの問題を回避できます。このキャプチャリングでは、エンジンのティック時間を進めずにすべてのサンプルを取るためです。

  • Path Tracing Material Quality Switch ノード

    • PathTracingQualitySwitch ノードを使用してマテリアルの複雑さを低減することで、パス トレーシングに向けてマテリアルを最適化すると、複雑さや標準マテリアルで使用される回避策を軽減することができます。ランタイムは重要ではないため、マテリアルで妥協する必要はありません。これらのノードを使用することで、マテリアルを複製することなく、妥協のない結果を提供することができます。

  • Ray Tracing Material Quality Switch ノード

    • Ray Tracing Quality Switch ノードを使用してレイ トレーシング機能の複雑さを軽減し、レイ トレーシング機能用にマテリアルを最適化すると、ランタイム時の負荷を抑えることができます。これにより、Unreal Engine のレイ トレーシング機能ではディファード レンダラと比較して単純なマテリアルを使用できます。パス トレーサーの目的は高品質な出力であるため、パス トレーサーは、レイ トレーシングに基づいているにもかかわらず、これらのスイッチ ノードの Normal ポートを使用します。パス トレーサー専用のマテリアルの動作を制御するには、代わりに PathTracingQualitySwitch ノードを使用します。

  • HDRIBackdrop はパス トレーサーと互換性がない

    • HDRIBackdrop コンポーネントの現在の実装では、パス トレーサーでライティングが二重にカウントされ、HDRI ライティングの重要度サンプリングが無効になります。バックドロップを表示させるには、指定されたテクスチャを持つスカイ ライトを使用して、パス トレーサー コンソール変数 r.PathTracing.VisibleLights 2 を設定することをお勧めします。

    これは、シャドウ キャッチャーによる地面を提供するものではありません。

詳細情報と特定の機能の注意事項については、このページの「パス トレーサーのサポートされている機能」セクションを参照してください。

パス トレーサーのサポートされている機能

パス トレーサーの制限事項となるのは現在の実装の制限事項か、サポートされる予定がない機能のいずれかです。この機能のリストは、現在のリリースで現時点でサポートされている内容を示すものであり、エンジンがサポートしている機能/プロパティをすべて網羅するものではありません。

パス トレーサーは、Unreal Engine の リアルタイム レイ トレーシング 機能と同じコードを共有しています。通常、リアルタイム レイ トレーシングでサポートされている機能はパス トレーサーでもサポートされています。

機能名

サポートの有無

追記

ジオメトリ タイプ

Nanite

Nanite が有効なメッシュには、デフォルトでフォールバック メッシュが使用されます。ソース メッシュのトライアングルをより多く使用するには、スタティックメッシュ エディタの [Fallback Relative Error (フォールバック相対誤差)] パラメータの値を小さくします。(実験段階) Nanite メッシュのネイティブのパス トレーシングの初期サポートは、コンソール変数 r.RayTracing.Nanite.Mode 1 を設定することで有効になります。この手法では、ディテールをすべて維持しながらも、GPU のメモリ使用量がゼロ誤差フォールバック メッシュよりも大幅に少なくなります。

スキン メッシュ (Skinned Meshes)

アニメーションによってパス トレーサーが無効になることはなく、ビューポートにぼかしや筋状の表示を発生させる可能性があります。最終的な画像を出力するには、ムービー レンダー キューを使用する必要があります。

ワールド位置オフセット駆動のアニメーション (World Position Offset-driven Animation)

[Evaluate World Position Offset (ワールド位置オフセットを評価)] が個々のシーンのアクタで有効になっている必要があります。パス トレーサーが無効になることはなく、ビューポートにぼかしや筋状の表示を発生させる可能性があります。最終的な画像を出力するには、ムービー レンダー キューを使用する必要があります。

髪の束/ヘア ストランド (Hair Strands)

髪の束 (ヘア ストランド) のサポートは、効率的なアクセラレーション構造を構築するために多くのリソースを必要とするため、引き続き実験的段階と見なされています。コンソール変数 r.HairStrands.RaytracingProceduralSplits を使用すると、レンダリング パフォーマンスとアクセラレーション構造のビルド パフォーマンス (メモリ使用量) のバランスを取ることができます。デフォルト値の「4」はレンダリング パフォーマンスを重視した設定ですが、グルームを多用すると不安定になることがあります。GPU タイムアウトが発生する場合は、この値を下げるか、グルームのヘア セグメントの数を削減してみてください。

ランドスケープ (Landscape)

スプライン メッシュ (Spline Mesh)

インスタンス スタティックメッシュ (Instanced Static Mesh)

階層インスタンス スタティックメッシュ (Hierarchical Instanced Static Mesh)

水のジオメトリ (Water Geometry)

r.RayTracing.Geometry.Water 1 コンソール変数を使って有効にする必要があります。

ビジュアル エフェクト

Niagara パーティクル システム (Niagara Particle System)

パーティクル システムによってパス トレーサーが無効になることはなく、ビューポートにぼかしや筋状の表示を発生させます。最終的な画像を出力するには、ムービー レンダー キューを使用する必要があります。

ライト タイプ

ディレクショナル ライト (Directional Light)

スカイ ライト (Sky Light)

  • 現時点では、[Real Time Capture] が有効な場合のみにスカイ ライトのキャプチャが表示されます。

    • スカイ環境とボリュメトリック クラウドはまだサポートされていません。

    • レンダリング品質を向上するには、スカイ ライトのキャプチャ解像度をリアルタイムのキャプチャよりも高くします。

  • リアルタイム キャプチャ モードを使用していない場合は、スカイ ボックス/天球に空が表現されていることが想定されます。そのマテリアルでは、[Is Sky] フラグがマテリアルの設定で有効になっている必要があります。有効になっていないと、イルミネーションはスカイライトに対して二重にカウントされ、サンプルとして重要でないためノイズを発生させる可能性が高くなります。

  • また、スカイ ボックス/天球の形状は、スカイ ライトおよびディレクショナル ライトの効果をオクルードする可能性があるため、シャドウをキャスト しない ものでなければなりません。

ポイント ライト (Point Light)

スポット ライト (Spot Light)

矩形ライト (Rect Light)

ライティング機能/プロパティ

エミッシブ マテリアル (Emissive Material)

小さいエミッシブなパーツは、レンダリングされたシーンに多数のノイズを発生させる場合があります。また、エミッシブなパーツに関連付けられたライトがある場合、二重にカウントされたライティングを発生させます。無効にするには、ポスト プロセス ボリュームの設定の [Emissive Materials (エミッシブ マテリアル)] チェックボックスを使用するか、コンソール変数 r.PathTracing.EnableEmissive 0 を使用します。

スカイ環境 (Sky Atmosphere)

コンポーネント上で [Real Time Capture (リアルタイム キャプチャ)] が有効に設定されたスカイ ライトがシーン内に必要です。または、ポスト プロセス ボリュームの設定の [Reference Atmosphere (参照アトモスフィア)] を有効にして、スカイ ライトに対するスカイ環境の影響をベイクする代わりに、環境のパス トレーシングを有効にします。これを有効にすると、シーンに存在するスカイ ライトは自動的に無視されます。詳細については、このページの「フォグと大気のボリュメトリック」セクションを参照してください。

ボリュメトリック クラウド (Volumetric Cloud)

一部サポート有

シーン内に [Real Time Capture] が有効なスカイ ライトが必要です。ポスト プロセス ボリュームの設定の [Reference Atmosphere] が有効な場合、このコンポーネントは現在無視されます。

指数関数的高さフォグ (Exponential Height Fog)

[Volumetric Fog (ボリュメトリック フォグ)] 設定を有効にする必要があります。一部のコントロールは物理的に意味がないため、すべてのコントロールがサポートされているわけではありません。詳細については、このページの「フォグと大気のボリュメトリック」セクションを参照してください。

ボリュメトリック フォグ (Volumetric Fog)

Exponential Height Fog (指数関数的高さフォグ) コンポーネント上で有効にする必要があります。詳細については、このページの「フォグと大気のボリュメトリック」セクションを参照してください。

IES プロファイル (IES Profile)

ライト関数 (Light Function)

r.PathTracing.LightFunctionColor が有効な場合は色付きのライト関数もサポートします。色付きライト関数は現在パス トレーサーのみでサポートされています。

ポスト プロセス

被写界深度 (DOF:Depth of Field)

デフォルトでは、パス トレーサーはエンジンのポスト プロセス被写界深度を活用します。ただし、半透明マテリアルでは、このアプローチ固有の制限が引き継がれます。代わりに、パス トレーシング プロセス中に被写界深度を直接シミュレートする、ポスト プロセス ボリュームの参照品質モードを有効にします。

モーション ブラー (Motion Blur)

一部サポート有

[Path Tracing] モジュールの [Reference Motion Blur (参照モーション ブラー)] を有効にして、ムービー レンダー キューを使用すると、最も正確な結果を得ることができます。このオプションにより、より正確なモーション ブラーを得るためにより高いパフォーマンス負荷が生じますが、スムーズな結果を得ることができます。このモードでは、ポスト プロセス ブラーは適用されず、すべての空間サンプルおよび時間サンプルが蓄積された後にノイズ除去が適用されます。適用する時間サンプルが多いほど品質が高くなります。ただし、時間サンプルの数が非常に大きい場合は、シーケンサーにおけるティック解像度の制限に注意してください。

マテリアル シェーディング モデル

ライティングなし (Unlit)

デフォルト ライティング (Default Lit)

サブサーフェス (Subsurface)

統合済みスキン (Preintegrated Skin)

サブサーフェスのシェーディング モデルと同じレンダリングを実行します。

アルファ ホールドアウト (Alpha Holdout)

クリア コート (Clear Coat)

サブサーフェス プロファイル (Subsurface Profile)

Burley サブサーフェス散乱が有効になっているサブサーフェス プロファイルが必要です。

両面フォリッジ (Two Sided Foliage)

ヘア (Hair)

このシェーディング モデルのサポートは、依然として 実験段階 と見なされており、Lit シェーディング モデルの動作に対してまだ較正されていません。

クロス (Cloth)

眼 (Eye)

単一レイヤー ウォーター (SingleLayerWater)

このシェーディング モデルの実験的サポートを追加しました。ラスタ実装はポスト プロセスに大きく依存するため、近い一致は現在可能ではありません。

薄い透明 (Thin Translucent)

マテリアル表現式から (From Material Expression)

マテリアル機能

色付きシャドウ (Colored Shadow)

薄い透明 (Thin Translucent) またはソリッドなガラスで実現できます。このページの「パス トレーサーを使用したガラスのレンダリング」セクションと、「色吸収」セクションを参照してください。

半透明シャドウ (Translucent Shadow)

屈折 (Refraction)

デカール (Decal)

DecalActor とメッシュ デカールの両方がサポートされるようになりました。DBuffer ノードの完全なサポートは UE 5.3 に実装される予定です。

異方性 (Anisotropy)

システム サポート

複数の GPU (Multiple GPU)

NVIDIA NvLink / SLI をサポートする GPU が必要です。このページの「複数の GPU のサポートを有効にする」セクションを参照してください。

シーケンサーのムービー レンダー キュー (Sequencer Movie Render Queue)

正投影カメラ (Orthographic Camera)

インスタンスごとのカスタム データ (Per Instance Custom Data)

インスタンスごとのランダム データ (Per Instance Random Data)

追加情報

パス トレーシング モードは、Unreal Engine 内の他のレンダリング方式の一部とは機能が異なります。つまり、リアルタイム レンダリングで適切に機能するものでも、パス トレーシングを使用したレンダリングでは最適な動作にならない可能性があります。次のセクションでは、これらの不整合や一般的な問題、およびパス トレーサーの成果を改善するために実行できる手順について説明します。

ファイアフライ アーティファクトを低減する

パス トレーサーは、マテリアルのプロパティに従って光線をランダムに追跡することでライトをシミュレートします。シーンの明るい領域が検出される可能性が低い場合、結果のサンプルは過度に明るくなり、光の斑点 (ファイアフライ) が発生してフレーム内に表示されたり消えたりする場合があります。パス トレーシングでは、これらのエフェクトの共通の発生源に最もなりやすいものが最小化されますが、一部のシナリオではそれでも発生する場合があります。

path tracer firefly artifacts

パス トレーシングされた結果がブルーム ポスト プロセス パスと組み合わさると、結果のピクセルは表示されたり消えたり、明るくなったり暗くなったりするため、非常に目につきやすくなります。

ポスト プロセスの設定の [Max Exposure Path (最大露出パス)] では、レンダリングされたパス トレーシング済みのシーン内で使用される最大露出を制御します。ポスト プロセスの [Max EV100 (最大 EV100)] ([Lens (レンズ)] > [Exposure (露出)] セクション) の設定により、現在のシーンの露出よりも露出を数段階大きくすると、ファイアフライが発生する可能性が低くなります。

ノイズ除去オプション

ビューポートまたは ムービー レンダー キュー を通じてパス トレーサーを使ってフレームをインタラクティブにレンダリングする際は、わずかなノイズが常に発生します。ノイズを削減する 1 つの方法として、ノイズ除去アルゴリズムを使って最終結果を安定させ、ノイズを抑えたクリーンな画像を生成するやり方があります。

パス トレーサーでは、ポスト プロセス ボリューム の設定にある [Path Tracing (パス トレーシング)] セクションの [Denoiser (ノイズ除去)] が有効な場合にノイズ除去が有効になります。

Unreal Engine では、次のサードパーティ製ノイズ除去ライブラリからのプラグインを介してノイズ除去アルゴリズムが実装されます。

  • 「Intel Open Image Denoise」 - 最後に採取したサンプルからのノイズを除去し、長期間実行されるフレームの品質を向上する CPU ベースのノイズ除去のライブラリです。

  • 「NVIDIA Optix AI-Accelerated Denoiser」 - ノイズの除去処理を高速化しつつ、視覚的なノイズを軽減するために、数万点にも及ぶ画像でトレーニングされた、GPU アクセラレーションを活用する人工知能 (AI) のライブラリです。

ノイズ除去が適用されていない画像

ノイズ除去が適用された画像

Open Image Denoise プラグイン

OpenImageDenoise プラグインはデフォルトで有効になります。

このノイズ除去機能は CPU で実行されます。インタラクティブなノイズ除去向けの設計ではありませんが、長期間実行されるフレームの品質改善に役立ちます。このノイズ除去機能はあらゆるケースにおける一時的な一貫性を保証するものではなく、安定した出力を得るために、ピクセルごとに非常に大きい数のサンプルが必要になる場合があります。ムービー レンダー キューを使用している場合に [Anti-aliasing (アンチエイリアス)] モジュール設定の [Temporal Sample Count (テンポラル サンプル数)] の値を大きく設定すると、一時的な安定性が高まります。

Optix Denoise プラグイン

これは実験段階のプラグインです。

OptixDenoise プラグインは [Plugins (プラグイン)] ブラウザで有効にする必要があります。

このノイズ除去機能では、ノイズの除去処理を高速化しつつ、視覚的なノイズを軽減するために、GPU アクセラレーションを活用する人工知能 (AI) を使用します。また、ノイズ除去されたアニメーションのちらつきの低減を試みるテンポラル コンポーネントも備えています。

OptixDenoiseOpenImageDenoise の両方のプラグインをプロジェクトで有効にした場合は、r.PathTracing.SpatialDenoiser.Type コンソール変数を使って、ポスト プロセス ボリュームの設定でノイズ除去が有効になった際に使用するノイズ除去機能を選択する必要があります。デフォルト値の「0」では OpenImageDenoise プラグインが使用され、「1」に設定すると OptixDenoise プラグインが使用されます。

パス トレーサーを使用したスカイライト

スカイライトは、スカイ マテリアルを適用した従来のスカイボックスを使用する方法、またはスカイ ライトの リアルタイム キャプチャ モードを使ってシーン内の空、大気、および雲をキャプチャする方法のいずれかで処理されます。

skyboxmesh.png

VolClouds.png

スカイボックス メッシュ

スカイ ライトのリアルタイム キャプチャ

スカイボックスを使用して空を表現する場合、パス トレーサーと適切に連携するように、メッシュおよびマテリアルにいくつかの設定を行う必要があります。まず、スカイ マテリアルでは、マテリアルの [Details (詳細)] パネルの設定で [Is Sky] フラグが有効になっている必要があります。これによって、シーン内にスカイ ライトが存在する場合に、スカイボックス マテリアルのイルミネーションが二重にカウントされることがなくなります。また、仮に二重にカウントされてしまった場合にも、発生するノイズの量が低減される可能性があります。

Material setting Is Sky flag

レベルでスカイボックス アクタを選択して [Details] パネルの [Cast Shadows (シャドウをキャスト)] を無効にし、シーン内のスカイ ライトとディレクショナル ライトの効果がメッシュに遮られないようにします。

Disable Shadows on SkyBox Mesh

あるいは、スカイ ライトの リアルタイム キャプチャ モードを有効にすることで、スカイ環境 システムおよび ボリュメトリック クラウド システムからのライトの効果をキャプチャすることができます。スカイライトの表現におけるスカイボックス、スカイ環境、およびボリュメトリック クラウドのキャプチャに関するこの制限により、解像度はスカイ ライトの キューブマップの解像度 によって異なります。

VolClouds_128Res.png

VolClouds_512Res.png

スカイ ライト キューブマップの解像度:128 (デフォルト)

スカイ ライト キューブマップの解像度:512

フォグと大気のボリュメトリック

パス トレーサーでは、スカイ環境コンポーネントと指数関数的高さフォグ コンポーネントからのボリュメトリックをサポートします。

参照アトモスフィア

ポスト プロセス ボリュームの設定で [Reference Atmosphere (参照アトモスフィア)] が有効になっている場合は、スカイ環境のライティングが容量分析で計算され、より現実的な結果が出力されます。天空光はローカルの光源およびディレクショナル ライトのみに影響を受けるため、このモードではシーン内のあらゆるスカイ ライトが自動的に無視されます。パス トレーサーでは地球を巨大な球体として表現するため、適切なシャドウイングが行われ、グラウンドの色が全方向からの空への反射光内で適切に反射します。

参照アトモスフィアなしでパス トレースしたシーン

参照アトモスフィア付きでパス トレースしたシーン

参照アトモスフィアを使用する際は、次の点にも注意してください。

  • スカイ環境 を意図どおりに使用するには、その [Transform Mode (トランスフォーム モード)][Planet Top at Component Transform (コンポーネントのトランスフォーム時に球体上部)] に設定し、コンポーネントをシーンの下に移動します。

  • ボリュメトリック クラウド コンポーネントはまだサポートされていません。このコンポーネントには、[Real Time Capture] が有効なスカイ ライトが必要です。このページの「パス トレーサーを使用したスカイ ライト」セクションを参照してください。

ボリュメトリック フォグ

フォグは、[Volumetric Fog] が有効に設定された指数関数的高さフォグ コンポーネントを使用する場合にサポートされます。

path-tracer-fog-4096ssp.png

一部のパラメータは物理的に意味がないため、すべてのコントロールがサポートされているわけではありません。サポートされる主要なパラメータは次のとおりです。

  • Fog Density (フォグ濃度) と Fog Height Falloff (フォグ高さフォールオフ)

  • Scattering Distribution (スキャタリング分布)

  • Albedo (アルベド)

  • Extinction Scale (エクスティンクション スケール)

  • View Distance (表示距離)

    • 無制限の範囲が長いレンダリング時間につながる可能性があるため、以前はこれによって高さフォグの影響が及ぶ領域が制限されていたことに留意してください。

光源の直接的な可視性

厳密でない光源 (ソース半径が設定されたポイント ライト、矩形ライト、スカイ ライトなど) は、デフォルトでカメラの光線に対して直接表示されないようになっています。この例外となるのが、[Real Time Capture] が有効になっているスカイ ライトです。

スカイライトをスカイボックスのジオメトリ、およびスタティックな (または指定した) キューブマップと組み合わせる場合、通常、スカイライトはカメラ光線で表示されることはありません。コンソール変数 r.PathTracing.VisibleLights 1 を設定することで、これを変更できます。

表示されるライトのコンソール変数が有効になっているかどうかにかかわらず、反射と屈折においてすべての光源が表示されるようになります。これにより、光源がすべての光線パスに確実に表示されます。ただし、予期しない動作が発生する場合があります。たとえば、矩形ライトをガラスの窓のすぐ後ろに配置するとそのライトは表示されますが、窓を通した表示はブロックされます。これは、屈折率が 1 でない屈折の場合のみに発生します。

パス トレーサーを使用したガラスのレンダリング

基本的なガラス マテリアル

パス トレーサーでのガラス用の基本的なマテリアルの設定は、いくつかの要素に応じて異なります。最初に判断しなければならないのは、シェードするメッシュが厚みを含めてモデル化されているかどうかです。まずは、ソリッドな (厚みがある) 場合を見ていきましょう。この場合は、マテリアルを次のとおりに設定します。

  • Shading Model (シェーディング モデル):Default Lit (デフォルト ライティング)

  • Blending Mode (ブレンド モード):Translucent (透過)

  • Lighting Mode (ライティング モード):Surface Forward Shading (サーフェス フォワード シェーディング) - すべてのシェーダー パラメータにアクセスするため。

  • Refraction Method (屈折方法):Index of Refraction (屈折率)

この基本的なコンフィギュレーションを設定し、[Opacity (オパシティ)] を「0」に設定すると、マテリアルの一部でライトが屈折します。このオパシティ パラメータは、(ディフューズとスペキュラを含む) 「デフォルト ライティング」シェーディング モデルと、(クリアなガラスを表現する) 完全な屈折シェーディング モデルとの間のブレンディングと捉えることができます。屈折の量は、デフォルトでスペキュラ カラーから自動的に派生されます。より細かく制御するには、マテリアルの [Index of Refraction (屈折率)] スロットに値を入力してこれをオーバーライドすることで、屈折率を IOR の光線曲げエフェクトから切り離して制御できます。次は、最もシンプルなガラス マテリアルの例です。

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

次に、個別の IOR でフレネル エフェクトと屈折を制御することで、ガラス シェーディングをより細かく制御する方法を見ていきます。最大「0.08」の SpecularColor (およそ「1.8」の IOR に相当) までしか生成できないスペキュラを使用する代わりに、[Metallic (メタリック)] を「1.0」に設定することで (SpecularColor=BaseColor になります)、スペキュラ カラーをより直接的に操作します。次に、SpecularColor=((IOR-1)/(IOR+1))^2 で、屈折率の値を使って適切な SpecularColor を算出します。次はマテリアルの例です。

Example of glass material with more control.

次は、スペキュラリティと屈折の個別のコントロールの例です。

スライダをドラッグして、ガラス マテリアルのスペキュラリティが変化する様子を確認してください。スペキュラの値は 0 ~ 1.0 の範囲で 0.1 ずつ変化します。この変化は 1.0 から 1.789 の IOR 値 変化と同等です。

スライダをドラッグして、ガラス マテリアルのペキュラリティが変化する様子を確認してください。スペキュラの値は 0 ~ 1.0 の範囲で 0.1 ずつ変化します。

Thin Translucency シェーディング モデル

Thin Translucency シェーディング モデルは、一枚のガラスが単一のフラット ポリゴンで表現される場合など、厚みがまったくないオブジェクトで物理的に正確な結果を得るのに便利です。薄いガラス マテリアルの設定はほとんど前述と同じですが、以下の点だけを変更する必要があります。

  • Shading Model (シェーディング モデル):Thin Translucent (薄い透明)

  • 色を制御するための Thin Translucent Material ノードを追加する (後述の「色吸収」セクションを参照)

ソリッドな場合と薄い場合の他の動作はすべて同じですが、重要な違いが 1 つあります。薄い場合、ラフネスが低いと、実際には屈折率によって光線の方向は変わりません。ただし、反射性、透過量、反射ラフネスと透過ラフネスとの割合の制御には多少の影響が及びます。屈折率が 1 に近づくにつれて透過ラフネスは低下しますが、反射したラフネスはそのまま変化しません。ソリッドなガラス マテリアルを使って結果を薄いガラスと比べると、この様子を確認することができます。

いずれのケースでも、[Refraction Method (屈折方法)] が [Index Of Refraction (屈折率)] に設定されていない場合、パス トレーサーでは屈折ではなく透過性が使用されます。透過処理はスキャタリング イベントとはみなされないため、バウンスの回数には数えられません。これは、これらのモードにラフネスが適用されないことも意味します。

ソリッドなガラス マテリアル

Thin Translucent のガラス マテリアル

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

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

色吸収

ガラスを透過する色 (別名「ベールの法則」) は、ソリッドなガラス マテリアルのマテリアル グラフ内で Absorption Medium マテリアル出力ノードを使用することで制御できます。この機能は、複数のバウンスによる光線の色の状態を追跡する必要があるため、パス トレーサーのみで使用可能です。

この機能を上記のソリッド ガラスの例に追加するには、次の例のように、いくつかのノードをマテリアルに加えます。

Color Absoprtion material example.

RGB カラーを設定する場合、「1」に近い値に設定すると吸収は示されません。

上記のマテリアルの例では、Transmittance Color を使用して、発生する吸収の量を制御します。指定された色は、100 単位の距離以降に到達するように正規化されています。この距離を変更するには、Transmittance Color = Color^(100/Distance) の式を使用します。

pt-color-absorption-1.png

pt-color-absorption-2.png

pt-color-absorption-3.png

pt-color-absorption-4.png

吸収:0x

吸収:1x

吸収:10x

吸収:100x

薄いガラスでの吸収は、「Thin Translucent Output」ノードを介して制御します。ここで、透過色は仮想の厚みを基準としているため、距離の制御も相対的なものに簡素化できます。

Thin translucency with color absoprtion example.

エネルギー保存

Unreal Engine 5 のエネルギー保存の実装は、金属やガラスのマテリアルのスペキュラ ローブにおけるエネルギー損失を低減するために使用されます。

エネルギー保存 (Energy Conservation) は、[Project Settings (プロジェクト設定)] の [Engine (エンジン)] > [Rendering (レンダリング)] > [Materials (マテリアル)] セクションで有効にできます。

後方互換性を維持するため、現時点でこの機能はデフォルトで無効になっています。エンジンの今後のリリースでは、この機能はデフォルトで有効にする予定です。

エネルギー保存:無効

エネルギー保存:有効

近似コースティクス

パス トレーサーは近似コースティクスのパスを使用し、特にガラスやメタル サーフェスのラフネス値が低い場合にノイズを低減します。このタイプのマテリアルの場合、反射率が高いコースティクスではさまざまなパターンが生じ、ノイズのないイメージに収束するには現実的でない数のサンプルや時間がかかる可能性があります。

これはたとえば、レンダリングおよびサンプルの蓄積プロセスで画像が順に取得され、処理が完了し、ノイズが除去された結果から最終的な画像が取得された場合などです。

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

通常、コースティクスはノイズのない結果に収束するまで長い時間がかかるため、パス トレーサーではコンソール コマンド r.PathTracing.ApproximateCaustics 1 を使用し、画像内に表示されるコースティクスの近似を実行することで画像のノイズを低減します。この変数はデフォルトで有効になっています。

近似コースティクス:有効

近似コースティクス:無効

さらに考慮するべき要素として、屈折率の高いコースティクスと近似コースティクスの違いがあります。ノイズ除去機能を使用すると、収束するのに十分な時間をかけた場合のコースティクスの表示をプレビューできますが、近似コースティクスを使用すると、はるかに短時間で制作に利用しやすい画像を得ることができます。

屈折コースティクス | 近似コースティクス:有効

屈折コースティクス | 近似コースティクス:無効

粗いライトの透過と反射

パス トレーサーは、粗い反射に加えて、粗い透過のレンダリングを可能にする点がユニークです。さらに、パス トレーサーはこれらのシェーダー パラメータを組み合わせています。

以下の例では、ガラス マテリアルのラフネス値によって異なる近似コースティクス、反射の粗さ、キャストされる半透明のシャドウを示します。

スライダをドラッグすると、ガラス マテリアルが粗さのない状態から一定の粗さの間で変化します。ラフネス値の範囲は 0 ~ 0.2 です。

Ray Type Switch Material ノード

Path Tracing Ray Type Switch ノードは、シャドウ、間接スペキュラ、ボリューム、ディフューズ光線のマテリアル情報の置き換えに使用できます。

Path Tracer Ray Type Switch Material Node

入力オプション

説明

Main

カメラ光線、またはパス トレースされていないシェーディングに使用されます。

Shadow

シャドウ光線のパス トレーサーで使用され、非不透明型のブレンド モードを使用するマテリアルのみに適用されます。

IndirectDiffuse

間接ディフューズ光線のパス トレーサーで使用され、光線の色を置き換えます。

IndirectSpecular

間接スペキュラ光線のパス トレーサーで使用され、光線の色を置き換えます。

IndirectVolume

間接ボリューム光線のパス トレーサーで使用され、光線の色を置き換えます。

次のシーン例では、Path Tracing Ray Type Switch ノードを使って、不透明型マテリアルと透過マテリアルの 2 つのマテリアルが設定されています。不透明型マテリアルは球体に適用されて、マテリアルを反射する間接スペキュラを青色で表示し、赤色の球体周辺の間接ライティングは緑色になります。さらに、透過性のあるチェッカーボード マテリアルでは、そのシャドウがマスクされたテクスチャ サンプルに置き換わります。

Example scene using ray type switch on various materials.

raytypeswitch-indirectdiffuse.png

raytypeswitch-shadow.png

間接スペキュラと間接ディフューズを置き換える不透明型マテリアル。

マテリアルによってシャドウ キャストを置き換える透過マテリアル。

便利なコンソール変数

パス トレーサーを使用する場合に、有効にすると便利なコンソール変数の一部を以下に示します。

コンソール変数

説明

r.PathTracing.VisibleLights

すべてのライトをカメラ光線に対して表示します。デフォルトでは、この変数はエンジンのラスタベース モードに合わせて無効になっていますが、ライトがどのようにモデリングされるのかを把握する場合や、ライトがオーバーラップするケースを特定するのに役立つことがあります。これを「2」に設定すると、スカイライトのみが表示されます。

r.PathTracing.ProgressDisplay

この変数はビューに小さい進捗バーを追加し、ピクセルあたりの構成済みサンプルの進捗を表示します。進捗バーは、蓄積が完了すると自動的に非表示になります。ムービー レンダー キューによるレンダリングに影響することはなく、常に有効にしても問題はありません。これはデフォルトで有効になっています。

r.PathTracing.Denoiser

このオプションを使用すると、ノイズ除去機能のオンとオフをすばやく切り替えることができます (現在のサンプルの蓄積が完了していると想定した場合)。ポスト プロセス ボリュームの設定とは異なり、この変数を変更しても蓄積は再始動されません。また、レンダリング済みのフレームを、ノイズ除去機能を有効にしていない場合とすばやく比較するのに役立つことがあります。

よくある質問 (FAQ)

HighResShot を使用して収束されたパス トレース画像をキャプチャする

シーンで現在アクティブになっている Samples Per Pixel (ピクセルごとのサンプル数) と同等のコンソール変数 r.HighResScreenshotDelay を使用します。正しい出力がキャプチャされていることを確認するには、r.PathTracing.ProgressDisplay の設定を「1」のままにする方法が最適です。キャプチャした画像に進捗バーが表示されない場合は、サンプルの蓄積が完了しています。

ランタイム時にパス トレーサーを有効にする

パス トレーサーは、Enable Path Tracing ブループリント ノードを使用することで、サポートされているハードウェアとプラットフォーム上でランタイム時に起動できます。

Blueprint node to enable path tracer at runtime.

Windows で「D3D Device Removed (D3D デバイスが削除されました) クラッシュ」のタイムアウト遅延を回避する

Windows では、GPU カーネルにかかる時間を制限することで、システムの応答性を維持しようと試みます。ブルート フォース パス トレーシングなどリソースを大量に消費するプロセスでは、特にロー エンド GPU やライト シミュレーションが複雑すぎて妥当な時間で終了できない場合に、この制限を受けやすくなります。

エンジンでは、一度に実行する作業量を制御するために、いくつかのコンソール変数を公開しています。ただし、これらの変数の設定を誤ると、全体的なパフォーマンスが低下することがあります。stat gpu コマンドを使って、全体的なパフォーマンスを監視することをお勧めします。

  • r.PathTracing.DispatchSize は、パス トレースされたレンダリングの最大幅と最大高さをピクセル単位で制御します。この値がビューポートまたは画像の解像度よりも低い場合は、レンダリングが複数のステップで実行されることがあります。この場合、Windows が GPU が引き続き応答していることを確認できる回数が増えます。デフォルト値は「2048」です。

  • r.PathTracing.FlushDispatch は、パス トレース プロセス中にコマンド リストをフラッシュする頻度を制御します。これを「1」に設定すると、Windows は GPU が引き続き応答していることを確認する機会が増えます。デフォルトでは「2」に設定されています。

極端なケースでは、クラッシュを回避しながら適切なパフォーマンスを維持することが困難な場合があります。そのような場合、Windows のタイムアウト制限自体を変更することができます。「GPU ドライバのクラッシュを解決する方法」を参照してください。

ヘア (髪) を含むシーンでは、アクセラレーション構造 (BLAS) のタイムアウトが発生することがあります。その場合は、r.HairStrands.RaytracingProceduralSplits の値を「1」または「2」に下げてみてください。

パス トレース ビューでインスタンスが表示されない

レイ トレーシングはカメラの可視性にも使用されるため、ハードウェア レイ トレーシングのデフォルトのカリング実装は、パス トレーシングのコンテキストにおいては過剰である可能性があります。パス トレーサー ビューに切り替えたときに複数のインスタンスが欠落しているように見える場合は、r.RayTracing.Geometry.InstancedStaticMeshes.Culling を「0」に設定してみてください。

パス トレーサーを Nanite が有効なメッシュで使用する

Nanite が有効なメッシュのネイティブ パス トレーシングに対しては実験段階のサポートが提供されており、r.RayTracing.Nanite.Mode 1 でこれを有効にできます。このモードでは Nanite ストリーミング システムを利用して、レイトレースされたメッシュをその都度準備し、フォールバック メッシュのために可能な量以上のディテールを維持します。

また、表現については、パス トレーサーでは Nanite が有効なメッシュのフォールバック メッシュもサポートしています。フォールバック メッシュでは表現にソース メッシュのトライアングル比率を使用しますが、シーン内での Nanite が有効なメッシュのディテールの低下につながります。スタティックメッシュ エディタでフォールバック メッシュのディテールを高めるには、[Fallback Triangle Percent (フォールバックのトライアングル比率)][Fallback Relative Error (フォールバック相対誤差)] の各パラメータを調整します。

これらの設定の詳細については、「Nanite 仮想化ジオメトリ」ドキュメントの「フォールバック メッシュ」セクションを参照してください。

複数の GPU のサポートを有効にする

複数の GPU を使用するには Windows 10 バージョン 2004 以降が必要です。

複数の GPU (mGPU) を使ったライティングの計算は、複数の NVIDIA GPU をリンク付けしてまとめる NVIDIA の Scalable Link Interface (SLI) 技術を介してサポートされます。これにより、パス トレーサーや GPU Lightmass などの主要なハードウェア レイ トレーシング機能を使用したシーンのレンダリングに必要な処理能力が向上されます。

複数の GPU のコンフィギュレーションに対するサポートを有効にするには、次のステップを実行します。

  • NVLink ブリッジを使って GPU をそれぞれ接続し、NVIDIA のコントロール パネルで SLI を有効にします。

  • -MaxGPUCount=N コマンドライン引数を渡します。ここで N は、利用可能な GPU の数です。たとえば「-MaxGPUCount=2」とします。

  • エディタを起動した状態で、r.PathTracing.MultiGPU 1 コンソール変数を使って複数の GPU のサポートを有効にします。また、「[Unreal Engine Root]/Engine/Config」にある「DefaultEngine.ini」ファイルの [/Script/Engine.RendererSettings] セクションにこのコンソール変数を追加することもできます。

エディタを起動したら、複数の GPU のモードが有効になっていることを [Output Log (アウトプット ログ)] で確認できます。「LogD3D12RHI: Enabling multi-GPU with 2 nodes」というメッセージを見つけます。

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