【 #VRoid 】VRChatのPhysBoneを攻略する(1)ワンピーススカート編【 #VRChat 】
こんばんは。ご近所系Vtuberおじさんのがそさんです。
今回はVRChatのPhysBoneについて私が実行した試行錯誤を忘備録的に記録しておきたいと思います。
第1回はVRoidの「鬼門」ともいうべき「ワンピーススカート」についてです。
1.検証のための準備
まず今回は検証用に以下のようなモデルを用意しました。
上記の衣装のスカート部のデフォルト値は「スカートの長さ:100」「スカートをすぼめる:100」となっています。
今回はこのあとの検証のため「スカートをすぼめる」の値を「0」にしたものも用意します。スカートの長さに関しては、膝が隠れている長さでないと実使用時下着が見えてしまうことが確認できているので、段階的な検証は割愛します。
また、今回はすべてのモデルを以下の記事の手順でIK2.0フルトラ化しています。そのため一部のボーンの名称がVRMConverterで変換したモデルと異なります。
下半身のボーン構造はVRMConverterと変わりはないのでご安心ください。
2.基本の揺れ設定
2-1.基本パラメータ
(2023/06/05追記)VRCSDK更新に伴い、Physboneのバージョンが「1.0」と「1.1」の2種類になりました。下記の数値を参照する場合、Physboneのバージョンは「1.0」を指定しましょう
ダイナミックボーンの頃から様々な数値を試してきましたが、現状スカートのパラメータとしては下図に示す数値が一番きれいと感じました。
2-2.重力設定について
スカートの前部については重力設定は必須ですが、側面、背部については好みに合わせて導入するかどうか検討しましょう。特に側部はシルエットに大きく影響します。
ただ、もし重力設定をするのであればGravityの数値は0.1で十分です。
3.きれいに座れるスカートを作る
3-1.ワンピーススカートがきれいに座れない原因とは
そもそもなぜVRoidStudio製モデルのワンピーススカートはきれいに座りづらいのでしょうか。
これにはいくつか理由があります。
1)前部、背部のボーンが脚に追従する構造になっている
2)ボーンの本数が少なくコライダーを設定してもすべって脚が貫通する
それぞれの問題を解消するために、以下の作業を行いました。
*Unpack prefabしたくない人は作業の手を止めてそのまま読み進めてください
3-2.スカートのPysBone設定を調整する
1)背部のボーンをUpperLeg直下からHip直下に移動させる
【2023.07.01追記】Unpack prefabしたくない場合
以下のツールで同様の作業を実施済みのVRMに変換できます。
利用方法は以下の記事で解説しています。
2)前部のスカートボーンの以下の箇所を弄る
これらの手続きによって、以下のとおり挙動が変わります。
ちなみに、この手続きをより細かく検証した結果コライダー不要という結論になりました。
3-3.太ももの貫通を回避するには
さて、これでスカートの挙動はある程度おとなしくなりましたが、ワンピーススカートにはもう一つ考慮しなければいけない要素があります。それが太もも部分の貫通です。
これはもともとのワンピーススカートの設定で「スカートをすぼめる」の設定が大きくなればなるほど大きくなります。
これを回避したい場合は
・肌マスクで太ももを削る
・「スカートを膨らませる」「ウエストを緩める」パラメータを増やして貫通しづらいシルエットにする
などの対処が必要になります。
太ももを削る場合はメッシュがなくなるので貫通そのものが発生しなくなりますが、ローアングルになった際に気の抜けた見た目になってしまいます。
ワンピーススカートのパラメーターで対処する場合はシルエットそのものに制限が発生してしまいます。
また、スカート側のパラメーター、肌マスクの度合いなどについてはモデルの体型によって最適解が異なります。
4.移動中に暴れないスカートを作る
最後に「移動中スカートが暴れないようにする設定」を紹介して今回のnoteを締めます。ここまでお読みいただきありがとうございました!
次回はVRoidの髪の毛の揺れ設定について、VRoidStudioでの揺れ物設定のところから詳しく検証していきます。