UE4 NiagaraとBlurprintの連携
環境
UE4.19.0
概要
今回はNiagaraActor, NiagaraComponentについても軽く触れます。
前回と前々回の記事も参考にしてください。
前回
papersloth.hatenablog.com
前々回
papersloth.hatenablog.com
Niagaraと連携するためのノード
Niagaraを利用する上で使うノードは基本的には上記の3つです。
これらはNiagaraFunctionLibraryの中に定義されています。
Engine\Plugins\FX\Niagara\Source\Niagara\Public\PublicNiagaraFunctionLibrary.h
Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraFunctionLibrary.cpp
NiagaraParameterCollectionはまだ解析できていないため、今回は説明を省かせていただきます。
Cascadeを利用したことがある方は先程のノードを見ただけでピンときたかもしれません。
実は今まで何度も使っているノードと使い方が一緒なんですね。
Spawn - AtaLocationはその指定した場所にエフェクトを生成します。
Spawn - Attachedは指定したComponentにエフェクトのコンポーネントを追加します。
BlueprintからNiagaraを生成する
Level BlueprintでNiagaraを生成してみました。
この時にSystem Templateに指定するのはNiagara Systemになります。
今回はサンプルのNiagara Emitterを登録しただけのNiagara Systemです。
実行結果は下記のようになります。
Niagara Blueprintとの連携ブログ用埋め込み動画 pic.twitter.com/lIBnAW67bo
— まめお@技 (@PaperSlothTech) 2018年3月26日
これさえ分かればあとはヒット時の処理でヒットエフェクトを出したり
攻撃時の処理で斬撃エフェクトを出したりできるようになりますね。
既存のBlueprintにNiagaraをアタッチする
キャラクターBlueprintがあって、そのBlueprintにエフェクトをアタッチしたい場合の例を紹介します。
ロボやジェットパックのブーストエフェクトとかとかですね。
方法① NiagaraComponentを追加する
AddからNiagaraを選択してNiagaraComponentを追加するパターンです。
これもCascadeと使い方は同じなので直感的ですね。
方法② Spawn System Attachedを使って任意のタイミングで追加する
今回はMeshにNiagaraComponentを追加した場合です。
BeginPlayで行っているので、動きとしては特別なことはありませんが
アイテムを拾ったときなどタイミングは様々ですね。
今回はBlueprintからの呼び出しについて紹介しました。
Cascadeを触ったことがある人にはおなじみの内容でしたね。
他にもCascadeと変わっていない部分が幾つかあるので、Cascadeを触ったことがある人なら直ぐに馴染めます!