Onoty3D

Unityに関するメモとか

Unity5のClothを試す2

さて、前回プロ生ちゃんのスカートをヒラヒラさせていたのは、色んなポーズのスクショを撮る際に、スカートを自然な感じにしたかったからです。
既存モデルのままだと、ポーズによってはどうしても足がスカートを突き抜けてしまったりします。
ClothにしてColliderを上手く設定すれば、スカートが自然な感じになるだろう…という算段です。

順番が前後してしまいますが、まずはスカート作りから。
ユニティちゃんは衣服の各パーツごとにメッシュが分かれているので楽ですが、プロ生ちゃんは全体でひとつのメッシュになっているので、まずはスカートだけのメッシュを作ります。
.blendファイルやMMD用の.pmxファイルがあるのでモデリングツール等を使って、スカートだけを残しましょう。(方法は割愛)

スカートのメッシュをUnityに取り込んだら、スカートオブジェを作ります。
HierarchyでCreate>Create Emptyとして空のオブジェクトを作ったら、それにSkinnedMeshRendererとClothのコンポーネントを足します。
SkinnedMeshRendererのMeshに作成したMesh,Materialsにスカートのテクスチャをセットします。

Clothの方の設定はこんな感じ。
f:id:onoty3d:20150320210120p:plain
各パラメータは静止状態でポーズを取る上で都合のいいように調整してたので、これが正解とかではないです。

このままだと重力に従ってストーンと落ちてしまうので、スカートの上部分を固定します。
Edit Constraintsボタンを押して、スカートの上部分の頂点のMaxDistanceを0にすることで固定されるようです。
f:id:onoty3d:20150320204110p:plain
また全体のSurfacePenetrationを1にすることで、スカートがぐにゃぐにゃします(多分)。

これでスカートは完成です。
このスカートをプロ生ちゃんの下半身の子オブジェクトにすることでプロ生ちゃんの移動やアニメーションにスカートが追従するようになります。
また、おしりや太もも部分に上手くCapsuleColliderをセットして、それをClothのCapsuleCollidersにセットすることで、スカートが体にめり込まなくなります。

元々のスカートを逆に除外する必要がありますが、今回は比較画像等撮りたかったため、とりあえず透明にしています。

比較画像(左が元々、右がCloth)。
f:id:onoty3d:20150320204542p:plain
f:id:onoty3d:20150320205048p:plain

イイね!!!


おまけ
f:id:onoty3d:20150320204646p:plain