3
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?

More than 1 year has passed since last update.

【Unity】VFX GraphでSkinned Meshからサンプリングする

Posted at

UnityのVFX Graph 11.0(Unity 2021.1.9f1+)からVFX Graph内でSkinned Meshからサンプリングできるようになったので使い方を解説します。

この記事は以下のバージョンで検証しています。

  • Unity: 2021.3.18f1
  • Visual Effect Graph: 12.1.1.0

以前のバージョンでも以下のパッケージを使用すればSkinned Meshからサンプリングできましたが、VFX Graph公式が対応してくれたことで利用しやすくなりました。(このパッケージも公式が対応したことで、公式実装の利用サンプルに内容が変わっているようです。)
GitHub - keijiro/Smrvfx: Skinned mesh sampling with VFX Graph

準備

VFX GraphでSkinned Meshをサンプリングするために、使用するSkinned MeshのImport SettingsでRead/Writeにチェックを入れておく必要があります。
Prepare2.png

Set Position (Skinned Mesh) Blockを使用する方法

Set Position (Skinnend Mesh) Blockを使用することでSkinned Meshから位置をサンプリングしてパーティクルの位置に設定することができます。
Set Position (Mesh) | Visual Effect Graph | 12.0.0

SkinnedMeshSample01.png
VfxSkinnedMeshSample.gif

Skinned Mesh Rendererをプロパティとして設定する必要がありますが、ここはシーン内にあるものを指定したいのでグラフ自体にSkinned Mesh Rendererプロパティを追加して、それを利用するようにします。このBlockでサンプリングできる位置はオブジェクトスペースなので、ボーンルートのTransformを適用して位置を再設定します。Transformを適用するにはTransform Binderコンポーネントを使用するのが簡単です。
HierarchyAndInspector.png

Sample Skinned Mesh Operatorを使用する方法

Set Position (Skinnend Mesh) Blockは位置を設定するだけでしたが、Sample Skinned Mesh Operatorを使用すると、より複雑なネットワークを作ることができます(ただし、以下のサンプルではSet Position(Skinned Mesh) Blockを使用したサンプルと同じ挙動になるようにしています)。
Sample Mesh | Visual Effect Graph | 12.0.0
SkinnedMeshSample02.png

Sample Skinned Mesh OperatorでPlacement ModeSurfaceSurface CoordinatesUniformにした場合、どの三角形プリミティブ(Triangleプロパティ)のどの位置(Squareプロパティ)からサンプリングするかを指定する必要があります。メッシュを構成する三角形プリミティブの数はSkinned Mesh Index Count Operatorで取得できるインデックス数を3で割ることで求まるので、上のグラフではその値をもとに設定しています。
Mesh Index Count | Visual Effect Graph | 11.0.0

Sample Skinned Mesh Operatorから取得できる値はPositionだけでなく、ColorTexCoord0Normalなども取得することができ、Sample Skinned Mesh Operatorのインスペクターから設定することができます。
SampleSkinnedMesh2.png

参考

3
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
3
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?