エフェクト

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

Niagaraを使って爆発エフェクトを作ってみよう!爆発エフェクト自体は、各種アセット販売やBlenderなどで自作することが可能ですし楽です。しかし、UEの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」を追加するダイアログ
プラグイン「niagarafluids」追加

Niagaraの作成

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

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

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

噴煙の動きを作成

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

「Confetti Burst」を追加

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

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

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

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

InitializeParticleの設定
InitializeParticleの設定
Aerodynamic Drag設定

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

Aerodynamic設定
Aerodynamic設定

さらにキーデータを1つ追加し、以下の通りに設定します。

キー(左から連番)時間
キー100
キー20.1~0.4(任意、当記事では0.25に設定)0
キー311

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

Aerodynamic設定
Aerodynamic設定
Sprite Rendererの削除
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 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に好みの値に変更します。

項目設定値効果
World Size XY(赤・緑)好みの値爆発エフェクトの前後左右の大きさ
World Size Z(青)好みの値爆発エフェクトの高さ

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

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

同じく「エミッタの概要」にて「Source」を選択して以下の通り設定します。

項目設定値
Particle Source TypeEmitter
Emitter NameConfettiBurst
explosions-Grid-3D-Gas-Master-Emitter概要設定

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

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

Fluid Gas Source追加

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

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

Fluid Gas Source追加
Fluid Gas Source追加

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

Fluid Gas Source設定

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

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

項目設定値効果
Scale Curve1以上の任意の数値煙の量。値が大きいほど煙が多く出る。
Temperature0~1の任意の数値噴煙に混じる炎の量。1に近いほど炎が多く、0に近いほど炎が少なめ。
Fluid Gas Source設定
velocity設定

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

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

あくまでイメージですが、噴煙出力スピードが変わると思ってください。

最小値最大値噴煙への影響
1m/秒10m/秒そもそものエネルギーが低いため噴煙が小さくなる。
50m/秒100m/秒初速が早いため噴出直後の飛距離は出るが、最大速度が遅いためすぐ失速して落ちる。
100m/秒800/秒エネルギーが大きいため噴煙の飛距離やスピードが大きくなる。

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

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

  • この記事を書いた人
  • 最新記事
クルエイチ

クルエイチ

NextClueLabの代表・管理者。 (Clue + 英知・叡智・叡知)でクルエイチ。 平日は会社員。 土日は副業でWeb・スマホアプリの開発やブロガーをこなす。 祝日は休み、UE5で3DCG動画制作などをして過ごす。

人気記事

Unreal Engine(UE)で、フリーフォントや購入したフォントを使ってみよう!とてもシンプルなテクニックですが、他のUE製作者と簡単に差をつけることができます! 1

フリーフォントや購入したフォントを使ってみよう!とてもシンプルなテクニックですが、他のUE製作者と簡単に差をつけることができます!

Windows用にパッケージ化するとエラーが出る場合があります。当記事の対処方法で解決する場合があるので参考にしてみてください。 2

Windows用にパッケージ化するとエラーが出る場合があります。当記事の対処方法で解決する場合があるので参考にしてみてください。

Unreal Engine(UE)で鏡のマテリアルを作ってみよう!壁や床、箱などにも設定可能で自由度の高い鏡マテリアルの作り方を、初心者向けに解説します! 3

鏡のマテリアルを作ってみよう!壁や床、箱などにも設定可能で自由度の高い鏡マテリアルの作り方を、初心者向けに解説します!

-エフェクト
-