関連ブログ
- [UE5] 元の位置に戻るカメラの実装 2024.12.18UE
- [UE5]難易度変更に対応したシューティングゲームを作ってみよう 2024.12.11UE
- [UE5] インタラクト可能なモノの量産に役立つBPを作ってみよう 2024.12.04UE
CATEGORY
2023.08.09UE5UE/ Effect
執筆バージョン: 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について扱い、パーティクルが衝突した場所にデカールを発生させる方法をご紹介しました。
エフェクトとデカールは併用すると表現の幅が広がりそうです。
是非お試しください。