【UE5】Mesh Rendererでランダムなメッシュを生成するエフェクトを作成

Niagaraでは様々なレンダラーモジュールを使うことで、パーティクルがどのように表示されるかを制御できます。
docs.unrealengine.com

その中でも Mesh Renderer を使用すると、スタティックメッシュをパーティクルの見た目として使うことができます。
今回はその Mesh Renderer を活用して複数のメッシュをランダムに表示する方法を2通り紹介します。

まずはシンプルな Niagara System を作成します。(Niagara Emitterでも問題ありません。)
今回はわかりやすく[Fountain]エミッターを1つだけ追加した Niagara System とします。




作成した Niagara System を開き、デフォルトで追加されている[Sprite Renderer]を削除し、[Mesh Renderer]を追加します。




ここから Mesh Index を使う方法と、Visibility Tag を使う方法で2通りに分かれます。


Mesh Index を使う方法

[Mesh Renderer]の[Meshes]にメッシュを設定します。今回はキューブ、スフィア、コーンの3つを設定しました。




Particle Attributes に[Mesh Index]を追加します。




最後に追加した[Mesh Index]を[Particle Spawn]にドラッグ&ドロップし、Setモジュールの詳細パネルから値を0~2の範囲でランダムに設定するようにします。


Visibility Tag を使う方法

さらに2つ[Mesh Renderer]を追加し、各メッシュを適当に設定します。
今回はキューブ、スフィア、コーンの3つを設定しました。




次に各Mesh Rendererの詳細パネルから[Renderer Visibility]を0~2に設定します。




Particle Attributes に[Visibility Tag]を追加します。




最後に追加した[Visibility Tag]を[Particle Spawn]にドラッグ&ドロップし、Setモジュールの詳細パネルから値を0~2の範囲でランダムに設定するようにします。



実行結果

ランダムにメッシュが生成されるようになりました!(視覚的にわかりやすいようにマテリアルも変えています。)



おまけ

Mesh Renderer のメッシュは User Parameter をバインドすることも可能なのでブループリント側で動的に制御することも可能です。




UE Version : 5.3.1