デフォ桔梗ちゃんVRM化(揺れ物破綻回避)備忘録
編集用VRM化した桔梗ちゃんの揺れ物(Spring Bone)が異常な挙動を示すので、それを修正していきます。細かい理屈は抜きで値を決め打ちして、まず破綻しなくなることだけを目指します
揺れ物のパラメータを詰めていくのは次回にします
大雑把なSpring Boneの破綻回避
値を決め打ちして様子を見てみる
ヒエラルキーでVRMモデルの階層内にあるSecondaryを選ぶ
Root Bonesの項目を開き、どこの揺れ物なのかを推測
Comment欄にどこの揺れ物なのかを書いておく(後々の調整時に便利)
値がオーバーした部分(スライダーの丸ポチがない)を範囲内に戻す
Hit Radiusを0.01程度に小さくする
上記を全てのSpring Boneに対して行う
その状態で再生したのがこちら。スカートや胸はかなり落ち着きましたが、まだ髪が逆立っており、リボンも浮かんでいます
なお再生中にヒエラルキーからモデルを選び、インスペクターの座標名をクリック&ドラッグするとモデルを揺らすことができます。不十分ながらスカートが揺れるのがわかると思います
Spring BoneのGravityにマイナス値は入っていないので、髪が逆立っている原因は別にありそうです。挙動からして「見えない何かにめりこむ / ぶつかる / 載る」ような印象なので、Collider Groupsを確認してみます
Collider Groupsの確認と調整
Collide:衝突するの意
挙動がおかしい中でも特に目立つ後ろ髪を見てみます
Root BoneがHair_LongA1の項目を表示し、Collider Groupsを見るとCollider Planeという、他とは毛色の違う参照名があり怪しいです
インスペクターで項目名をクリックすると、ヒエラルキーの該当項目がハイライト表示されて見つけやすくなります
項目を見てみると、桔梗ちゃんをすっぽり覆う巨大球体が表示されました。Collider Groups とはボーンにくっついて動く「揺れない」当たり判定で、通常は腕や足といった体の衝突判定として使われます。この巨大判定と後ろ髪が干渉して逃げ場を失い逆立っていたと思われるので確認してみます
再びSecondaryに戻り、Collider Groups の右の◎ボタンを押してCollider Plane を None に変更します。再生してみると後ろ髪の一部が逆立たなくなったので予想は当たっていました
この Collider Plane、もともとのVRChat用桔梗ちゃんにおいて髪が体を貫通するのを防ぐための「板」コリジョンだったようです。しかしVRMには板コリジョンがないので球体に変換された結果、体全体を覆うドデカ判定になってしまったわけです
今回のVRM変換の利用目的は配信なので、VRChatのように激しく動きません
いまは先に進むため、Collider Planeに関しては一旦リストから外すことで解決とします。Secondaryで参照されている全てのCollider PlaneをNoneにします。ついでにCollider OutsideもNoneにしてしまいます(こちらは私の方ではまだ正体が掴めていません)
Dance Animations FREE 適用で揺れ確認を楽にする
だいぶ「らしく」なってきました、今後パラメータの細部を詰めるためにキャラを手動で揺らすのは面倒です。Dance Animations FREE を適用して再生時にキャラが踊るようにします
ヒエラルキーからVRM桔梗ちゃんを選択し、インスペクターのAnimator欄のCotrollerの◎でリストを開き、適当なDancePack~を選ぶだけです。これで再生すればすぐにダンスを踊り始めます
これで揺れ物の細部を詰める準備はできました
再生中にコントローラを変更することもできます
次回は桔梗ちゃんを躍らせながらSpring Boneの設定を詰めていきます
この記事が気に入ったらサポートをしてみませんか?