AnimatorやSkinned Mesh Rendererを使用せず, shader側でアニメーション再生することで低負荷・大量描画できます.
このプロジェクトはβ版であり,今後継続開発予定です!
shaderの中身の勉強に利用したり,サンプルのそのまま利用することをおすすめします.
-
アバターP-V5にのみ対応(今後対応予定)
- 好きなアニメーションを使用したい場合はP-V5を合わせてご購入ください
-
アニメーションによっては対応しない可能性あります(今後対応予定).あらかじめご了承ください.
- VRCSDK3-WORLDとUdonSharpをインポートした後, AnimMeshGpuParticle.unitypackageをインポートしてください.
- Particle Sceneに設定済みのprefabがあるのでご参考ください.
-
Vket2021ブースで使用したアニメーション詰め合わせ
-
Assets/AnimMeshGpuParticle/Textures/MotionPacks/にあるMemory_pos p5 Pack.matのパラメータを操作することでアニメーションやパーティクルの動きを変更できます.
-
Animationの切り替え
Start Frame, Frame Countの値を変更するとアニメーションが切り替わります.下の画像のXがStartFrame,YがFrame Countです.
- Cheering (1, 57)
- Cheering2 (58, 87)
- Salsa Dancing (145, 68)
- Sitting Clap (213, 125)
- Standing Thumbs Up (338, 125)
- Victory Idle (463, 50)
- HipHop Dancing (513, 134)
- Boxing (647, 52)
- Boxing2 (699, 66)
- Bboy HipHop (765, 66)
- Idle (831, 250)
- Agura (1081, 326)
-
Gravityの変更
GravityYを変更するとパーティクルに加わる重力方向が変更されます
- ShaderFes2021で展示予定.
-
まずは用意したアバターのメッシュ情報とアニメーション情報からAnimation Textureを作成する必要があります.詳しい変換方法はAnimation GPU Instancingをご参考ください.
-
以下で簡単な説明をします
-
P-V5を用意して,いつも通りAnimatorを追加して好きなAnimationをセットする
-
Animation GPU Instancingの変換ツールを使用する.
-
2.で作成されたフォルダ内のTexturesフォルダにAnimTex_###.assetというテクスチャが生成されます(イメージ下図)
-
Assets/AnimMeshGpuParticle/Textures/MotionPacks/にあるMemory_###.matのマテリアルのAnimation Textureを3.で作成したものに変更します.
-
- Unity: 2019.4.31
- VRCSDK3: 2021.09.30.16.18
- UdonSharp: 0.20.3
chootana (ちゅーたな)
twitter: @choo_zap
Anim Mesh Gpu Particle is under MIT license.