0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

01 - Niagara Systemのコンポーネントについて

0
Posted at

System

image.png

Niagara System内の青色のノードがSystemComponentです。
これは、「エミッターを入れるためのコンテナ(入れ物)」です。
このノードには、そのコンテナ全体の振る舞いや、中に含まれるすべてのエミッターに共通するルールを管理する役割を持っています。

◆プロパティ

image.png

プロパティの項目はこのようになっております。
プロパティでは、System自体がどうふるまうかの基本設定を行う場所になっています。
描画カリングのためのバウンディングボックス設定やエフェクトタイプの設定、影やデカールの影響を受けるかどうかなどのレンダリングの設定をすることができます。

◆ システムのスポーン

引用元: System Spawn Group Reference for Niagara Effects in Unreal Engine

システムのスポーンとは、このシステムがレベル上に生成された瞬間、あるいはアクティブになった瞬間に一回だけ処理されるグループ。
BPでいう、BeginPlay()のようなもの。

■システムのスポーンの基本ルール

  • 1回限りの実行システムが作成された際に一回だけ実行される。
  • 初期値のセットアップシステム全体で使用する初期値を設定することができます。
  • 処理の順番モジュールはスタックの上から下へ(トップダウン)の順番で実行されます。

■ 追加できるモジュールの種類

System Spawnでは、以下のモジュールが追加できます。

  • Spawingモジュール
  • 新しいScratch Pad モジュール
  • パラメーターの設定

◇ Spawingモジュール

「Spawn Burst Instaneous」モジュールを追加できますが、筆者のほうで挙動を確認したところ、エラーが出てしまい解決方法がわからなかったため、今後使用方法がわかり次第記述予定。

image.png

◇ 新しいScratch Padモジュール

image.png

Scratch Padとは「自分専用のカスタムモジュールをノードベースで手軽に自作できる機能」です。
Spawn Systemで使用できるカスタムモジュールを追加できますが、筆者がまだこの機能について把握できていないため後日記載します。

◇ パラメーターの設定

「Set Parameter」モジュールを追加し、以下2つのアプローチで変数の値を設定することができる。

●既存のパラメーターを追加

Niagaraですでに用意されているシステム変数の初期状態を書き換えることができます。

image.png

すでに用意されているシステムの変数とは、Niagaraエディタ内の「パラメーター」タブの「システム属性」にリストで並んでいます。
その中で、変更したい変数があればSystemのSpawにドラッグアンドドロップすることで、モジュールを追加することができます。

image.png

image.png

このようにSystemSpawnにNiagaraの変数を設定ができるようになりました。

基本的にはSystem Stateなどで直接設定ができるので、あまりNiagara Systemの変数を変えることはなさそうですね。

● 新規パラメーターの追加

オリジナルの変数や、特殊なデータを読み込むためのインターフェースを作成することができます。
今回は、Vector4型の変数を用意し、2つのEmitterの初期値のパーティクルカラーに共有できるようにします。

パラメータータブのシステム属性で、変数を作成します。

image.png

システム属性の+ボタンを押すと新規作成の下にVector4があるので追加します。
今回は、Colorを使用したいのでColorと命名しました。

適当なEmitterの「Initialize Particle」モジュールのColorに先ほど作成したColor変数を付与します。

image.png

ただこの状態だと、Colorの初期化が行われていないためこのようなエラーが出力されます。

image.png

Colorの初期値が設定されていないためエラーが出ています。

なので、SpawnSystemでColorの初期化を行います。

image.png

System SpawnにColorをセットし、色のセットを行いました。

これでコンパイルエラーがなくなり、各Emitterのそれぞれのパーティクルに共通の色を設定することができました。
このように、SystemSpawnで色を共通化したり、float型を追加してParitlcleのLifeTimeを共通化できるのでエフェクトの色味調整などでいちいち各Emitterのパーティクルの色を調整することなくなるため、かなり強力な機能です。

◆システム更新

システムの更新では、「システムが存在している間、マイフレーム常に実行され続ける処理」をまとめているグループ。
BPやC++でいうTick()関数に相当します。

■ System Update の主な役割

時間の経過とともに変化する値の計算や、リアルタイムに監視し続ければならないロジックや変数をここに配置します。ここで計算・更新された変数はその下にあるすべてのエミッターやパーティクルに毎フレーム共有されます。

■ System State モジュール

System State モジュールは、Niagara システムのライフサイクルを設定するモジュール。
エフェクトシステム全体がいつ始まり、いつループし、いつ終了されるのかを定義します。

image.png

モジュールを選択するとこのような設定項目が出てきます。

◇ Inactive Response

Inactive Responseエミッターが非アクティブ状態になった時の動作を指定する。「非アクティブ」とは、エミッタが休止してパーティクルをスポーンまたは管理できなくなった状態を指します。
設定できるモードは以下の2つです。

  • Completeエミッターが完了すると、システムがキルされる。
  • Killシステムとエミッタの両方がすぐにキルされる。

◇ Loop Behavior

Infinite, Once, Multipleの3つのモードがあります。

  • Infinite無限に再生
  • Once一度だけ
  • Multiple指定した回数だけループする。

◇ Loop Count

ループする回数。

◇ Loop Duration

Niagaraの持続時間を設定します。

◇ Loop Delay

ループする際の遅延時間。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?