9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[TraverseSkeletalMesh]スケルタルメッシュ上で移動するパーティクル

Last updated at Posted at 2025-03-31

メッシュ上でパーティクルを這わせるサンプルは数あれど

そのほとんどがDistanceFieldを用いてメッシュ上を這わせる物で、StaticMesh向けの物です。(Distance Field Traversalなど)

スケルタルメッシュメッシュでも同等の表現ができます!

output.gif

特に自前で何か用意する事無く標準の機能だけで実現する事が出来ます。
しかもノーコードです。

今回使う機能

TraverseSkeletalMesh

意外と認知度低いモジュールの名前はその名もTraverseSkeletalMeshです。
今回はその使い方を紹介します。

おなじみのテンプレートFountainを改造して実装してみる。

それではおなじみFountainをカスタマイズして実装していきましょう

新規NiagaraSystemの作成

まずは新規データの作成からです。
ここでテンプレートを用いて作られたシステムに対して改変を加えていきます。

コンテンツブラウザ上で新規NiagaraSystemを作成
image.png

テンプレートからFountainを選ぶ
image.png

出来上がった物を開くと噴水のようにパーティクルが噴き出ています。
image.png

事前のパラメータ準備

GPUで動くようにする

ついでにバウンディングをFixedにしましょう
image.png

不要なモジュール削除

初速や初期位置の為の位置設定は不要なので削除します。
image.png

ユーザーパラメーターの追加

ユーザーパラメーターとしてSkeletalMeshを追加し、適当なメッシュをアサインします。
image.png

スケルタルメッシュの表面位置から出す

SkeletalMeshLocationを追加して、作成したユーザーパラメーターをアサインします。
サンプリングはトライアングル単位にします。
必須な機能はポリゴン上の位置と、TriCoordなので、この2つが出力できれば自前のモジュールスクリプトでも構いません。
image.png

ステージ追加

Updateの下にステージを追加します。後ほど使います
image.png

ここまでが下準備です。

TraverseSkeletalMeshのセットアップ

いよいよTraverseSkeletalMeshの設定をしていきます。

InitializeTraverseSkeletalMeshを追加

TriCoodinateにSkeletalMeshLocationの出力したTriCoordを指定してください。
image.png

Updateの一番下にPrepareTraverseSkeletalMeshを追加

image.png

Prepareの下に TraverseSkeletalMesh本体を追加

スケルタルメッシュパラメータにユーザーパラメータをアサインしてください。
image.png

追加されたシミュレーションステージにApplyTraverseSkeletalMeshを追加追加

image.png

一旦完成

スケルタルメッシュの表面上に沿ってパーティクルが動くようになりました。
result1.gif

ブラッシュアップ

埋まってしまうことに対する対応

パーティクルの中心がメッシュ表面上を動くので、単純実装しただけだと刺さった見た目になってしまいます。
image.png

カメラオフセット

TraverseSkeletalMeshの後にカメラオフセットモジュールを追加し、5cmほどカメラ方向に押し出します。
image.png

今度こそ完成

埋まってるような見た目は回避する事が出来ました。
output2.gif

まとめ

強力で、標準の機能にもかかわらず、資料が少ない機能であるTraverseSkeletalMeshについて紹介しました。
実戦投入するにはTSRやブラー対応を工夫する必要があるかもしれません。
今回は基本的な使い方でしたが、マテリアルやモジュールの組み合わせで大きく可能性が広がるので是非色々試してみてください。

参考

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?