//ここからGoogleタグのコード //以上でGoogleタグのコード終了

UnityでVRChat用スカートのPhys Boneの設定(Rotation Constraintを使った応用編)

 

概要

スカートの貫通対策が上手く行かない時にやってみてください
Phys Boneの設定だけでなくUnityのRotation ConstRaintも併用する手法になります
例 スカートのボーンAが動いた時、隣にあるスカートのボーンBも強制的に動かして貫通させにくくする

スカートの設定に詰まった人用の解説なので基本解説はありませんのでご了承ください

 

 

参考にしたツイート

 

モデリングでの注意点(Blender視点)

スカート一周のボーンの数
8本だと少ないので難しい
12本が推奨最低ライン
19本がやりやすい(アバターモデラーのフレンドが言ってました)

縦のボーンの数
スカートの長さによりますので4本~

 

ボーンの注意点
親子関係とウェイト値に注意して下さい
ボーンの向きも基本的にZ軸を放射状に配置すると楽です

 

親子関係
スカートのRoot→各種ボーンの一番上→各種ボーンの2番目‥

 

ウェイト値
スカートのRoot ウェイト値を乗せない
各種ボーンの一番上(下の画像のA1とB1とC1) ウェイト値を乗せない
各種ボーンの二番目以降 (下の画像のA2~3、B2~3)ウェイトを乗せる

 

ボーンの配置
各種ボーンの一番上のボーン(A1など)は短くしてください。
後で一番上のボーンを動かすのでボーンが大きいと2番目のボーンの位置のズレが大きくなります。

画像は見やすさ重視で3本のみ表示しています
あとは通常のスカートのモデリング&リギング(ウェイトペイント)を行ってください。


 

Unityでの設定

ボーンの設定
Root 追加コンポーネント無し
B1 Rotation Constraint のコンポーネントを追加
B2 Phys Boneのコンポーネントを追加(通常のスカートの設定)

 

 

Rotation Constraintの設定
ボーンのB1にRotation Constraintのコンポーネントを追加
Is Activeにチェックを入れる(コンポーネントのON,OFF)
Weightの値を0.5にする(大きいほどコンストレイトのソースと同じ動きになる=0.5ならソースの回転量の半分を動かす)
好みに応じて要調整

Constraint Settingsを開いてSourcesを設定する
+を2回押して2つのソースを入力できるようにする
ソースのボーンを指定する
隣のボーンの上から2番目のボーンを指定する(B1に入れたコンストレントならA2とC2のボーンを指定する)
これを1周回るように設定できたら完了です

コンストレントの意味は
ソースに指定したボーンが動いた時、コンポーネントの入れたボーンを動かす
動かす量はWeightの値で決まる

なのでボーンBが動いた時、ボーンAとCが半分動くので滑らかなスカートの動きが再現しやすくなるという具合です。

 

 

 

 

以上でこの記事は終わりです
最後まで読んで下さりありがとうございました