Unreal Engine では、Collision (コリジョン) モジュールを使って、パーティクル システムをレベル内のオブジェクトと衝突させるように設定できます。
Unreal Engine の以前のバージョンでは、このモジュールに GPU エミッタを使用する際のオプションがいくつか用意されていました。一般的に最も使用されるのは Depth Buffer のオプションで、これによって環境のシミュレーションが生成されます。低コストですが、精度も低いソリューションです。それらの形状は正確には描写されず、パーティクルが画面外に出るとすぐに非表示になります。
GPU Raytracing Collisions はコリジョン モジュールの実験的機能のオプションなので GPU でハードウェア レイトレーシングを使用することができます。エミッタとそのパーティクルが画面内または画面外のいずれにあるか、またはオブジェクトの背後に隠れているかどうかにかかわらず、コリジョンでは正確な結果を計算するためにレイトレーシングを使用します。
計算は非同期であるため、Niagara コリジョンは 1 フレーム遅れます。
プロジェクト設定を調節する
この機能を使用するには、プロジェクトを DirectX 12 に設定し、GPU のハードウェア レイトレーシングを有効にしておく必要があります。これらのオプションを有効にするには、以下の手順に従います。
[Edit (編集)] > [Project Settings (プロジェクト設定)] を開きます。
rhi を検索します。
[Default RHI] オプションを DirectX 12 に調節します。
画像をクリックするとフルサイズで表示されます。
次に、プロジェクト設定 でもレイトレーシングを有効にします。
レイトレーシング を検索します。
[Support Hardware Ray Tracing (ハードウェア レイトレーシングをサポート)] と [Ray Traced Shadows (レイトレースによるシャドウ)] の両方のオプションをオンにします。
画像をクリックするとフルサイズで表示されます。
コリジョン モジュールを設定する
コリジョン モジュール内で、この実験段階の機能を使用するように設定を調整します。[GPU Collision Type (GPU コリジョン タイプ)] を [GPU Ray Traces (Experimental) (GPU レイトレーシング (実験段階))] に設定します。
[Trace Provider (トレース プロバイダ)] はデフォルトで [Project Settings] に設定されます。これにより、さまざまなオプションから最適なオプションが選択されます。これを手動で [HW Ray Tracing (HW レイトレーシング)] に設定することもできます。
フォールバックを設定する (オプション)
レイトレーシングが使用できない場合はフォールバックを設定することができます。そのためには、[Edit] > [Project Settings] を開きます。
次に [Plugins (プラグイン)] > [Niagara] セクションを選択すると、[Async Gpu Trace DI (非同期 GPU トレース DI)] という設定があります。ここには、[HW Ray Tracing] と [Global Signed Distance Fields (符号付きグローバル距離フィールド)] の 2 つのオプションを含む配列が設定されています。オプションがこのように設定されている場合、システムでは最初にレイトレーシングの使用を試みますが、レイトレーシングが使用できないときは、代わりに距離フィールドを使用するようフォールバックします。ここに示されているのは、デフォルトの設定です。
必要に応じて要素を配列に追加したり、再調整することができます。ただし、たいていの場合、デフォルト設定をそのまま使用します。