4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity Particle System でメッシュの頂点番号順にパーティクルを発生させる方法

Posted at

UnityのParticle Systemは、自由度の高いエフェクトを作成できるツールです。この記事では、ShapeをMeshに設定した時、メッシュの頂点番号順にパーティクルを発生させる方法と、その際に遭遇する問題の解決策をまとめています。動作環境はUnity 2022.3.6f1です。

前提

本記事はUnity側での設定のみをまとめています。
Blenderで頂点番号を調整するには以下の記事を参考にしてください。
【Blender】メッシュのINDEX番号を変えるにはSort Elements(要素をソート)を使う。しかし並べ方の癖が強い
blenderで頂点番号を確認する方法

背景

Particle SystemのShapeを“Mesh”に設定すると、メッシュの頂点番号に基づいてパーティクルが発生します。さらに、Typeを"Vertex"、Modeを“Loop”設定を有効化すると、頂点番号に従った発生が可能です。
image.png

しかし、Blender等のモデリングツールでメッシュの頂点番号を意図した順序に並び替えても、Unity側で自動的に頂点の最適化(Optimize)が行われるため、想定した順番でパーティクルを発生させることができません。

解決策

Unity側での最適化を回避します。

Blender等からエクスポートしたFBXファイルをUnityプロジェクトにインポートします。
ProjectからFBXファイルを選択し、Inspectorでインポート設定を変更します。
Optimize MeshのVertex Orderのチェックを外します。
image.png

Particle Systemの設定
Shapeを“Mesh”
Typeを"Vertex"
Modeを"Loop"
インポートしたメッシュを指定します。
image.png

必要に応じてMainモジュールのStart SpeedやStart Size、Emissiotnの量を調節してください。設定例↓
image.png

これで完成です。
この技術を活用するとこのようなものができます。(これはPlaneの中央から外側に向けて頂点番号が増えるようにしたもの)
2024-12-31-11-33-18 (2).gif

できない場合

できていない場合は、以下のことが考えられます。
・Particleが動いて頂点番号順に発生しているかわからない。
  →Start Speedを0にしてください。

・Particleが一箇所に集まっている。
  →Particleのサイズが大きい可能性があります。Start Sizeを小さくしてみてください。

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?