見出し画像

【VRChat】【Unity】Physboneによるふんわりスカートの設定(Hinge型)


設定値一例

 主な設定項目
 Pull(減衰の度合い)→小さめ。値を大きくすると元に戻ろうとする力が強くなるので、ふんわり感を出すなら小さめ
 Momentum(弾性力)→関数制御。ばねをイメージする感じで、大きいとばねの力が強くなる。スカートの場合は腰回りは強くて、先端になるほど弱い設定にすればよい。上の画像ならスカート根元が0.8(100%)→先端が0.2(25%)の直線関数制御。
 Stiffness(形の安定度?)→低め。Pullと同じ理由で、値を大きくすると形が崩れにくくなる
 Immobile(不動性)→関数制御。1にすると動かなくなる
 Momentumと同じ感じで、スカート根元はほぼ動かないので1に近い値、先端は動いてほしいので0に近い値に設定するような直線関数制御。2次関数的にしても良いかも
 Limit Type
 MAX Angle
 Rotation

 …Physboneの移動可能範囲指定。下記。
 Radius
 …PhysboneとColliderの接触判定。下記。

白がRadiusによるスカートPhysboneの接触判定、緑が足のPhysbone Colliderによる接触判定
スカートのPhysbone接触判定はスカート先端より大きい(Endpoint Positionを0以外にすると接触判定を伸ばせることもある)
フェアリーラスクちゃんのスカートPhysbone設定値

 Radius(スカートボーンの接触判定の大きさ)はスカート根元が小さめ→スカート先端は大きめ、の直線関数制御。スカート先端部分に大きめの接触判定を持たせた方が足の貫通が起きにくい…気がする

足を90°上げた状態。白の接触判定が緑の接触判定によって持ち上げられている

 VR内で足を上げる機会って少なくね?と思う人がいるかもしれないが、フルトラやSit判定で座った時に上半身と足は90°の角度がついた状態になるので、足を90°上げた時に足がスカートを貫通していない状態は必須。
 Radiusはスカート根元(腰回り)の判定を大きくしてしまうと足のPhysbone Colliderの干渉が大きくなりすぎて盛大に捲れあがりやすくなるので、腰回りは小さくスカート先端は大きく、の関数制御をする。
 Max Angle(スカートPhysboneの稼働可能角度範囲)はおおよそ60-90程度。小さすぎるとスカートが動かなくなる=座った時に足が貫通しやすくなるし、大きすぎると歩いただけで足や体を貫通する。


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