髪揺れ設定いじるの楽しい。
こんにちは。
さて今回はVroid・Blenderで編集したモデルに、物理演算を再設定する方法を解説していきたいと思います。
物理演算とは髪揺れやスカート揺れなど、揺れもののことです。
VroidモデルをBlenderに入れると、この物理演算が取れてしまうんですよね…。
せっかくVroidで物理演算を設定した人も、もう一度unity上で設定する必要があります。
物理演算を設定する方法はいくつかありますが、今回は「VRM spring bone」というものを使って設定していきます。
VroidモデルをBlenderで編集してからエクスポートすると物理演算が取れてしまうっぽいですね。この場合Unityで再設定する必要がありますが、「VRM spring bone」が便利っすね。近々記事にします。
— Vtuberの解剖学者🛠️ (@obakasahara) July 19, 2019
これ便利なんですよね〜。では解説していきます。
UnityでVRM形式に戻す
とりあえずBlenderでモデルをエクスポートし、VRM形式に正規化するところまでやってください。
VRM形式に正規化したら、物理演算をつけていきます。
ここまでの工程は省略するので、わからない人は以下の記事をみながらやってみましょう。
VRM spring boneを適用
まずモデルに「VRM spring bone」を適用します。
「VRM spring bone」を適用させるには、モデルをscene上に表示させます。
右側のinspectorのadd componentから「VRM spring bone」を検索し、選択します。
そうするとモデルに「VRM spring bone」が適用されます。
マテリアルごとに設定もできる
揺れものが複数個ある場合はオブジェクトごとに「VRM spring bone」の設定をすることも可能です。
例えば髪の毛とスカートの揺れを分けたいときには、髪のオブジェクトとスカートのオブジェクトにそれぞれ「VRM spring bone」を適用することで、揺れ方を変えることが可能です。
設定の仕方はさっきと同じで、オブジェクトを選択し、右タブのinspectorから「VRM spring bone」を適用します。
ボーンの設定
次にボーンを設定していきます。
「VRM spring bone」の中のRoot BonesのElementに揺らしたいボーンを入れるだけです。
Sizeはボーンの数なので、それぞれ揺らしたいボーンの数を入れましょう。
Elementに入れるには左側のヒエラルキーから入れたいボーンを選択肢、ドラック&ドロップするだけです。
1つ注意点としてヒエラルキーの1番最後に「end」というボーンがありますが、こちらは適用しないでください。
揺れ方の設定
ボーンを設定したら、次に揺れ方の設定をしていきます。
いろんなパラメータがありますが、主なパラメータは以下の3つですかね。
- Stiffness Force : 剛性…柔らかさ。大きくなるほど硬くなる
- Gravity Power : 重力…大きくするほど下に力がかかるので、揺れづらくなる。
- Drag Force : ボーンの跳ね方…大きい方がゆっくり揺れる
このパラメータに関しては少し説明しづらいので、実際にパラメータを動かして調節していくのがいいかと思います。
揺れ方を確認するには上部にあるスタートボタンを押してからsceneタブに切り替え動かすと揺れ方が確認できます。
rootやgobalなどのボーンを揺らすと全体が揺れるので、確認しやすいと思います。
突き抜け防止の設定
最後に突き抜け防止の設定です。
揺れものと言えば突き抜けというぐらい、揺れには突き抜けが付き物です。
「VRM spring bone」で突き抜けを設定するには「VRM spring bone Collider Group」というものの設定が必要です。
突き抜けをしたくない付近のボーンを選択し、inspectorから「VRM spring bone Collider Group」を適用させます。
するとscene上に球体が表示されます。
この球の範囲が揺れものが反発する範囲です。
これだと大きすぎるのでパラメータを調節していきます。
球の大きさはRadiusで調節できます。数が小さいほど小さくなります。
今回は髪の毛の揺れに対する突き抜け防止なので、こんな感じで設定しました。
Sizeというのはこの球の数なので、ちゃんと調節する場合は体のラインに合わせるために複数個設定するのがおすすめです。
XYZは球の位置なので、体のラインに合わせてこのように調節しましょう。
調整が終わったら「VRM spring bone」にこの「VRM spring bone Collider Group」を設定したボーンを適用させます。
「VRM spring bone」の1番下にあるCollider Groupsに「VRM spring bone Collider Group」を設定したボーンを適用させます。
これで突き抜け防止は完了です。
VRM spring boneは超簡単!
物理演算をつける方法は他にもSpring boneを使った方法やDynamic boneを使った方法などがあります。
しかしこれらは設定がめんどくさかったり、有料だったりするんですよね。
その点「VRM spring bone」は設定が比較的簡単なので、おすすめです。
質問などあればtwitter(@obakasahara)にご連絡ください。
Vtuber作ります!
Vtuber制作を請け負っております!
2D・3Dどちらも制作可能で、MMDやVRhcatなどのプラットフォーム用のモデルも制作可能です。
僕の制作実績やお値段などを知りたい人はこちら!
関連記事
コメント