moyasiエフェクト館

主にエフェクト関係の記事を上げていこうかと思います。


エフェクトに関係する記事上げてきます
エフェクト関係の記事の内容は緩く募集中
自分がわかる範囲であれば書いていこうかなと。

【UE4】【Niagara】ナイアガラエミッターの流用などについて

f:id:tktknkyo:20180909093327p:plain

今回はNiagaraEmitterについて

Verは4.20.2です

 

【エミッターの数値の連動について】

 

基本的にはカスケードにあったエミッターと同じ感覚で良いのですが。

カスケードと違い、エミッターというアセットが別途保存出来たりするので、それによって変わってくる部分もあるので、主にそこについてです。

 

カスケードのエミッターも、他のカスケードのデータにエミッターのコピーする事は可能です、ただしこれは単純なコピー&ペーストになります。

 

一方、ナイアガラのエミッターの場合、エミッターのアセットと連動するような動きになります、イメージとしてはマテリアルと、マテリアルインスタンスと近いものだと思います。

エミッターのアセット自体がマテリアルなら

システムに登録してあるエミッターは、マテリアルインスタンスと近い関係性を持ちます。

 

f:id:tktknkyo:20180909094509p:plain

例として、例えばこの大きさを変更するモジュールが登録されていた場合。

エミッター側で1と設定して、システムにエミッターを登録するとそのまま1がデフォルトとなりますが。

この登録された状態で、エミッター側のデフォルトを5などに設定すると、システム側の自動で差し替えられます。

 

ただし、エミッター側で1に設定して、システムに登録した後に

システム側で1.5などに変更した後に、エミッター側で5などに変更した場合は、システム側は1.5のままになります。

 

その場合はシステムに登録してあるエミッターには、緑の矢印が付きます。

f:id:tktknkyo:20180909095026p:plain

この矢印をクリックすると、その段階で、エミッターに登録されている数値で上書きします。

 

システム側で数値を調整していればいいのですが、エミッターの数値をそのまま入れている場合、エミッターの数値を変更すると、システム側も数値が書き変わったりするので注意を。

 

とはいえ、エミッターのデフォルト設定は、システムに登録した際のデフォルトとなるので、最初作るときに、汎用性の高い数値を設定しておくと、その後の作業が楽になります。

 

【システム内で出来る事】

 

エミッターの数値の変更等は、大体はシステムに登録した状態でもできるのですが、いくつか出来ないことなどもあるので、その辺について。

 

大きいのは、モジュールの追加はできますが、削除は出来ません。

ただし、システムで新規追加したモジュールであれば削除はできます。

 

f:id:tktknkyo:20180909100529p:plain

なので、エミッター自体にあまりモジュールを追加しすぎると、見にくくなってしまうので注意です。

また、モジュールの削除はできなくても、処理をしない処理にはできるので(ゴミ箱の横のチェックを外す)単純に見にくくなるだけなので、あまり深く考えすぎなくてもいいかなとも思います。

 

また、エミッターにモジュールを追加した場合、そのエミッターが使われているシステムがあれば、システム側のエミッターにも、追加したモジュールが増えるので。

既にシステムに入れてあるエミッターにモジュールを追加する場合、デフォルトでは描画をしないようにしましょう。

 

ナイアガラの、エミッターが別々のアセットとして保存される形式は、カスケードと比べると、自分で作った動きを簡単に複製しやすいので、新しいエフェクトを作る際の手間が減る、というメリットが大きいですが。

その反面として、エミッターのアセットが増えすぎるとややこしくなる、というデメリットも当然あるので、エミッターは汎用性を持たせたデータ作りを意識すると良いのかなと思います。

 

ある程度触った個人的な感想として、エミッター上ではある程度大雑把な動きを作っておき、システム側で微調整する前提で作ったほうが、使い勝手の良いデータになると思います。

 

【まとめ】

ナイアガラのエミッターの仕様は、管理しやすいとも、しにくいとも取れる構成なので、管理しやすいデータ作りを。