Unreal Engine(UE)でNiagaraを使って爆発エフェクトを作ってみよう!
爆発エフェクト自体は、各種アセット販売やBlenderなどで自作することが可能ですし楽です。
しかし、UEのNiagaraを使えば細かな設定が可能です。
初心者にはやや難解かもしれませんが、爆発をUEで実装する方法をご紹介します。
動作環境
当記事の動作環境は以下の通りです。
バージョンや環境によっては、正常に動作しない可能性があります。
また、プロジェクトはサードパーソンプロジェクトの使用を前提とします。
爆発エフェクトの作成方法
プラグインの追加
UEのプラグイン「NiagaraFluids」を追加します。
なお、このプラグインは記事執筆時点(2023.10.07)ではベータ版のため、変更されている可能性があります。
予めご了承ください。
Niagaraの作成
Niagara(以下、ナイアガラ)を作成します。
設定が多いため、空のシステムで作成する方が楽です。
当記事では、NS_Explosionsという名前で保存します。
これ以降に図や文で登場する「NS_Explosions」は、ここで作成したナイアガラのことを指します。
噴煙の動きを作成
噴煙の動きを作成していきます。
何もない部分を右クリックして「エミッタを追加」に進み、「Confetti Burst」を追加します。
これは紙吹雪シミュレーションを追加していますが、紙吹雪は消して動き方だけを活用します。
「Confetti Burst」-「パーティクルのスポーン」-「Initialize Particle」を選択します。
「Sprite Attributes」にある「Uniform Sprite Size Min / Max」をそれぞれ10~20ほどに設定します。
「Confetti Burst」-「パーティクル更新」-「Aerodynamic Drag」を選択します。
Aerodynamic Dlag欄の右にある三角マークから、「Float from Curve」を設定します。
さらにキーデータを1つ追加し、以下の通りに設定します。
キー(左から連番) | 時間 | 値 |
---|---|---|
キー1 | 0 | 0 |
キー2 | 0.1~0.4(任意、当記事では0.25に設定) | 0 |
キー3 | 1 | 1 |
最初は噴煙を直線的に早く(勢い良く)出現させ、次第にゆっくりと落下させるための設定です。
最後に紙吹雪を消して、これ以降は紙吹雪の動き方だけを使用します。
「Confetti Burst」-「レンダリング」-「Sprite Renderer」のチェックを外します。
これで動き方は残したまま、紙吹雪自体を消すことができます。
噴煙自体を作成
何もない部分を右クリックして「エミッタを追加」に進み、「親エミッタ」-「Grid 3D Gas Master Emitter」を追加します。
これは3Dガスシミュレーションを追加しています。これをそのまま噴煙として使用します。
噴煙が発射する球体部分を見せたくないため、消してしまいます。
逆に球体(噴煙の根源)を見せたい場合はこの章は不要です。
「Grid 3D Gas Master Emitter」-「Sourcing」-「Grid 3D Gas Sphere Source」をOFFにします。
「Grid 3D Gas Master Emitter」-「エミッタの概要」-「Simulation」を選択し、World Sizeに好みの値に変更します。
項目 | 設定値 | 効果 |
---|---|---|
World Size XY(赤・緑) | 好みの値 | 爆発エフェクトの前後左右の大きさ |
World Size Z(青) | 好みの値 | 爆発エフェクトの高さ |
また、Tempertureにチェックを入れてガスを高温にすることで、赤(オレンジ)色を帯びた炎混じりの噴煙になります。
同じく「エミッタの概要」にて「Source」を選択して以下の通り設定します。
項目 | 設定値 |
---|---|
Particle Source Type | Emitter |
Emitter Name | ConfettiBurst |
再びエミッタ「Confetti Burst」を編集
再びエミッタ「Confetti Burst」を編集します。
「Confetti Burst」-「パーティクル更新」の右にある+ボタンをクリックして「Fluid Gas Source」を追加します。
これは3D気体シミュレーションを追加しています。
「Confetti Burst」-「Fluid Gas Source」を選択します。
Radius欄の右にある三角マークから、「Float from Curve」を設定します。
Scale Curveを10に設定します。
これは煙の量だと考えて良いです。10に近いと煙が大量に、1に近いとほぼ煙が無い状態になります。
Temperatureを好みの値に設定します。
これは噴煙に混じる炎の量で、1に近いほど炎が多く、0に近いほど炎が少なめになります。
項目 | 設定値 | 効果 |
---|---|---|
Scale Curve | 1以上の任意の数値 | 煙の量。値が大きいほど煙が多く出る。 |
Temperature | 0~1の任意の数値 | 噴煙に混じる炎の量。1に近いほど炎が多く、0に近いほど炎が少なめ。 |
「Confetti Burst」-「velocity」を選択し、「Velosity Speed」のMinimum / Maximumを好みの設定値にします。
凄く簡潔に説明すると、噴煙の起動時のスピード( = 実質エネルギー)を定義します。
値が少ない(エネルギーが小さい)と、小さい爆発となり遠くに噴煙が飛びません。
あくまでイメージですが、噴煙出力スピードが変わると思ってください。
最小値 | 最大値 | 噴煙への影響 |
---|---|---|
1m/秒 | 10m/秒 | そもそものエネルギーが低いため噴煙が小さくなる。 |
50m/秒 | 100m/秒 | 初速が早いため噴出直後の飛距離は出るが、最大速度が遅いためすぐ失速して落ちる。 |
100m/秒 | 800/秒 | エネルギーが大きいため噴煙の飛距離やスピードが大きくなる。 |
これを最大値を下げて1m/秒から10m/秒までにすると、スピードが落ちてエネルギーが小さくなるので噴煙が小さくなります。
逆に最小値を上げて50m/秒から100m/秒にすれば、初速が早くなる分若干噴煙の飛距離が出ます。
最小値も最大値も上げて100m/秒から800/秒にすれば、エネルギーが大きくなるので噴煙も大きくなります。
一旦完成
ここまで出来たら、コンパイルして保存します。これで一応爆発はできました。
アレンジする
エフェクトの大きさを変えたり、煙や炎の量を調整したりしてアレンジすることで、他のクリエイターさんと差をつけることができます!
炎を増やす
「Confetti Burst」-「Fluid Gas Source」-「Temperature」の設定値を0.05 → 0.5に上げてみましょう。
アレンジ前に比べるとかなり熱そうな感じが増しています。
色を変えてみる
炎を増やした状態で、「Grid 3D Gas Master Emitter」-「エミッタの概要」-「Render」を選択します。
Reder Color欄にあるSmoke Colorを青っぽくします。
煙の色が変わることで、不気味さなど雰囲気がガラッと変わります。
重力を増やして火だけ落下させる
「Grid 3D Gas Master Emitter」-「エミッタの概要」-「Simulation」-「Gravity」のZの値を増やします。
また、「Confetti Burst」-「パーティクル更新」-「Gravit Force」のZの値も増やします。
炎がアレンジ前に比べて早く下に向かうため、縦長の炎になります。
変えたのは重力だけで大きさは一切変更していませんが、炎が横に広がるより先に下に落ちてしまうため、見た目はこれだけ小さくなります。
まとめ
UEの爆発エフェクトは、正直自作よりも無料配布や有料販売されているアセットを使用する方が良いです。
しかし、細かな調整をしたいという場合にはやはり自作する道しかありません。
自分なりのアレンジを加えて、ぜひ実装してみましょう!