00 / OVERVIEW
この作品について
VRChat用3Dアバター「シャロ(Chalo)」のしっぽを、メニューから動かせるギミックを作りました。BOOTHで公開しています。シャロ本体は別途必要です。
オフ・弱・中・強から動きを選べます。動く三段階は同じアニメーションの再生速度を変えています。メニュー、パラメータ、FX Animator、しっぽ用MaskをPrefabへまとめ、Modular Avatarで導入できるようにしました。
処理の流れをまとめた図です。ボタンで順番に確認できます。
01 / DESIGN NOTES
メニューから動きまでを、Prefabにまとめる
しっぽを動かすには、アニメーションに加えて操作メニュー、パラメータ、FXへの接続が必要です。それぞれを個別に設定しなくて済むように、Modular Avatarのメニュー追加、パラメータ設定、Animator合成をPrefabにまとめています。
配布物はPrefab、AnimatorController、2本のAnimationClip、AvatarMask、メニューとパラメータのアセットです。Unityのアニメーション機構で動かしているため、常時実行するC#スクリプトは追加しません。
02 / DESIGN NOTES
一つのパラメータで、四つの状態を選ぶ
メニューの選択をPowerパラメータへ渡します。Animatorにはしっぽ用の1レイヤーと1ステートを置き、その中の1D BlendTreeで値に対応する動きを選びます。オフの固定姿勢と、速度の異なる三段階の揺れを同じ入力で扱っています。
弱・中・強は、別の角度のクリップを作る代わりに、同じクリップの再生倍率を変えました。揺れの形を揃えながら、テンポで印象を変えられるようにしています。
03 / DESIGN NOTES
同じ揺れを、三つの速さで再生する
基本のクリップは0.5秒のループで、Z軸を左右へ30度ずつ動かします。端のキーでは接線速度を0にし、方向を変えて一周期後に戻る曲線にしています。動かすのはしっぽの根元です。
各段階を単独で再生すると、弱の周期は5秒、中は1秒、強は0.5秒になります。ここでの強弱は角度の違いではなく、速さの違いです。ゆっくりした揺れと、忙しく振る動きを同じ曲線から作っています。
04 / DESIGN NOTES
しっぽだけにアニメーションを適用する
AvatarMaskでしっぽの根元を指定し、歩行や全身の姿勢に同じレイヤーが作用しないようにしています。曲線も根元へ集めており、末端の子ボーンすべてに直接アニメーションを付ける方法ではありません。
オフにも固定した回転と位置のクリップを使います。元の姿勢へ制御を返すのではなく、このギミックの停止姿勢を選ぶ動作です。ほかのアニメーションと組み合わせるときは、この停止状態も含めて見た目を確認してください。
05 / DESIGN NOTES
利用に必要なもの
利用にはシャロ本体、VRChat SDK、Modular Avatarが必要です。PrefabからFXとメニューを組み込みます。モデルやPhysBone本体は配布物に含みません。
ボーン配置を変更している場合は、アニメーションが意図した部位へ適用されるか確認してください。末端の揺れ方は導入先の物理設定にも左右されます。
REFERENCE
