Path Tracer

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

Choose your operating system:

Windows

macOS

Linux

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

LS_CineCameraActor13_508_0000_Ultra.png

「Virtual tour in Unreal Engine」(ARCHVYZ 制作) Toledano Architects 設計。

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

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

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

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

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

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

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

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

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

LS_CineCameraActor20_612_0000_Ultra.png

「Virtual tour in Unreal Engine」(ARCHVYZ 制作) 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 (ハードウェア レイトレーシング)]:Enable Path Tracing

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Hardware Ray Tracing (ハードウェア レイトレーシング)]:Enable Support Hardware Ray Tracing

  • [Engine (エンジン)] > [Rendering (レンダリング)] > [Hardware Ray Tracing (ハードウェア レイトレーシング)]:Enable Path Tracing

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

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

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

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

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

以下は、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 を設定することをお勧めします。

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

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

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

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

Level Viewport View Mode for Path Tracing

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

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

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

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

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

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

Path Tracer Post Process Volume Settings

プロパティ

説明

Max.Bounces

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

Samples Per Pixel

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

Filter Width

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

Emissive Materials

エミッシブ マテリアルのバウンス ライティングを有効にします。このプロパティを有効にすると、実際の光源によっても表されている、サーフェスのイルミネーション、および小さいエミッタからのノイズが二重にカウントされなくなります。たとえば、小さい電球を表すエミッシブ マテリアルがあり、同時にポイント ライトまたはスポット ライトの光源も使用してエリアを照らしている場合では、二重のカウントが行われています。

Max Path Exposure

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

Denoiser

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

ムービー レンダー キューでパス トレーシングされたレンダリング

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

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

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

Movie Render Queue Path Tracer Module Settings

レベル内に配置された Post Process Volumes も、レイの最大バウンス数、エミッシブ マテリアルのサポート、露出などの特定のパス トレーシング機能を制御します。

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

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

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

    • Temporal Sample Count は、時間内でわずかにオフセットが設定されたインスタンスの複数のレンダリングされたフレームを補間し、モーション ブラーの品質を改善します。このサンプルの蓄積はノイズ除去後に実行され、個々の空間パスからの残存アーティファクトの安定化に役立ちます。

    • Spatial Sample Count は、フレームごとに使用するピクセルあたりのサンプル数を設定します。ピクセルあたりのサンプル数を増やし、各フレームのレンダリングに必要な時間を増やしながら、各レンダリング パスに存在するノイズを低減します。ピクセルあたりのポストプロセス ボリュームのサンプル数は、MRQ 出力のこの設定に影響しません。

    • ピクセルあたりの取得されるサンプルの合計数は、空間サンプル数と時間サンプル数の積です。時間と空間の両方にサンプルが分散していると、より良い結果を得られる場合があります。たとえば、ピクセルあたり 16 のサンプルを使用する場合、空間サンプルで 4 個、時間サンプルで 4 個適用したり、空間サンプルで 16 個、時間サンプルで 1 個適用したりできます。

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

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

追加情報

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

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

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

path tracer firefly artifacts

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

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

ノイズ除去

サンプル数が大きい場合でも、パス トレーサーではレンダリングされたフレームにわずかな残存ノイズが常に発生します。ポストプロセス ボリュームの設定内のノイズ除去オプションは、 Intel の Open Image Denoise ライブラリを利用して最後のサンプルからノイズを除去します。

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

ノイズ除去された画像

ノイズ除去なし

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

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

skyboxmesh.png

VolClouds.png

スカイボックス メッシュ

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

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

Material setting Is Sky flag

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

Disable Shadows on SkyBox Mesh

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

VolClouds_128Res.png

VolClouds_512Res.png

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

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

光源の直接的な可視性

厳密でない光源 (ソース半径が設定されたポイントライト、矩形ライト、スカイ ライトなど) は、デフォルトでカメラのレイに対して直接表示されないようになっています。この例外となるのが、 リアルタイム キャプチャ が有効になっているスカイ ライトです。

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

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

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

パス トレーサーを使用し、指定した厚さのガラスをレンダリングするには 2 つの方法があります。サーフェスの物理的なプロパティに基づいて正確な物理的外観を実現するいくつかの値を使用する方法と、芸術的な方向性で制御を向上するものの、物理的な正しさには多少欠ける追加のプロパティを使用する方法です。これらはどちらも、ガラスのようなマテリアルにパス トレーサーを使用して高い品質を実現する場合に適切かつ有効な方法です。

物理的に正確な結果を得る方法では、以下の例のように、いくつかの値とパラメータをマテリアルに設定するだけで実現できます。

画像をクリックするとフルサイズで表示されます。

芸術的な方向性で制御を向上する必要がある状況では、ベース カラーを調整するとガラスの反射に色合いを付けることができます (ただし、シャドウには付けません)。また、Fresnel を Opacity の入力に接続すると、反射のフォールオフをより詳細に制御できます。

画像をクリックするとフルサイズで表示されます。

近似コースティクス

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

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

画像をクリックするとフルサイズで表示されます。

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

近似コースティクス:オン

近似コースティクス:オフ

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

屈折コースティクス|近似コースティクス:オン (w:900)

屈折コースティクス|近似コースティクス:オフ (w:900)

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

Thin Translucency シェーディング モデルは、近似コースティクスを使用し、厚いガラスに適切に着色された半透明のシャドウで物理的に正確な結果を実現するのに便利です。

画像をクリックするとフルサイズで表示されます。

1 つ注意すべき点としては、各インターフェースが一意のガラスとして処理されることです。つまり、シェーダーによって屈折は計算されず、オブジェクトは固体のジオメトリというよりは泡のような外観になります。

標準ガラス マテリアル

Thin Translucency ガラス マテリアル

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

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

色吸収

[Blend Mode (ブレンド モード)] が [Translucent (透過)] に設定され、屈折パラメータが単位でないマテリアルは、固体ガラスとしてレンダリングされます。ガラスを透過する色 (別名「ベールの法則」) を制御するには、マテリアル グラフの Absorption Medium マテリアル出力ノードを使用します。この機能は、複数のバウンスによる光線の色の状態を追跡する必要があるため、パス トレーサーのみで使用可能です。

これは、パス トレーサーで吸収を制御するために使用するマテリアルの設定例です。

pt-color-absorption-material-graph.png

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

エネルギー保存

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

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

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

エネルギー保存:無効

エネルギー保存:有効

粗いライトの透過と反射

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

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

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

便利なコンソール変数

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

コンソール変数

説明

r.PathTracing.VisibleLights

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

r.PathTracing.ProgressDisplay

この変数はビューに小さい進捗バーを追加し、ピクセルあたりの構成済みサンプルの進捗を表示します。進捗バーは、蓄積が完了すると自動的に非表示になります。ムービー レンダー キューに影響することはなく、有効にしても安全です。

r.PathTracing.Denoiser

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

よくある質問

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

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

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

パス トレーサーは、(サポートされているプラットフォームで) ランタイム時に使用できます。コンソール コマンド show PathTracing を使用すると、ゲーム ビューポートでパス トレーサーのオン/オフを切り替えることができます。ブループリントでは、Execute Console Command を使用して、このタスクを実行できます。

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 の値を「4」に下げてみてください。

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

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

Nanite 対応メッシュでパス トレーサーを使用する

パス トレーサーは現在、Nanite 対応メッシュをサポートしていませんが、パス トレース シーンでの表現にフォールバック メッシュを使用します。フォールバック メッシュは、ソース メッシュの三角ポリゴンのパーセンテージを使用して表現します。これにより、シーンのディテールが低い Nanite 対応メッシュが作成される可能性があります。

Nanite 対応のディテールを増やすには、スタティックメッシュ エディタで Nanite 設定の Fallback Triangle Percent (フォールバックの三角ポリゴン比率) および Fallback Relative Error (フォールバックの相対誤差) を調整する必要があります。

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

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

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

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

機能名

サポートされているかどうか

追記

ジオメトリ タイプ

Nanite

サポートしていない

フォールバック メッシュは、Nanite 対応メッシュに使用されます。ソース メッシュの三角ポリゴンをより多く使用するには、フォールバック相対誤差を低くします。

スキン メッシュ (Skinned Meshes)

あり

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

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

あり

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

髪の束 (Hair Strands)

あり

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

ランドスケープ (Landscape)

あり

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

なし

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

あり

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

あり

ビジュアル エフェクト

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

あり

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

ライト タイプ

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

あり

スカイ ライト (Sky Light)

あり

  • 現在は、 リアルタイム キャプチャ が有効な場合にのみスカイ ライトのキャプチャが表示されます。

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

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

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

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

ポイント ライト (Point Light)

あり

スポット ライト (Spot Light)

あり

矩形ライト (Rect Light)

あり

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

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

あり

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

スカイ アトモスフィア (Sky Atmosphere)

一部あり

シーン内に リアルタイム キャプチャ を有効にしたスカイ ライトが必要です。

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

一部あり

シーン内に リアルタイム キャプチャ を有効にしたスカイ ライトが必要です。

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

なし

現在、Unreal Engine 5.1 でのサポートを予定しています。

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

なし

現在、Unreal Engine 5.1 でのサポートを予定しています。

IES プロファイル (IES Profiles)

あり

ライト関数 (Light Functions)

なし

ポスト プロセス

被写界深度 (Depth of Field)

あり

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

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

一部あり

ムービー レンダー キューからレンダリングされたフレームでのみサポートされています。

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

アンリット (Unlit)

あり

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

あり

サブサーフェス (Subsurface)

あり

統合済みスキン (Preintegrated Skin)

あり

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

クリア コート (Clear Coat)

あり

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

あり

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

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

あり

ヘア (Hair)

あり

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

クロス (Cloth)

あり

眼 (Eye)

あり

SingleLayerWater

なし

薄い透明 (Thin Translucent)

あり

From Material Expression

あり

マテリアル機能

色付きシャドウ (Colored Shadows)

あり

Thin Translucent または固体ガラスで実現できます。このページの「パス トレーサーを使用したガラスのレンダリング」セクションおよび「色吸収」セクションを参照してください。

半透明シャドウ (Translucent Shadows)

あり

屈折 (Refraction)

あり

デカール (Decals)

なし

異方性 (Anisotropy)

あり

システム サポート

マルチ GPU (Multiple GPU)

なし

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

あり

正投影カメラ (Orthographic Camera)

一部あり

ムービー レンダー キューを介した出力は、現在サポートされていません。