AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

Magica ClothをVRoidに使ってみる

 アセットストアで販売中のクロースシミュレーターのMagicalClothをVRoidに適用してみた。

f:id:yasu9780:20201007034638g:plain

 左側が従来のSpringBoneによるVRoidモデル。真ん中がMagicaCloth適用。右側のUnityちゃんは付属モデルでこちらもCloth適用。
 (ただスカート部分がほとんどないのでモデルとして適切なのか?w 髪部分はLine処理なので実質clothではない)

 モデルはロングドレスになるけど、元々のVRoidはSpringBoneのため、スカートの前と後ろのボーンは、大腿ボーンの子供になって連動して動いている。
 そのため、まずスカートの前後ボーンをHipsの子供に戻す

 スカートのmesh部分を対象にRenderDeformerを登録し、それをVirtualDeformerに登録し、最後にMeshClothに設定する
 コライダーは、足に設定する。膝部分は突き破りやすいのでやや太くしておく。
 meshClothで、メッシュ点の移動の可否を固定・可能・無効にわけて塗り分ける
 この場合、スカート部分が可能で、腰が固定。その他の部分はすべて無効にする
 (VRoidStudioでマテリアル2にしてるのでMeshが体全体で1つになってるので、塗り分けるのが大変)
 Createを押すと実際に適用される

MeshClothスタートガイド – Magica Soft

 Unity2018.4以上用で、インストールして使うにはBurstやECSなどいくつかパッケージをインストールする必要がある

インストールガイド – Magica Soft

 布シミュレーションはメッシュの点をすべてを対象に計算するため、膨大な計算量になるが、このアセットはBurstコンパイラーやECSに対応して、マルチスレッド動作する。

f:id:yasu9780:20201007040611p:plain
ハイパースレッディング8つちゃんと使ってる

開発機は古いCore i7で、4CPUでハイパースレッディング8コアを使ってちゃんと動いている模様


assetstore.unity.com

昔、UnityのClothを使ってみた時の記事。時代は進化してますねえ
yasu9780.hatenablog.com


f:id:yasu9780:20201007042520g:plain

足を大きく振り上げるダンスモーションで試してみた。
ロングスカート用の初期パラメータでは足が突き抜けてたけど、massの初期値を下げてみたりしたら突き抜けなくなった。
膝を上げてるシーンでもちゃんとスカートが膝上で保持されてるのが凄い