PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 NiagaraとBlurprintの連携

環境

UE4.19.0


概要

今回はNiagaraActor, NiagaraComponentについても軽く触れます。

前回と前々回の記事も参考にしてください。
前回
papersloth.hatenablog.com
前々回
papersloth.hatenablog.com


Niagaraと連携するためのノード

f:id:PaperSloth:20180326223627p:plain

Niagaraを利用する上で使うノードは基本的には上記の3つです。
これらはNiagaraFunctionLibraryの中に定義されています。
Engine\Plugins\FX\Niagara\Source\Niagara\Public\PublicNiagaraFunctionLibrary.h
Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraFunctionLibrary.cpp
NiagaraParameterCollectionはまだ解析できていないため、今回は説明を省かせていただきます。

Cascadeを利用したことがある方は先程のノードを見ただけでピンときたかもしれません。
実は今まで何度も使っているノードと使い方が一緒なんですね。
f:id:PaperSloth:20180326224404p:plain

Spawn - AtaLocationはその指定した場所にエフェクトを生成します。
Spawn - Attachedは指定したComponentにエフェクトのコンポーネントを追加します。


BlueprintからNiagaraを生成する

Level BlueprintでNiagaraを生成してみました。
この時にSystem Templateに指定するのはNiagara Systemになります。
f:id:PaperSloth:20180326225536p:plain

今回はサンプルのNiagara Emitterを登録しただけのNiagara Systemです。
実行結果は下記のようになります。

これさえ分かればあとはヒット時の処理でヒットエフェクトを出したり
攻撃時の処理で斬撃エフェクトを出したりできるようになりますね。


既存のBlueprintにNiagaraをアタッチする

キャラクターBlueprintがあって、そのBlueprintにエフェクトをアタッチしたい場合の例を紹介します。
ロボやジェットパックのブーストエフェクトとかとかですね。
f:id:PaperSloth:20180326230609p:plain

方法① NiagaraComponentを追加する
AddからNiagaraを選択してNiagaraComponentを追加するパターンです。
これもCascadeと使い方は同じなので直感的ですね。
f:id:PaperSloth:20180326230841p:plain

方法② Spawn System Attachedを使って任意のタイミングで追加する
f:id:PaperSloth:20180326231237p:plain

今回はMeshにNiagaraComponentを追加した場合です。
BeginPlayで行っているので、動きとしては特別なことはありませんが
アイテムを拾ったときなどタイミングは様々ですね。



今回はBlueprintからの呼び出しについて紹介しました。
Cascadeを触ったことがある人にはおなじみの内容でしたね。
他にもCascadeと変わっていない部分が幾つかあるので、Cascadeを触ったことがある人なら直ぐに馴染めます!