UE4 NiagaraをSequencerで使用したい

ご挨拶

こんにちは、Shiotaniです。
Spider Verseの試写会に当たりました。ウキウキしてます。

さて、今回は、Sequencer上でのNiagaraの使用について書きたいと思います。

概要

Niagaraで作成したエフェクトをSequencerで使用したい。

今回すること

  • SequencerのTimelineとNiagaraのTimelineを同期させる
  • User変数をSequencerから操作する

前提

  • Unreal Engine 4.21.2を使用しています。
  • Niagaraは、アーリーアクセスです。
    今後実装方法などに変更がある可能性があります。

  • 今回は以下の記事にて作成したエフェクトを使用します。

saltcanyon.hatenablog.com

実践

NiagaraSystemの準備

1, まずは、Content > FromCascadeToNiagaraフォルダにある"NS_IniLoc"を開きます。

f:id:yuyasaltcanyon:20190209180718p:plain:w500

2, System内上部にあるSystem Exposed Parametersにて、LinerColorを追加します。
 名前は、"User.TrailsColor"としています。

f:id:yuyasaltcanyon:20190209182210p:plain

3, "NE_Trails"Emitter内にて、ColorModuleに先程のUser.TrailsColorをセットします。

f:id:yuyasaltcanyon:20190209182316p:plain

元々のトレイルの粒子が白くなっていれば、okです。

f:id:yuyasaltcanyon:20190209182443p:plain:w700

Sequencerの準備

1, Add Level Sequenceより、カットを追加します。

f:id:yuyasaltcanyon:20190209183546p:plain

2, 以下のボタンから、カメラを追加しておきます。
 カメラの位置等は、ご自由に!

f:id:yuyasaltcanyon:20190209184206p:plain:w500

カメラが追加された状態のカットができればokです。

SequencerにNiagaraを組み込む

1, Level上に"NS_IniLoc"配置します。

f:id:yuyasaltcanyon:20190209185252p:plain:w700

2, 配置した"NS_IniLoc"をSequencerのカット内に追加します。

f:id:yuyasaltcanyon:20190209185706p:plain:w500

以上でSequencerのカット内にNiagara Systemを追加することができます。
ですが、以降の作業にてComponentを使用しますので、以下の手順も行います。

3, 追加したSystemのプラスボタンから、Niagara Componentを追加します。

f:id:yuyasaltcanyon:20190209190027p:plain:w500

以下の様になっていればokです。
f:id:yuyasaltcanyon:20190211001714p:plain

SequencerのTimelineとNiagaraのTimelineを同期させる

実は、カット上にNiagaraSystemを追加するだけでは、
以下の動画の様にSequencerのTimelineとNiagaraSystemの再生は同期されません。

youtu.be


同期するまでを行いたいと思います。

1, ComponentにNiagara System Life Cycle Trackを追加する。

f:id:yuyasaltcanyon:20190209192927p:plain:w500

追加すると以下のような赤いトラックが追加されます。

f:id:yuyasaltcanyon:20190210031657p:plain

この追加したトラックによって、以下の動画のように同期します。

youtu.be



Niagara System Life Cycle Trackの特徴

1, Niagara System Life Cycle Trackの赤いトラック部分内でしか同期しない
 以下の動画の様に赤いトラック外では再生されず、トラック内では再生されます。

youtu.be


2, Niagara System内のEmitter Loop Durationの長さとNiagara System Life Cycle Trackの長さは別モノ
 Niagara System内にて設定したEmitter Loop Duration(以下の写真赤枠部分)のタイミングでリセットされます。

f:id:yuyasaltcanyon:20190210034342p:plain:w800

例:Emitter Loop Durationを2秒、Niagara System Life Cycle Trackの長さを10秒に設定
  動画の様にエフェクトの再生が5回リセットされます。

youtu.be
現在、確認できた特徴は以上です。

User変数をSequencerから操作する

SequencerからNiagara System内のパラメーターを操作したいと思います。
今回は、わかりやすさも兼ねて、色に関するパラメーターを操作しています。

1, Niagara Componentから、事前に用意したUser変数を追加する
 トラックより操作できるUser変数は、Niagara System側にて追加した分、Trackより追加できます。
 また、User変数は、"User.変数名Parameter Track"の形で表記されます。

f:id:yuyasaltcanyon:20190210042107p:plain:w500

2, 後はキーを打つ

youtu.be


以上のようにSequencerのカット内から、User変数を操作することができました。

まとめ

以上で、Niagara SystemとSequencerの再生を同期させ、Systemの持つUser変数をSequencerにて操作できるようになりました。
現状では、Material Parameter Collectionの様にNiagara Parameter CollectionをSequencerから、操作するといったことはできない様ですが、
将来的にできるようになると良いですね!

ありがとうございました。