見出し画像

【アバター改変】Physboneの設定をアニメーションするときは


Physboneの設定値をアバターで動的に変える

前回これをやった

フィズボーンで他人が指をつかめる(Grab)をアニメーションで切り替えられるようにしたい

Physboneのプロパティは裏技的にアニメーションできる
この裏技はPhysboneドキュメントに書いてある

PhysBone properties like Spring, Pull, Stiffness, etc are set at initialization and cannot be animated.

However, if you animate a property of a PhysBone component and then animate the component off and then on, you may get the behavior you want. Be aware that this is not a supported method of animating these properties, and will not be supported in future changes. (In other words, it might break. If it does, we're not going to try to fix it.)

https://creators.vrchat.com/avatars/avatar-dynamics/physbones

意訳
・フィズボーンのプロパティはアニメーションで変更できない(cannot be animated
・でもコンポーネントをオフしてからオンにすると望む結果が得られるよ(←?)
・ただし、サポートされてないやり方なので将来への保証はないから注意してね

とりあえず今もできるか確かめる

アニメーションファイルを実装する方法


・Physboneの設定値をアニメーションするだけ→効果なし
・Physboneのオンとオフを切り替えてからPhysboneの設定値を変えてふたたびオンにする→ちゃんと動く

Physboneのオンとオフはこのチェックのこと

例によってテンプレートを使用する
アニメーションファイルはこうなる

(あとはHand_Rも追加してね)

このフレームを順再生すると掴めるようになる
このフレームを逆再生すると掴めないようになる

つまり両方の遷移に同じアニメーションをセットして片方はspeedを-1にするだけ(!)


できた

応用としては?

physboneの設定値をエクスプレッションメニューなどから変えることができる。髪の揺れ方を変えたり、胸を揺らしたり揺らさなかったりを切り替えたりもできる


いいなと思ったら応援しよう!