BLOGブログ

2019.04.24UE4UE/ Effect

[UE4]Niagaraで簡単なエフェクトを作ってみる

執筆バージョン: Unreal Engine 4.21

初めまして、王様です。
初めてブログ書きますが、折角なのでNiagaraに触れてみようと思います。

こんな感じに飛んでる粒子が突然MESHの形になるエフェクトを作ってみます。

以下のステップを踏んて、エフェクトを作成します:

  1. Niagara を使うために、 Niagara プラグインを有効にする、そして NiagaraEmitterとNiagaraEmitterSystemを作成
  2. 作りたいエフェクトに既存エフェクトのモジュールの削除と再利用。
  3. メッシュに変わる部分は既存モジュールでは作れないので、 NiagaraModuleScript を使いModuleを自作する。
  4. 自作Moduleをエフェクトに適用

それでは、実践してみましょう。

Niagara を使うために、Niagaraプラグインを有効にする

今回使用するUE4はバージョン4.21.2。
Niagaraはまだ正式に実装された訳ではないので、まずPluginsでNiagaraとNiagaraExtrasをEnabledにしないと使えないです。
Enabledにして、使えるようにしましょう。


これでNiagaraは使えるようになりました。NiagaraEmitterを作ってください。

いろいろな形なパーティクルが選べるですが、ここでは一番目のDirectinalBurstを選びます。


NiagaraEmitter を作成した後 この NiagaraEmitterを含めたNiagaraEmitterSystemも作成します。
ここではNiagaraEmitter しか触らないですが、NiagaraEmitterSystemじゃないとレベル上に配置できないため、ちゃんと作成しましょう。

作りたいエフェクトに既存エフェクトのモジュールの削除と再利用。

NiagaraEmitterの見た目はこんな感じです。
右側のパネルに注目してみよう,Cascadeを使ったことある人はたぶん見たことあるように感じると思います。
実際Cascadeで使い慣れしたモジュールも多数登場します。
NiagaraEmitterを作成し終わったので、パーティクルの形を作っていきます。
まず下の画像通りにパラメーターを設定していきます。
要らないモジュールを消して、足りないモジュールを追加します。




モジュールを追加したいとき、右側の+ボタンを押して、モジュールをサーチしましょう。


全てのパラメーターを設定すると、パーティクルはこんな感じになります。
後は粒子が突然MESHの形になる部分です、これはNiagaraModuleScriptの力を借りて作ります。

メッシュに変わる部分は既存モジュールでは作れないので、NiagaraModuleScript を使いModuleを自作する。

NiagaraModuleScriptを作成して、myNiagaraと命名します。
左側にあるScriptのパネルをいじります。
ModuleUsageBitmaskを画像みたいに設定します。

設定完了した後、NodeGraphでこんな感じにノードを繋げます。

MapGetのノードに四つのPinをつくります。
気を付けなければならないところは、Pinの名前を変更できるのですが、「.」の前の部分を変えるとErrorを吐き出しますので、変えないようにしてください。
Module.NewVaiable     ModuleのCurveForFloatsを追加
Particles.NormalizedAge   Float値を0~1に 正規化します
この二つのPinを使ってTimeLineを作成し、粒子をMESHの形に変化するタイミングを操作します
Module.NewVaiable001  ModuleのStaticMesh を追加
Particles. Position    粒子のPositionを持ってきます
この二つのPinを使って粒子がStaticMeshの形を変わる動きを作ります。

結局この NiagaraModuleScript使って出力したい値はパーティクルの位置ですので、
MapSetのノードに Particles. PositionのPinだけを追加します。
全てのノードを繋げて、SAVEしましょう。

自作Moduleをエフェクトに適用

NiagaraEmitterに戻って、 NiagaraModuleScripで自作したModuleを適用させよう。

Particle Update の右の+ボタンを押して、My Niagaraをサーチして、適用します。
適用されたモジュールの見た目はこんな感じになります。

Curve は粒子がどのタイミングでMESHの形になるのをTimeLineで設定できる。
Mesh 粒子はDefault Meshに設定されたMeshの形になります。好きなMeshを設定しよう。

ちゃんとモジュールの設定をしてたら、パーティクルはこんな動きになります、これでエフェクトが完成します。
今回はNiagaraに軽く触ってみた、NiagaraはCascadeよりも複雑そうに見えるですが、Moduleを自作できる分、楽しさも倍増したように思えます。
興味ある方は是非Niagaraを使ってエフェクト作ってみてください!