BLOGブログ

2023.08.09UE5UE/ Effect

[UE5] Niagara Decal を使ってみる

執筆バージョン: Unreal Engine 5.2

はじめに

今回の記事では5.2から追加されたNiagara Decalについてご紹介します。

デカールはパーティクルエフェクトと併用したい場面が多いのですが、これまではBPを用意するなど少し準備が必要で気軽には使いづらいものでした。

5.2からは下図のようにNiagara内にDecal Rendererが追加されており、簡単に設定できるようになっています。

今回はこの機能を使い実践例としてパーティクルが地面などに衝突したとき、新たにデカールを発生させるという内容で作ってみたいと思います。

 


準備

それでは、まず新規にNiagara Systemを作りましょう。

Contents Browserを右クリックしNiagara Systemから、”New system from selected emitter(s)” を選びます。

 

テンプレートから”Directional Burst” を選びました。

 

Finishを押すと新規にNiagara Systemアセットが作成されます。
アセット名は “NS_DecalTest” としました。

 

アセットをレベル上に配置するとエフェクトが確認できます。
このテンプレートはパーティクルが一方向に飛び散るような動きになっています。

 

次に、このパーティクルが地面などに付いた際に発生するデカール用のエミッターを作ります。
Niagaraエディタ内を右クリックし “Add Emitter…” を選びます。

 

テンプレートから “Simple Sprite Burst” を選びました。

 

DirectionalBurstに加え、原点に白い円のパーティクルが発生するようになります。

 

では、この原点にある円のパーティクルを、DirectionalBurstのパーティクルが地面などに衝突したとき、その場所に発生するようにしてみましょう。

 


コリジョン設定

Burstのエミッターに “Collision” モジュールを追加します。
Particle Updates 右の+ボタンを押して”Collision”を選択してください。

 

続けて、もう一度 Particle Updates +ボタンを押して”Generate Collision Event”モジュールも追加します。

 

このままだと下図のようなコンパイルエラーが出ますので、Logを確認して修正しましょう。

 

Emitter の “Requires Persistent IDs”を有効にする必要があります。
下図のチェックを入れるとエラーが解消します。

 

この状態でレベルに配置したアセットを見てみると、地面にぶつかった際にパーティクルが跳ね返るようになっています。
これでコリジョンの設定ができました。

 

それでは、前項で作成した円形のパーティクルをBurstが衝突したタイミングで発生するよう設定してみましょう。

 

白い円のSimple Sprite Burstエミッターに追加設定します。
+Stageボタンを押して “Event Handler”を選びます。

 

続けて Event Handler Stage にコリジョンイベントを受信するモジュールを追加します。
右の+ボタンを押して、”Receive Collision Event” モジュールを選択してください。

 

Event Handler Properties は下図のように設定しました。
Source: “CollisionEvent”
Execution Mode: “Spawned Particles”
Spawn Number: “1”
と設定しています。

 

この状態でビューポートを見てみます。
Burstの衝突イベントからSimpleSpriteのパーティクルが発生するようになりました。

ただし、パーティクルはSpriteなので地面に刺さって見えています。
これをデカールに置き換えましょう。

 


デカール設定

それではデカールの設定をしていきます。
SimpleSpriteBurstのRednerにDecal Rendererを追加します。
既存のSpriteは不要なため無効にするか削除してください。

 

ビューポートを確認しましょう。無事デカールが表示されました。

Decal Rendererが追加されるとデフォルトのマテリアルが置き換わり、UV値の色が表示されています。
マテリアルはDecal Rendererのスロットから任意のものに変更できます。

Niagara内だけで設定が完結するので便利ですね。
以上で設定は終わりです。

 

おまけ

SpawnRateやCollisionなど設定も変えて、顔料のようなマテリアルにしてみました。

デカールエフェクトは気軽に試せるので楽しいですね。

 


終わりに

本記事では5.2の新機能であるNiagara Decalについて扱い、パーティクルが衝突した場所にデカールを発生させる方法をご紹介しました。

エフェクトとデカールは併用すると表現の幅が広がりそうです。
是非お試しください。