広告 エフェクト関連テク

Niagaraを使って爆発を実装しよう!

Unreal Engine(UE)でNiagaraを使って爆発エフェクトを作ってみよう!
爆発エフェクト自体は、各種アセット販売やBlenderなどで自作することが可能ですし楽です。
しかし、UEのNiagaraを使えば細かな設定が可能です。

初心者にはやや難解かもしれませんが、爆発をUEで実装する方法をご紹介します。

爆発サンプル
完成イメージ

動作環境

当記事の動作環境は以下の通りです。
バージョンや環境によっては、正常に動作しない可能性があります。

ポイント

OS:Windows11 (Ver 22H2)

GPU:NVIDIA GeForce RTX 3060 Ti (Ver 3.27.0.112)

UE:UnrealEngine5 (Ver 5.3.1)

また、プロジェクトはサードパーソンプロジェクトの使用を前提とします。

爆発エフェクトの作成方法

プラグインの追加

UEのプラグイン「NiagaraFluids」を追加します。
なお、このプラグインは記事執筆時点(2023.10.07)ではベータ版のため、変更されている可能性があります。
予めご了承ください。

UEのプラグイン「niagarafluids」を追加するダイアログ

Niagaraの作成

Niagara(以下、ナイアガラ)を作成します。
設定が多いため、空のシステムで作成する方が楽です。

UEのナイアガラエフェクトで空のシステムを作る

当記事では、NS_Explosionsという名前で保存します。
これ以降に図や文で登場する「NS_Explosions」は、ここで作成したナイアガラのことを指します。

エミッタ「Confetti Burst」の追加

噴煙の動きを作成していきます。

何もない部分を右クリックして「エミッタを追加」に進み、「Confetti Burst」を追加します。

これは紙吹雪シミュレーションを追加しています。
この紙吹雪を後で消して、紙吹雪の動き方だけを活用します。

ConfettiBurstの追加

スプライト パーティクルのサイズ調整

「Confetti Burst」-「パーティクルのスポーン」-「Initialize Particle」を選択します。
「Sprite Attributes」にある「Uniform Sprite Size Min / Max」をそれぞれ10~20ほどに設定します。

InitializeParticleの設定

Aerodynamic Drag設定

「Confetti Burst」-「パーティクル更新」-「Aerodynamic Drag」を選択します。
Aerodynamic Dlag欄の右にある三角マークから、「Float from Curve」を設定します。

Aerodynamic設定

さらに以下の通りに設定します。

  • キーデータを1つ追加
  • 時間0、値0
  • 時間0.1~0.3(任意)、値0(当記事では時間を0.25に設定)
  • 時間1、値1

噴煙を、最初は直線的に早く出現させ、次第にゆっくりと落下させるための設定です。

Aerodynamic設定

Sprite Rendererの削除

sprite renderer設定

最後に、紙吹雪を消します。

ここから先は、これまで作成した紙吹雪の動き方だけを使用します。

「Confetti Burst」-「レンダリング」-「Sprite Renderer」のチェックを外します。
これで動き方は残したまま、紙吹雪自体を消すことができます。

エミッタ「Grid 3D Gas Master Emitter」の追加

何もない部分を右クリックして「エミッタを追加」に進み、「親エミッタ」-「Grid 3D Gas Master Emitter」を追加します。

これは3Dガスシミュレーションを追加しています。これをそのまま噴煙として使用します。

Grid 3D Gas Master Emitterの追加

Grid 3D Gas Sphere SourceをOFF

grid-3D-gas-sphere-source設定

噴煙が発射する球体部分を見せたくないため、消してしまいます。
逆に球体(噴煙の根源)を見せたい場合はこの章は不要です。

「Grid 3D Gas Master Emitter」-「Sourcing」-「Grid 3D Gas Sphere Source」をOFFにします。

Grid 3D Gas Master Emitterの編集

「Grid 3D Gas Master Emitter」-「エミッタの概要」-「Simulation」を選択します。

World Sizeを好みの値に変更します。これが爆発エフェクトの大きさ設定です。
前後左右に大きくしたい場合はXY(赤・緑)を、高さを出したければZ(青)を大きくします。

Tempertureにチェックを入れます。
ガスを高温にすることで赤(オレンジ)色を帯びた炎混じりの噴煙になります。

explosions-Grid-3D-Gas-Master-Emitter概要設定

同じく「エミッタの概要」にて「Source」を選択します。
Particle Source Typeを”Emitter”に設定します。
Emitter Nameには”ConfettiBurst”を選択します。

explosions-Grid-3D-Gas-Master-Emitter概要設定

再びエミッタ「Confetti Burst」を編集

再びエミッタ「Confetti Burst」を編集します。

Fluid Gas Source追加

「Confetti Burst」-「パーティクル更新」の右にある+ボタンをクリックします。
「Fluid Gas Source」を追加します。

これは3D気体シミュレーションを追加しています。

Fluid Gas Source追加

「Confetti Burst」-「Fluid Gas Source」を選択します。
Radius欄の右にある三角マークから、「Float from Curve」を設定します。

Fluid Gas Source設定

Scale Curveを10に設定します。
これは煙の量だと考えて良いです。10に近いと煙が大量に、1に近いとほぼ煙が無い状態になります。

Temperatureを好みの値に設定します。
これは噴煙に混じる炎の量で、1に近いほど炎が多く、0に近いほど炎が少なめになります。

Fluid Gas Source設定

velocity設定

「Confetti Burst」-「velocity」を選択します。
「Velosity Speed」のMinimum / Maximumを好みの設定値にします。

凄く簡潔に説明すると、噴煙の起動時のスピード( = 実質エネルギー)を定義します。
値が少ないとエネルギーが小さいため、小さい爆発となって遠くに噴煙が飛びません。
逆にエネルギーが大きいと、大爆発となり遠くまで噴煙が飛んでいきます。

あくまでイメージですが、1m/秒のスピードから100m/秒まで上がって噴煙が出力される感じです。

これを最大値を下げて1m/秒から10m/秒までにすると、スピードが落ちてエネルギーが小さくなるので噴煙が小さくなります。
逆に最小値を上げて50m/秒から100m/秒にすれば、初速が早くなる分若干噴煙の飛距離が出ます。
最小値も最大値も上げて100m/秒から800/秒にすれば、エネルギーが大きくなるので噴煙も大きくなります。

velocity設定

一旦完成

ここまで出来たら、コンパイルして保存します。
実際にレベル(マップ)にナイアガラを置いて試してみましょう。

爆発サンプル
完成イメージ

これで一応爆発はできました。

アレンジする

エフェクトの大きさを変えたり、煙や炎の量を調整したりしてアレンジすることで、他のクリエイターさんと差をつけることができます。

炎を増やす

「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の爆発エフェクトは、正直自作よりも無料配布や有料販売されているアセットを使用する方が良いです。
しかし、細かな調整をしたいという場合にはやはり自作する道しかありません。
自分なりのアレンジを加えて、ぜひ実装してみましょう!

-エフェクト関連テク
-