【UE4】デバッグ表示ができる独自のNiagaraModuleを作る

UE4.27 から "Box Location" モジュールや "Sphere Location" モジュールなどでデバッグ表示ができるようになりました。
モジュールを追加後、キューブのアイコンからトグルできます。

f:id:shuntaendo:20220403174139p:plain:w800


今回はこのようなモジュールを作っていきます。

1.モジュールアセットの作成

コンテンツブラウザ上で右クリックし、FX カテゴリから Niagara Module Script アセットを作成します。

f:id:shuntaendo:20220403174958p:plain:w400

2.Static Switch の追加

ノードグラフ上で右クリックから Static Switch ノードを追加し、詳細から下のように設定します。

プロパティ 設定値
Static switch type Enum Constant
Compiler constant Function.DebugState

f:id:shuntaendo:20220403175448p:plain

DebugState の Static Switch ノードが存在するとキューブのアイコンが表示されます。

3.Static Switch にピンを追加

ノードの "+" から Niagara Parameter Map のピンを追加します。

f:id:shuntaendo:20220403180822p:plain


通常時とデバッグ時の処理を分岐できるようになります。

f:id:shuntaendo:20220403180954p:plain

4.デバッグ表示用ノードの追加

Draw 〇〇 Persistent ノードでデバッグ表示ができます。
UE4.27 ではノードグラフ上で右クリックからでは作ることはできず、 Box Location などの既存モジュールからコピー&ペーストするしかないようです。(他に生成方法あるかもです...)

f:id:shuntaendo:20220403183435p:plain:w700

5.Map Get ノードの追加

ノードグラフ上で右クリックから Map Get ノードを追加し、"+" から DebugDraw パラメータを追加します。

f:id:shuntaendo:20220403184332p:plain:w300


外部からの設定はしないので Namespace を Local に変更しておきます。

f:id:shuntaendo:20220403184609p:plain

f:id:shuntaendo:20220403184639p:plain

6.各ノードを繋いで完成

画像のように各ノードを繋ぎます。

f:id:shuntaendo:20220403184914p:plain


詳細の Library VisibilityExposed に設定し、モジュールを公開します。

f:id:shuntaendo:20220403185419p:plain


デバッグ表示できるモジュールが作れました。

f:id:shuntaendo:20220403185208p:plain


まとめ

DebugState はデバッグ表示用に用意されているようなのですが、視覚的な部分以外でも処理を変える目的で使えそうです。

また、現ランチャー版の最新バージョンの UE5 Preview2 では仕組みが変わっており、デバッグ表示自体がまだ使えないようです。




UE Version : 4.27.2-18319896