今まではエフェクトの作成でカスケードを使用してエフェクトを作成していましたが、
今回はNiagaraの構成やエフェクトの作成方法などをやってみます。
Niagara(ナイアガラ)とはどんなものなのか?
カスケードの場合、量子シミュレーションなどをハードコードで制御されているが、
ナイアガラの場合はノードグラフによって制御するため、
プログラマを必要とすることなくエフェクトを作成出来るように力を入れている機能。
※間違いがあったら指摘お願いしますm(_ _)m
ここからはNiagaraを実際に動作させてみようと思います。
※UE4のバージョンは4.20.3を使用しています。
Niagara(ナイアガラ)のファイルを作る。
ここからNiagaraを作成していきます。
その前にNiagaraを使用する際、プラグインの設定を追加します。
「niagara」で検索すれば表示されます。
詳細なアセット作成の欄に「FX」という項目が追加されます。
ここからは実際にNiagaraEmitter等を利用して作成して、
エフェクトを作成していきます。
アニメーションに合わせての粒子分解エフェクト作り
それでは実際に作っていきます。
今回は機能別サンプルのEffectsで使用されているキャラを、
あらかじめデータをプロジェクトに持ってきておきます。
続いてNiagaraのEffect1つ1つを設定出来るNiagaraEmitterと、
それぞれのNiagaraEmitterを管理するNiagaraSystemファイルを追加します。
加えて今回はキャラクターの位置に合わせて量子エフェクトが出るように、
する必要があるためNiagaraModuleScriptを追加しておきます。
エフェクトのEmitterの部分を設定していきます。
今回不要なAdd VelocityとAccelerationForceを削除します。
その後Spawn Rateを削除して、Spawn Burst Instantaneouを追加。
これは一度に指定した数だけレンダリングします。
そこまで完了したら今度はキャラクターのスケルタルメッシュに合わせて、
エフェクトを設定するためにパラメータを追加します。
Particles.SkeltalMeshというパラメータを設定します。
※Particlesの部分が違うと正常にParticlesとして登録できないので注意!
Particles.SkeltalMeshというパラメータを追加したら、
今回適応するキャラのスケルタルメッシュを指定します。
今度はNiagaraSystemの方にEmitterを適応します。
NiagaraSystemはEmitterを設定してレベルのアウトライナに設定したり、
アタッチする以外にNiagaraSystemから直接Emitterの数値をSystem用に、
変更することも可能です。
今回はTrackにエフェクトの動作を設定するだけになります。
スケルタルメッシュが更新されるたびに、
Emitterが発生する位置を更新する必要があります。
NiagaraModuleScriptを使用してスケルタルメッシュの位置を取得します。
ModuleScriptをEmitterの方から参照する時に分かりやすくするため、
カテゴリを設定しておきます。
カテゴリ設定が終わったらMapGetに「Particles.SkeltalMesh」を追加し、
MapSetに「Particles.Position」を追加して下記画像の様に、スクリプトを組みます。
組み終わったら、Emitterにスクリプトを適応します。
Particle Spawnの「+」ボタンを押して、
作成したスクリプトを選択して追加します。
ここまで完成すればキャラクターのアニメーションに合わせた、
粒子エフェクトが出るようになり、こんな人形になれば問題ありません。
キャラクターに合わせてだけだと寂しい感じがしたので、
Particle Updateの「+」ボタンを押して「Curl Noise Force」を選択します。
Curl Noise Forceは3軸で強さに応じてエフェクトを霧散出来るので、
色々使えるかと思います。
最後に、作成したNiagaraをキャラクターにアタッチします。
キャラクターはスタティックメッシュしかないので、
ブループリント化していただき、
下記のようにBPを組めば1秒ごとにエフェクトをアタッチしてくれます。
※このBPはテストで作ったものなので、タイマーに変えてあげてください。
完成すると下のように下の画像のようになります。
細かく調整するとTwitterで公開している下のような形になります。
機能別サンプルのキャラにNiagaraの勉強のために粒子エフェクトをつけてみた!Niagara普通に楽しい!! #UE4 #Niagara pic.twitter.com/npPU6azXjb
— よしかた@作って遊ぶ (@yoshikata_game) 2018年9月23日
Niagara(ナイアガラ)をやってみての感想
プログラムの編集とかはなくすべてノード形式で作れるのと、
簡単にきれいな粒子エフェクトが作れるのでとてもいいと思いました!
今回は以上です!ありがとうございました!!