デバッグ描画

デバッグ描画を使用して Niagara システムの要素を視覚化する方法を学びます。

Windows
MacOS
Linux

デバッグ描画

デバッグ描画がモジュールで利用可能な場合、クリックするとそのモジュールのビジュアリゼーションが表示されます。次の図は、Sphere Location モジュールに適用されたデバッグ描画の例です。

Debug Drawing on a Sphere Location module

デバッグ描画を有効にする方法

Niagara エディタでは、 デバッグ描画 が利用可能な場合はモジュールにアイコンが表示されます。

ただし、すべてのモジュールでデバッグ描画が利用できるわけではありません。

Debug Drawing icon in the stack

デバッグ描画 を有効にするには、ボックスのアイコンをクリックします。ビューポートにそのモジュールのビジュアリゼーションが表示されます。

複数のデバッグ描画モジュールを有効にする

デバッグ描画 モジュールは、必要なだけ有効にすることができます。複数を有効にすると、モジュールごとに独自の描画が表示されます。

たとえば、 Box Location モジュールと Sphere Location モジュールの両方に対してデバッグ描画を有効にすると、それぞれのビジュアリゼーションが表示されます。

Debug Drawing on both a Sphere and Box Location Module

ここで作成されるパーティクルは、両方のモジュールの組み合わせを使用して場所を決定します。ビジュアリゼーションは、結果のエフェクトがどのように見えるかをデバッグするのに役立つモジュールを個別に表示します。

デバッグ描画の種類

デバッグ描画の主な種類には、 Per Particle (パーティクルごと)Persistent (パーシスタント) の 2 つがあります。Per Particle ビジュアリゼーションを設定して各パーティクルの進捗を追跡し、フレームごとに更新することができます。

Persistent ビジュアリゼーションは一度描画されると、1 つのフレームから次のフレームまで持続します。Persistent の描画は、関数ノードや高速イテレーション パラメータの値のいずれかである定数のパラメータによって制御される必要があります。数学演算またはグラフ演算の結果として描画することはできません。デバッグ描画がこれらのパラメータのコンパイル タグを推測できない場合は、デフォルト値に置き換わります。

上記の Sphere Location モジュールと Box Location モジュールのビジュアリゼーションは、Persistent ビジュアリゼーションの例です。Per Particle ビジュアリゼーションの例は、次の Vortex Force モジュールのデバッグ描画の例で確認することができます。

Debug Drawing on a Vertex Force module

ここではパーティクルごとに線が描画され、その線がそのパーティクルに適用されている頂点の力の方向と強さを示していることがわかります。

デバッグ描画の設定を調整する

デバッグ描画が有効になっているモジュールを選択すると、デフォルトでは [Debug (デバッグ)] セクションが [Selection (セレクション)] パネルの下に追加されます。

Debug Drawing options in the Selection Panel

この例では、描画された線の色や長さ、パーティクルごとにデバッグ描画を描画するのか、またはいくつかスキップするのかなどのパラメータを調整することができます。ここに表示されるデバッグ オプションの種類は、設定したデバッグ描画の種類により異なります。

カスタム モジュールのデバッグ描画を有効にする方法

カスタム モジュールでデバッグ描画を使用する方法を理解するには、すでにデバッグ描画が設定されているモジュールをダブルクリックし、スクリプトがどのように設定されているかを確認します。たとえば Persistent 描画の場合、Sphere Location モジュールと Box Location モジュールを確認します。Per Particle 設定の場合は、Vortex Force モジュールを確認します。

モジュールにデバッグ描画を追加するときは、スクリプトの最後に追加することをお勧めします。それにより、デバッグ インターフェースは他のスクリプトが完了した後に描画されます。

基本的な流れとしては、最初に Map Get を使用して Debug Draw ローカル パラメータと描画を制御するために必要なすべての入力を取得する必要があります。たとえば、線を描画する場合は線の開始点と終了点が必要です。球体を描画する場合は、球体の中心位置と半径が必要です。

実際に必要となる入力は、視覚化しようとするものにより異なります。

Debug Draw Workflow Diagram

たとえば、Vortex Force の場合は次の入力を使用します。

Debug Draw in Map Get module

DebugDraw はモジュールにデバッグ描画インターフェースを追加し、ユーザーは [System Overview (システムの概要)] から デバッグ描画をオンにしたりオフにしたりすることができるようになります。

ParticlesPosition は、そのフレーム上のパーティクルの位置を提供します。VortexForceAmount は、Vortex Force モジュールに設定されている値を表示します。次にユーザーは、カスタム入力を使用してデバッグ描画の線の色や長さを定義することができます。

必要な入力を取得したら、値がローカル空間にある場合はワールド空間に変換する必要があります。Engine Scale は Localspace から Worldspace に変換するために使用されます。

次に DebugDraw の出力ピンを Draw コンポーネントに接続します。DebugDraw からピンを引き出してリリースすると、選択できるさまざまな描画の種類が表示されます。

Debug Draw pin

描画の各種類には、標準オプションと永続オプションがあることに注意してください。標準の描画は、パーティクルが更新されるときにフレームごとに描画を変更する場合に使用されます。

永続的な描画は、Niagara システム全体に 1 つの描画が必要な場合の静的な描画に使用されます。また、永続的な描画の場合は、指定した瞬間のシステムにアクティブなパーティクルがなくても描画することができます。このことにより永続的な描画は、Sphere Location モジュールの例のように、静的な形状を描画するのに最適です。

描画の種類を選択すると、この描画を完成させるために必要なパラメータを接続することができます。次の図は、シンプルな DrawLine コンポーネントの例です。

Draw Line module

Map Get ノードの DebugDraw 出力ピンを DebugDrawInterface ノードの入力ピンに接続します。次に、描画する線の開始位置と終了位置を定義することができます。たとえば、ParticlePosition を StartLocation として設定することができます。次に、ユーザーが線の長さを定義し、VortexForce を使用して線の方向を定義するベクターを設定できるようにします。これをまとめると、スクリプトは次のようになります。

Debug Draw script

この例の詳細は、次のとおりです。

  • A は、必要な値を取得する Map Get ノードです。

  • B は、Localspace から Worldspace に変換します。

  • C は、Vortex Force の開始位置とベクターを一緒に追加して、線の終了点を決定します。

  • D は、デバッグ描画を描画する Draw Line コンポーネントです。

この例をよく見て Vortex Force モジュールを Niagara システムに追加したら、モジュールをダブルクリックして Niagara スクリプトを確認します。

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