見出し画像

【 #VRoid 】VRChatのPhysBoneを攻略する(1)ワンピーススカート編【 #VRChat 】

こんばんは。ご近所系Vtuberおじさんのがそさんです。
今回はVRChatのPhysBoneについて私が実行した試行錯誤を忘備録的に記録しておきたいと思います。
第1回はVRoidの「鬼門」ともいうべき「ワンピーススカート」についてです。

1.検証のための準備

まず今回は検証用に以下のようなモデルを用意しました。

画像1
▲プリセットのワンピースを利用

上記の衣装のスカート部のデフォルト値は「スカートの長さ:100」「スカートをすぼめる:100」となっています。
今回はこのあとの検証のため「スカートをすぼめる」の値を「0」にしたものも用意します。スカートの長さに関しては、膝が隠れている長さでないと実使用時下着が見えてしまうことが確認できているので、段階的な検証は割愛します。

▲「スカートをすぼめる: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で十分です。

▲Gravity:0の場合
▲Gravity:0.1の場合

3.きれいに座れるスカートを作る

3-1.ワンピーススカートがきれいに座れない原因とは

そもそもなぜVRoidStudio製モデルのワンピーススカートはきれいに座りづらいのでしょうか。
これにはいくつか理由があります。

1)前部、背部のボーンが脚に追従する構造になっている

▲側面はHipに追従しているので意味不明なシルエットになる

2)ボーンの本数が少なくコライダーを設定してもすべって脚が貫通する

▲コライダー、ボーン共に径を大きめに設定するものの…

それぞれの問題を解消するために、以下の作業を行いました。

3-2.スカートのPysBone設定を調整する

1)背部のボーンをUpperLeg直下からHip直下に移動させる

▲操作前にプレハブ右クリック>「Unpack prefab」を忘れずに

【2023.07.01追記】Unpack prefabしたくない場合

以下のツールで同様の作業を実施済みのVRMに変換できます。

利用方法は以下の記事で解説しています。

2)前部のスカートボーンの以下の箇所を弄る

▲「Gravity」「Max Angle」の数値はモデルの体型やPhysboneのバージョンによって調整必要

これらの手続きによって、以下のとおり挙動が変わります。
ちなみに、この手続きをより細かく検証した結果コライダー不要という結論になりました。

▲背部スカートボーンをHip直下に移動しただけの状態
▲Gravity「0.1」Limit type「Hinge」Max Angle「45」
▲Gravity「0.07」Limit type「Hingle」Max Angle「45」
▲GravityではなくMax Angleの調整でもOK(Gravity「0.1」Max Angle「19」)

3-3.太ももの貫通を回避するには

さて、これでスカートの挙動はある程度おとなしくなりましたが、ワンピーススカートにはもう一つ考慮しなければいけない要素があります。それが太もも部分の貫通です。

▲「スカートをすぼめる:0」の場合

これはもともとのワンピーススカートの設定で「スカートをすぼめる」の設定が大きくなればなるほど大きくなります。

▲「スカートをすぼめる:100」の場合

これを回避したい場合は
・肌マスクで太ももを削る
・「スカートを膨らませる」「ウエストを緩める」パラメータを増やして貫通しづらいシルエットにする
などの対処が必要になります。
太ももを削る場合はメッシュがなくなるので貫通そのものが発生しなくなりますが、ローアングルになった際に気の抜けた見た目になってしまいます。
ワンピーススカートのパラメーターで対処する場合はシルエットそのものに制限が発生してしまいます。
また、スカート側のパラメーター、肌マスクの度合いなどについてはモデルの体型によって最適解が異なります

▲左がスカートパラメータで対処したもの、右が太ももの一部メッシュを削除したもの
▲下からの図。スカートをすぼめればすぼめるだけメッシュを削る必要があるため、スカートの動作によって「メッシュのない太もも」が露わになり不格好になることも。

4.移動中に暴れないスカートを作る

最後に「移動中スカートが暴れないようにする設定」を紹介して今回のnoteを締めます。ここまでお読みいただきありがとうございました!
次回はVRoidの髪の毛の揺れ設定について、VRoidStudioでの揺れ物設定のところから詳しく検証していきます。

この記事が気に入ったらサポートをしてみませんか?