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