PhysBoneで新しいスカート貫通対策をする
新しい解説を作ったよ
OutsideとHingeを用いたシンプルな貫通対策を紹介します。
Outside + Hinge型
ふとももへOutsideコライダーを設定して、スカートのボーンへHingeを適用した貫通対策です。
ボーンのロールを調整する
Blenderでボーンの編集モードで、スカートのボーンのみを選択します。
アーマチュアメニューからボーンロール→ロール再計算→ローカル+Xタンジェントを実行。
Z軸がスカートの内側へ向けばok
失敗したり一部のボーンが明後日を向く場合は、3Dカーソルを0,0,0にしてカーソルで再計算してください。
コライダーの設定
まずは、太ももにEmptyを作ってそこに"VRC Phys Bone Collider"を追加します。
Capsule型推奨、太ももよりも若干はみ出す程度の大きさにしてください。
コンポーネントを設定する
スカートのボーンへそれぞれ"VRC Phys Bone"コンポーネントを追加します。
※ルート直はだめです。
パラメータの例はこんな感じ。
ウェイトによって大きく変化するのでForces欄は参考程度にしてください。
スカートの左側にあるボーンを選択して、そこに左足に設定したコライダーを割り当てます。
DBと同じなのでSizeを1としてから割り当ててください。
同様に右側も同じ手順で追加します。
Collisionを忘れず設定します。
極小サイズでも問題ないです。
LimitsのLimit TypeをHingeにして、おおよそ画像のように真下から110度程度に稼働するように範囲調整します。
プレイモードでアイドル状態にてスカートが動かない程度まで調整、座った状態で可動域が制限されない状態となればおおよそ調整完了です。
結果を確認する
おおよそInsideと同じ程度の貫通対策ができます。
慣れればInsideの半分以下の時間で設定できるのでおすすめ。
せんでん
補足
2022/04/26 追加
正面ボーン数での挙動の違い
このOutside + Hinge型はアバター正面のボーンを増やしすぎると良い挙動をしません。
特にスカート真ん中に1本または、間隔を詰めてボーンを配置すると画像のように開脚した際に真ん中のボーンが落ちます。
これは真ん中にボーンを配置しない、またはどうしても配置したい場合はインサイドコライダーを用いて落下を防ぐという方法があります。
挙動調整次第ではリアルな動きにできますが、コライダーで挟む都合上反発が激しく揺れと布の垂れ具合を両立するのは難しいです。
ボーン数は最低8本から
おおよそスカートのボーン数は8本から12本で、真ん中に前後の配置せず均等配置にすることで脚が貫通したりスカートが沈んだりしにくくなります。
これは、ボーンの数が少ないと太もものコライダーからスカートのボーンがすり抜けてしまうので、ある程度の数がないとカバーできないからです。
脚の太さによる違いに関しては、ボーン数よりもコライダーサイズで対応します。
ヒンジを回転させる
正面のヒンジ角度はとても大切です。
初期の角度では画像のように横へ広がってしまいます。
LimitsにあるRollで調整することでこの広がりを抑えることが可能です。
主に座った時にこの問題が顕著に現れるので、前と横だけヒンジのRollを調整してください。
この時、よく忘れるのが片足を上げた時の内ももへの貫通です。
忘れないようにそれも考慮してRollの値を決めてください。
横も同様に調整することで調整が可能です。
このRoll調整でも貫通する場合はボーン数不足またはコライダーサイズが小さすぎます。
スカートが盛り上がらないギリギリがコライダーの限界サイズなので、それで無理ならボーン数を増やしてください。
真横は基本的にそのままでok
後ろは歩行アニメーションやダンスを考慮する場合はモーションでチェックしてください。
この記事が気に入ったらサポートをしてみませんか?