BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

【VRChat】Dynamic Boneのinsideで貫通しないスカートを作る

2022/04/25 追記

VRChatでPhysBoneが実装されました。

この記事は3年以上前の古い記事で、現在の仕様と必ずしも一致しているわけではないので、他の方の記事を見る事をお勧めします。

 

元々の記事

11月11日にセールがあり、Dynamic boneを半額で入手しました!
課金するからには使いこなせるようになりたいもので
日々、unityと和解を繰り返してきましたが、
ついにスカートにDynamic bone導入します。

スカートをひらひらさせつつ、身体貫通したり
パンシ見せないようにするのには、大体ClothかDynamicBoneが使われます。

 

個人的な所感では、Clothで実装するほうが圧倒的に簡単です。

f:id:yananann:20181117194335p:plain

 

 

 


理由はClothは面で実装されるのでコライダー(Colliders)による
衝突設定が簡単なのです。
しゃがんでもこの通り。

f:id:yananann:20181117194346p:plain

 

でもClothはひらひら感がなくなってしまう。
そこでDynamic boneでの実装です。

f:id:yananann:20181117194404p:plain

 

内容はほぼこの方法になります。

 

これまでのコライダーでは、設定したエリアに侵入させない方法でしたが
今回の方法は、設定したエリアから離さない方法になります。
Clothと違いボーンは面じゃなくて線の動きになっちゃうのでよけてしまうのです。

 

hitogataの場合、スカートのボーン構成数が8個で
0から反時計回りに設定されてます。

f:id:yananann:20181117194455p:plain

 

 

コライダーの設置

  1. 足の直下にEmptyObjectを設置します。

    f:id:yananann:20181117194616p:plain



  2. リネームします。
    今回はDynamicBoneColliderの略でDBCのLeftかRightの適合するボーン番号の規則にします。 赤丸を参考にリネームしてみてください

    f:id:yananann:20181117194642p:plain

  3. Dynamic bone Colliderを設置します。
    選択された状態で青丸を選択しInspectorに投げ込みます。


ダイナミックボーンの設置

  1. Skirt_0_0からSkirt_0_7まで選択した状態でDynamicBoneを入れます。

    f:id:yananann:20181117194717p:plain

  2. 一つ一つのダイナミックボーンに設定を入れます。
    ここではSkirt_0_2に入ったダイナミックボーンについて設定します。
     Root:動かしたいボーン。基本自分自身を参照するとよいです。
     Radius:ボーンが可視化されます。テストで動かす際に便利
     Colliders:影響を受けるコライダー。左足の2番ボーンなので、左足の2番用コライダーを設定します。

    f:id:yananann:20181117194750p:plain

    Skirt_0_0からSkirt_0_7までぜんぶやってね。

パラメーターの調整について

 ここではボーンの2番について記載します。ほかの0から7までやることは変わりません。

  1. DynamicBoneColliderの設定を行う。
     画像ではSkirt_0_2のDynamicBoneに設定したColliderがDBC_L_2なので
     DBC_L_2の設定を行います。

    f:id:yananann:20181117194924p:plain

     BoundをInsideにすると紫色になります。
     スカートの斜線の青い線を参考に、近づけます。
     赤い枠の中を青いボーンが自在に移動します。
     青いボーンがわくから出ようとすると引き戻されます。

    f:id:yananann:20181117194943p:plain

同様の設定を0から7まで全部やります。

0ならこんな感じ

f:id:yananann:20181117195020p:plain

 

7ならこんな感じ

f:id:yananann:20181117195039p:plain

 

全部やり終わるころにはすごいことになってますが、それであってます。
ちなみに1と3でDynamicBoneColliderのパラメータが
かけ離れてしまいますが、それで問題ありません。
3,4,5はお尻の膨らみを含めて設定する必要があるためです。
ダッシュすると透けるよ。

f:id:yananann:20181117195103p:plain

 

 

おまけ

細かい微調整について。
実際VRChatに入って操作するとunityとかなり挙動が違い
延々と微調整することになります。

そこで微調整の役に立ちそうなものを列挙します。

Root:揺れ始めるボーンを下にする事で、上が揺れなくなります。(青丸部分)
Gravity:走った時に捲れすぎるときは、ごくわずかに設定しましょう。
    (入れすぎるとふんわりしなくなります。)

f:id:yananann:20181117195130p:plain

あと、DynamicBoneColliderのRadiusを変えて動く範囲を変えてあげる方法もあります。