Niagara デバッガ

Niagara デバッガを使用してレベルの Niagara システムを分析します。

Windows
MacOS
Linux

Niagara デバッガ

Niagara デバッガは、現在レベルにあるシミュレーションに関する詳細なデータを確認するために役立つ一連のツールを提供します。デバッガを有効にするには、レベル内からトップ メニューをクリックして [Window (ウィンドウ)] > [Niagara Debugger (Niagara デバッガ)] を選択します。これにより、好きな場所にドッキングできるパネルが表示されます。

Niagara Debugger Interface

  1. Niagara Debugger パネル

  2. 再生オプション

  3. デバッガのタブ

  4. デバッガ オプション

デバッガはいくつかのセクションに分割されています。まず、一番上には、再生コントロールを提供するセクションがあります。ここでは Play、Pause、Loop、Step、Speed を選択することができます。

Niagara Debugger Playback

パラメータ

説明

Refresh

選択したデバイス上の設定を更新します。これは、何かの同期が取れなくなった場合に使用します。

Play

レベルにあるすべての Niagara シミュレーションを再生します。

Pause

レベルにあるすべての Niagara シミュレーションを一時停止します。

Loop

レベルにあるすべての Niagara シミュレーションをループします。Loop Time 設定と一緒に使用すると、バーストのような単発で発動するシステムをループさせることができます。

Step

クリックするたびに、すべての Niagara シミュレーションがフレーム 1 つ分、前に進みます。

Speed

レベルにある Niagara シミュレーションの速度を調整します。これは、Niagara シミュレーションの再生速度のみに影響します。レベルにある他の要素は、通常の速度で再生されます。

再生コントロールの下には、いくつかのタブが表示されます。タブをクリックすると、デバッガ内にあるさまざまなツールにアクセスすることができます。

Niagara Debugger Tabs

パラメータ

説明

Debug HUD

デバッグ HUD を使用すると、レベルのシミュレーションに関する詳細情報を表示するヘッドアップディスプレイ (HUD) が有効になります。

FX Outliner

FX Outliner (FX アウトライナ) は、Niagara が デバイスや PIE で実行されると、データをデバッグしてプロファイリングします。

Performance

さまざまなパフォーマンス テスト ツールを使用して Niagara シミュレーションを分析します。

Session Browser

デバッグ オプションを別のセッション (たとえばコンソールや PIE) に設定します。

Debug HUD

デバッガの最初のタブは [Debug HUD (デバッグ HUD)] タブです。デバッグ HUD を有効にすると、レベルのビューポートにヘッドアップ ディスプレイを直接表示することができます。オプションを調整し、表示される情報を選択することができます。

デバッグ HUD を有効にするには、 [Debug HUD] タブの [Debug HUD Enabled (デバッグ HUD の有効化)] オプションを選択します。

デバッグ HUD が有効になると、 ビューポート にさまざまな値が出力されます。

[Debug HUD] タブで選択する設定は、 セッション間で保存されます。さまざまなデータを選択して表示することができますが、データはいくつかのグループに分割されています。

Debug HUD Options

パラメータ

説明

Debug Overview

このセクションを選択すると、システムの合計数、スケーラビリティの合計、アクティブなエミッタの合計数、パーティクルの合計数、およびメモリの合計を含む概要セクションがデバッグ HUD の一番上に表示されます。

Debug Filters

このセクションではフィルタを設定することができ、フィルタに一致するアクタ、コンポーネント、システムやエミッタに関する情報のみを表示させることができます。たとえば、 「*fountain*」 と入力すると、名前のどこかに 「fountain」 が含まれるオブジェクトを表示することができます。これらのフィルタを 「(*)」 のままにしておくと、すべてのアセットが含まれます。

詳細は、 「ワイルドカード検索」 を参照してください。

Debug System

このセクションには、レベル エディタのビューポートにある各システムの詳細情報が表示されます。

Debug Particles

このセクションには、ビューポートの個別のパーティクルに関する詳細情報が表示されます。何千ものパーティクルがある場合は、表示されるデータの数をパーティクルの最大数に制限することもできます。

Debug Overview

[Debug Overview Enabled] をクリックすると、 ビューポート にこれらの値が表示されるようになります。

Enable the Debug Overview

これにより、次の情報が ビューポート に表示されます。

  • システムの合計数

  • スケーラビリティの合計

  • アクティブなエミッタの合計数

  • パーティクルの合計数

  • メモリの合計

Debug HUD Overview

[Debug Overview Font (デバッグ概要のフォント)] オプションをクリックすると、表示されるフォントの大きさに [Small (小)] または [Normal (標準)] のいずれかを選択することができます。また、 ビューポート で概要が表示される位置を、 [Debug Overview Text Location (デバッグ概要のテキスト位置)] の値を使用して調整することもできます。

Debug Filters

アクティブなフィルタは、デバッグ HUD に出力される情報を制御するのに役立ちます。デフォルトでは、それらの各フィルタはすべて表示されることを表す (*) に設定されています。

どのフィルタも、横にあるチェックボックスをクリックすると有効にすることができます。フィルタは、 アクタコンポーネントシステム 、または エミッタ から選択することができます。

フィルタを設定するには、フィルタするものをアスタリスク (*) の間に入力します。たとえば、名前に「System」が入っているシステムをフィルタする場合、 **[System Filter]** の横にあるチェックボックスをクリックして有効にしてから、テキスト エントリ フィールドに 「`*System*`」 と入力します。

デバッグ HUD では、フィルタに一致するシステムが黄色く強調表示されています。

System Filter applied in the Debug HUD

詳細は、 「ワイルドカード検索」 を参照してください。

Debug System

このセクションを使用して、 ビューポート に各システムのデバッグ情報を表示することができます。

この情報は、少なくとも 1 つのフィルタが有効で、少なくとも 1 つのシステムがフィルタに該当する場合にのみ表示されます。

次のオプションを設定して、ビューポートのシステム情報の表示を調整します。

Debug System Options

パラメータ

説明

System Debug Verbosity

None - システムの境界 (有効な場合) 、およびシステムの場所と方向のみが表示されます

Basic - システムの境界 (有効な場合) 、システムの場所と方向、およびコンポーネント名とシステム名が表示されます。また、システムがスケーラビリティによってカリングされているかどうかとその理由も表示されます。

Verbose - システムの境界 (有効な場合) 、システムの場所と方向、コンポーネント名とシステム名が表示されます。システムがスケーラビリティによってカリングされているかどうかとその理由も表示されます。また、システムのアクティブなステータスが表示されます。システムが使用しているメモリの量も表示されます。さらに、システムに エフェクト タイプ が設定されているかどうかも表示されます。

System Emitter Verbosity

None - 追加情報が表示されません。

Basic - エミッタおよびパーティクルの数が表示されます。

Verbose - システム内で見つかった各エミッタ、そのエミッタのステータス、および所有しているパーティクルの数が表示されます。

System Show Bounds

システムの境界を表示します。システムに固定の境界がある場合、このサイズは定数になります。境界が固定されていない場合、境界のサイズが動的に変化してシステムのパーティクルを含みます。

System Show Active Only in World

このオプションを有効にすると、表示されているシステムの情報のみが表示されます。

無効にすると、スケーラビリティによってカリングされているシステムが表示されます。カリングされたシステムは、黒いロケーターで表されます。

Show System Attributes

System Debug Verbosity が Basic または Verbose に設定されている間は、システム属性を使用してデバッグ HUD に追加情報を表示することができます。たとえば、System.Age など、1 つ以上の特定の属性の配列を追加することができます。または、アスタリスクを使用して、たとえば 「System.* 」 や 「*.Age」 などの言葉を含む属性をすべて表示することもできます。

詳細は、 「ワイルドカード検索」 を参照してください。

System Text Options

これらのオプションを使用して、システムの原点に対するテキストの表示を調整します。

Font サイズを調整します (小、または標準)。

Horizontal Alignment:システムの原点に対して左、中心、または右に配置します。

Vertical Alignment:システムの原点に対して上、中心、または下に配置します。

Screen Offset:座標を使用して左または右に調整します。

上記で設定したオプションに従って、 システム オプションビューポート の各システムの原点の横に表示されます。

System Options in the Viewport

オプションの System Show Bounds を有効にした場合、システムの境界の周囲に動的に更新されるボックスが描画されます。

Show System Bounds

Debug Particles

デバッグ HUD を使用するとパーティクルごとの情報をビューポートに直接表示することができ、シーンのデバッグに役立ちます。

Debug Particles を使用する場合は、再生コントロールを使用して 一時停止スキップ 、 および 再生 すると役に立つ場合があることを覚えておいてください。

Particle Attributes

パーティクル属性を表示するには、 System Debug VerbosityBasic または Verbose に設定する必要があります。

パラメータ

説明

Show Particle Attributes

このオプションを有効にして、パーティクルごとの属性を視覚的に表示します。配列要素を使用して表示するパーティクル属性を追加することができます。システム属性と同様に、文字列にアスタリスクを併用して属性の範囲をフィルタしたり、属性の正しい名前 (たとえば「Color」など) を入力したりすることができます。

詳細は、 「ワイルドカード検索」 を参照してください。

Enable GPU Readback

最初に、Show Particle Attributes オプションを有効にする必要があります。次に、このオプションを有効にすると、GPU エミッタのパーティクル属性が表示されます。

このオプションを使用すると、データが GPU から収集され、CPU に送り返されて処理されます。そのため、数フレームのレイテンシーが発生します。

このオプションを使用するとメモリのコストが発生します。これは、システムごとにすべてをリードバックするためです。

Particle Attributes

属性を配列に入力し、それをパーティクルの横にあるビューポートに表示します。複数の属性を入力することができますが、何かを表示するには最低 1 つの属性を設定する必要があります。

例:例:上のスクリーンショットでは、配列に 2 つの属性、Color および Position が追加されています。

Particle Text Options

このオプションを選択し、ビューポートに表示されるテキストを調整します。デフォルトでは、各パーティクルの横に個別にテキストが表示され、テキストはフレームからフレームへとパーティクルが移動すると、それに合わせて移動します。

Font:小、または標準。

Horizontal Alignment:パーティクルの左、中心、または右。

Vertical Alignment:パーティクルの上、中心、または下。

Show Particle Attributes With System

このオプションを有効にすると、Particle Text Options のデフォルト ビヘイビアをオーバーライドします。各パーティクルの横にテキストが表示される代わりに、テキストがシステム統計に追加されます。

Use Max Particles to Display

このオプションでは、ビューポートに情報を表示するパーティクルの数を決定します。

有効 にすると、Max Particles to Display フィールドに設定したパーティクルの数が表示されます。

無効 にすると、すべての Niagara システムのレベルに表示されるパーティクルがすべて表示されます。レベルに何千ものパーティクルがある場合、このオプションによって一部のワークステーションではパフォーマンス問題や out-of-memory エラーが発生する場合があります。

Show Global Budget Info

このオプションは、グローバル予算情報を持つ追加ウィジェットを表示します。これにより、グローバル FX 時間、予算 (ミリ秒単位)、時間 / 予算の比率が表示されます。

希望どおりにオプションを設定すると、Particle Attributes の配列で選択した属性を含むパーティクルごとの出力がビューポートに表示されます。

Particle Attributes in the Viewport

### ワイルドカード検索

フィルタする際に、正確な文字列を使用してフィルタまたは検索することが必要な場合があります。それ以外の場合は、文字列を含むアイテムをすべて検索またはフィルタすることをお勧めします。ワイルドカード検索にアスタリスク (*) を使用する方法については、次のガイドラインに従ってください。

構文

説明

mystring

正確に入力したとおりの文字列 (mystring) を返します

*mystring

「mystring」で終わるアイテムをすべて返します

mystring*

「mystring」で始まるアイテムをすべて返します

*mystring*

テキストのどこかに「mystring」を含むアイテム (たとえば「WootMyStringIsGreat」) をすべて返します

my*string

「my」で始まり「string」で終わるアイテムをすべて返しますが、その間に何かが入る場合があります。たとえば「MyGreatestEverString」が返されます。

コンソール コマンド

[Debug HUD] タブに並んでいるオプションはすべて、コンソール コマンドを使用して手動で実行することができます。

コンソール コマンドを実行するには、それらをアウトプット ログのコンソールに入力する必要があります。

fx.Niagara.Debug.Hud

HUD を変更するための主要なコンソール コマンドです。次の値を設定することができます。

  • fx.Niagara.Debug.Hud は、利用可能なコマンドのリストを表示します。

  • Enabled=1 にすると、HUD が有効になります (「0」で無効にします)。

  • ValidateSystemSimulationDataBuffers=1 は、システム データ バッファの検証を有効または無効にします (「0」で無効にします) 。

  • bValidateParticleDataBuffers=1 は、パーティクル データ バッファの検証を有効または無効にします (「0」で無効にします) 。

  • OverviewEnabled=1 は、メインの概要の表示を有効または無効にします (「0」で無効にします) 。

  • OverviewLocation=30,50」 は、エディタ ビューポートの HUD の位置を設定します。最初の値は X 軸に、次の値は Y 軸に対応します。

  • ShowGlobalBudgetInfo=1 は、グローバル予算情報ウィジェットを有効にします (「0」で無効にします)。

  • EnableGpuParticleReadback=1 は、パーティクル表示の GPU データのリードバックが可能になります (「0」で無効にします)。

  • SystemDebugVerbosity=0 は、システム冗長性のレベルを設定します。「0」は None、「1」は Basic、「2」は Verbose に対応します。

  • SystemEmitterVerbosity=0 は、ワールド内システムのエミッタ デバッグの冗長性を設定します。「0」は None、「1」は Basic、「2」は Verbose に対応します。

  • SystemShowBounds=1 は、フィルタ済みのシステム境界をすべて表示します (「0」で無効にします)。

  • SystemShowActiveOnlyInWorld=1 は、アクティブなコンポーネントをワールド表示でのみ表示します (「0 」で無効にします)。

  • SystemFilter=*Flop*」 は、ワールド表示のワイルドカード システム フィルタを設定します。これは、名前に「flop」が含まれるものすべてと一致します。

  • ComponentFilter=MyComp は、ワールド表示を「MyComp」と一致するすべてのコンポーネントにフィルタします。

  • ShowSystemVariables=1 は、システム変数の可視性が有効になります (「0」で無効にします)。

  • SystemVariables=Position,*Color」 は、「Position」が一致する変数と、「Color」を含むすべての変数を表示します。

  • ShowParticlesVariablesWithSystem=1 を有効にすると、システム表示にパーティクル変数が表示されます。無効にすると (「0」に設定) 、ワールド表示のコンポーネントにアタッチされます。

  • MaxParticlesToDisplay=32 は、表示を 32 のパーティクルに制限します。これは単に、フレーム レートやメモリの破壊を回避するためのものです。

  • ShowParticleVariables=1 は、パーティクル変数の可視性が有効になります (「0」で無効にします)。

  • ParticlesVariables=*Pos,Color」 では、「Pos」を含むすべての変数と、「Color」が一致するすべての変数を表示します。

fx.Niagara.Debug.PlaybackMode

すべての Niagara エフェクトの再生モードを設定します。

  • fx.Niagara.Debug.PlaybackMode 0 は、すべてのシミュレーションを再生します。

  • fx.Niagara.Debug.PlaybackMode 1 は、すべてのシミュレーションを一時停止します。

  • fx.Niagara.Debug.PlaybackMode 2 は、1 つのフレームの実行後、すべてのシミュレーションを一時停止します。

fx.Niagara.Debug.PlaybackRate

Playback Rate は、すべての Niagara シミュレーションのデルタ時間に対するモディファイアです。

  • fx.Niagara.Debug.PlaybackRate 0.5」 は、すべてのシミュレーションを半分の速度で実行します。

Show Global Budget Info に関連するコマンド

  • fx.budget.enabled 1 は、グローバル予算の追跡を有効にします (「0」で無効にします)。

  • fx.Budget.GameThread は、Game スレッド上でのみ実行される結合された FX 作業すべての予算を表示します (ミリ秒単位)。この予算に近づくか超過すると、さまざまな FX システムは予算内に収まるように、より積極的に縮小しようとします。

  • fx.Budget.GameThreadConcurrent は、Game スレッド上または Game スレッドから生成された同時進行するタスク上で実行される結合された FX 作業すべての予算を表示します (ミリ秒単位)。この予算に近づくか超過すると、さまざまな FX システムは予算内に収まるように、より積極的に縮小しようとします。

  • fx.Budget.RenderThread は、Render スレッド上で実行される結合された FX 作業すべての予算を表示します (ミリ秒単位)。この予算に近づくか超過すると、さまざまな FX システムは予算内に収まるように、より積極的に縮小しようとします。

FX アウトライナ

[FX Outliner (FX アウトライナ)] は、 [Niagara Debugger] パネルの 2 番目のタブです。このタブでは、レベルの Niagara シミュレーションをキャプチャし、それを分析することができます。

この機能はまだ開発中で、将来のバージョンで進化していく予定です。

FX アウトライナを開くには、Niagara デバッガでタブをクリックします。

FX Outliner Tab

開始するには、 [Capture (キャプチャ)] ボタンをクリックします。FX アウトライナは、 [Delay (遅延)] フィールドに指定されているフレーム数を待機してから実行します。出力が、下のセクションに表示されます。

FX アウトライナのインターフェース

FX アウトライナのインターフェースは、次のように配置されています。

FX Outliner Interface

  1. ツールバー

  2. ワールド行

  3. システム行

  4. システム インスタンス行

  5. エミッタ行

  6. インライン データ

  7. 選択した行の詳細

FX アウトライナのツールバーから、ツールのオプションを選択することができます。

FX Outliner Toolbar

パラメータ

説明

Capture

クリックして、現在接続されているデバイスでキャプチャをトリガーします。使用するデバイスを変更するには、 [Debugging (デバッグ)] パネルの [Session Browser (セッション ブラウザ)] タブをクリックします。

Perf

このボタンをオンとオフで切り替えて、このキャプチャのパフォーマンス データをキャプチャします。

Delay

データをキャプチャする前に遅延するフレーム数を設定します。たとえば、ゲーム内で特定のアクションを実行する必要がある場合などに、遅延を設定することをお勧めします。

この値は、キャプチャの持続時間も設定します。

View Mode

次のキャプチャ領域の表示モードを選択します。表示モードには State および Performance の2 つがあります。

State は、は、実行状態、パーティクルの数、シミュレーション ターゲットが CPU か GPU かを表示します。

Performance は、利用可能な場合にパフォーマンス情報を表示します。現在、パフォーマンスはシステムとシステム インスタンス レベルで収集されます。エミッタは状態データのみを表示します。

Filters

これをクリックすると、キャプチャ データにさまざまなフィルタ オプションを選択することができます。

System Execution State: Active / Inactive / Inactive Clear / Complete のシステムのみを表示します。

Emitter Execution State: Active / Inactive / Inactive Clear / Complete のエミッタのみを表示します。

  • Active systems and/or emitters (Active のシステムやエミッタ) すべてのスクリプトを実行し、スポーンを許可します。

  • Inactive systems and/or emitters (Inactive のシステムやエミッタ) は、すべてのスクリプトを実行しますが、スポーンは許可しません。

  • Inactive Clear systems and/or emitters (Inactive Clear のシステムやエミッタ) は、既存のパーティクルをすべて消去して非アクティブに変更します。

  • Complete は、システムやエミッタの実行が終了した時です。

Emitter Sim Target は、CPU か GPU でフィルタすることができます。

System Cull State は、スケーラビリティによってカリングされている、またはカリングされていないシステムのみを表示します。

また、検索ボックスを使用して文字列でフィルタすることもできます。

Descending

Ascending または Descending を切り替えて、 Sort Mode の値に基づいてエントリを並び替える方法を変更します。

Sort Mode

エントリのソート方法を設定します。

Auto は、現在の表示モードにデフォルトのモードを選択します。State View を選択している場合、現在のフィルタに一致するエントリの数でソートされます。Performance View では、平均 Game スレッド時間でソートされます。

Filter Matches は、フィルタ条件に一致するエントリの数でソートします。

Average Time は、平均 Game スレッド時間でソートします。

Average Time は、最大 Game スレッド時間でソートします。

Units

パフォーマンス モードの時間の値をマイクロ秒、ミリ秒、または秒の単位で表示します。デフォルト値はマイクロ秒です。

State View

State View には、行のアイテムの状態に関するデータが表示されます。その行がワールド、システム、システム インスタンス、エミッタのいずれを表しているかにより、表示されるデータのタイプは異なります。

FX Outliner State View

  1. ワールド

  2. システム

  3. システム インスタンス

  4. エミッタ

ワールド

パラメータ

説明

World Type

データ ソースを表示します。例:エディタ、ゲーム、PIE。

Net Mode

クライアント、専用サーバー、スタンドアローンのいずれであるかを表示します。

Has Begun Play

True または False を返します。

Number of Systems

現在の検索フィルタに一致するワールド内のシステムの数です。

システム

システムは現時点では、現在の検索フィルタに一致するシステム インスタンスの数のみを出力します。

システム インスタンス

パラメータ

説明

Pooling Method

None、InUse、または FreeInPool のいずれかを返します。

Execution State

システム全体が Active、Inactive、または Complete のいずれであるかを表示します。

Number of Emitters

現在の検索フィルタに一致するシステム インスタンス内のエミッタの数を表示します。

Uninitialized

コンポーネントが作成されても完全に初期化されていない場合、「Uninitialized」と表示されます。

エミッタ

パラメータ

説明

Execution State

エミッタの現在の状態が Active、Inactive、または Complete のいずれであるかを表示します。

Sim Target

このエミッタが CPU エミッタと GPU エミッタのいずれであるかを表示します。

Number of Particles

パーティクルの数を表示します。

Performance View

Performance View には、キャプチャされたパフォーマンス データが表示されます。数値は選択された単位で表示されます。デフォルトはマイクロ秒です。

FX Outliner Performance View

数値のブロックはそれぞれ 2 つに分割されています。左には Game スレッドのコストが、右には Render スレッドのコストが表示されます。

すべての値は Delay の値によって設定されているキャプチャ時間中、計算されます。

  1. すべてのエフェクトの平均合計フレーム時間。

  2. すべてのエフェクトの最大合計フレーム時間。

  3. このシステムのインスタンスあたりの平均コスト

  4. このシステムのインスタンスあたりの最大コスト。

  5. このシステムのすべてのインスタンスの平均合計コスト。

  6. このシステムのすべてのインスタンスの最大合計コスト。

  7. このインスタンスの平均コスト。

  8. このインスタンスの最大コスト。

個別のエミッタについてキャプチャされる情報がないため、エミッタの状態データのみが表示されます。

パフォーマンス

ツールのこのセクションはまだ実験段階のものであり、今後変更される可能性があります。

Performance Tab

パラメータ

説明

Toggle ParticlePerf

このオプションは、パフォーマンス テストの実行時に CPU コストをオンにします。

Run Performance Test

これをクリックすると指定されたフレーム期間、パフォーマンス テストを実行します。テストの実行後は、出力がアウトプット ログにテキスト形式で貼り付けられます。データは .csv 形式です。また、必要に応じてさらに分析するために、アウトプット ログからスプレッドシートにコピーアンドペーストすることができます。

Toggle Baseline

各エフェクト タイプには Niagara システムの [System Properties] で設定されたベースラインがあります。有効な場合、パフォーマンス テストが実行されると、レベルにあるシステムのコストをエフェクト タイプのベースライン コストと比較します。

Enable Async Simulation

クリックすると、レベルにあるすべての Niagara シミュレーションが有効になります。この有効か無効かの設定をすばやく切り替えることにより、発生している問題がこの設定に関連しているのかどうかを判断することができます。

Disable Async Simulation

クリックすると、レベルにあるすべての Niagara シミュレーションが無効になります。この有効か無効かの設定をすばやく切り替えることにより、発生している問題がこの設定に関連しているのかどうかを判断することができます。

セッション ブラウザ

Niagara デバッガの 4 番目のタブは [Session Browser (セッション ブラウザ)] です。

Session Browser Tab

セッション ブラウザは、Niagara デバッガの他のタブ上のすべてのテストが実行される場所を制御します。[Session Browser] には、その瞬間にアクティブなセッションが表示されます。このスクリーンショットの場合は、利用可能なセッションはローカル デバイスで実行中のアプリケーションにあります。

コンソールや他のデバイスで実行中のセッションがある場合、[Session Browser] でそれらを選択すると、Niagara デバッガの情報をそれらのデバイスに出力することができます。

次に、[Debug HUD] タブに戻って表示設定を調整します。

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