表情切り替え、衣装のオン・オフ、アイドルモーション。VRChatアバターの「動き」はすべてUnityのアニメーションシステムで動いています。改変の中級を目指すなら避けて通れない領域ですが、仕組みは意外とシンプルです。
AnimationとAnimatorの関係
Animation(アニメーションクリップ)は「何をどう動かすか」の記録です。オブジェクトの表示・非表示、シェイプキーの値、ボーンの回転などを時間軸で記録します。
一方Animator(アニメーターコントローラー)は「どの条件でどのクリップを再生するか」を決める交通整理役です。パラメータの値によって、どの状態に移るかを制御します。
つまりクリップが素材、Animatorが切り替えの仕組みという関係です。表情も衣装トグルも、すべてこの2つの組み合わせでできています。
VRChatでの構成
VRChatのアバターは、動きの種類ごとにレイヤー分けされた複数のアニメーターを持ちます。表情や衣装切り替えのギミックは、主にFXと呼ばれるレイヤーに組み込まれ、Expression Menuのパラメータと連動して動きます。
レイヤーが分かれているのは、複数の動きを同時に扱うためです。歩くモーションと表情変更が競合しないのは、この仕組みのおかげです。
最初の練習に良いもの
定番は「オブジェクトのオン・オフ」です。小物を表示・非表示するだけのアニメーションを2つ作り、パラメータで切り替える。この一連の流れを一度自分の手でやると、既製ギミックの中身も読めるようになります。
練習の流れ
1. 小物を表示する / 非表示にするクリップを2つ作る
2. オン・オフを表すパラメータを1つ用意する
3. Animatorでパラメータと状態の遷移をつなぐ
4. Expression Menuから操作できるようにする
5. アップロードして実際に切り替わるか確認する
つまずきやすいポイント
Playモード中の変更は保存されない
再生中に設定を変えても、停止すると元に戻ります。編集はPlayを止めてから行いましょう。
メニューやパラメータの上限
Expressionのメニュー項目数やパラメータ容量には上限があります。トグルを増やしすぎると入らなくなるため、容量の残りを意識しておきましょう。
クリップに余計な情報が入る
記録中に別のオブジェクトを触ると、意図しない変化まで記録されることがあります。作ったクリップの中身は一度確認する習慣をつけると安全です。
初期状態がずれる
アバターに乗ったときの既定の状態(表示か非表示か)を決めておかないと、毎回消えている・出ているといった挙動になります。
ツールに任せてよい部分
Modular Avatarのようなツールは、こうしたアニメーターの組み込みを自動化してくれます。実際、衣装トグルの多くはツール任せで完成します。
それでも仕組みを知っておく価値があるのは、不具合が起きたときに原因を推測できるからです。「メニューに出ない」「切り替わらない」といった症状に対して、どこを見ればよいか当たりが付きます。
よくある質問
Q. プログラミングの知識は必要?
A. 不要です。クリップの記録とAnimatorの接続はすべて画面操作で完結します。
Q. 表情を自作したい
A. シェイプキーの値を記録したクリップを作り、既存の表情レイヤーに組み込む形になります。まずはオン・オフの練習からがおすすめです。
Q. アバターを更新したら動かなくなった
A. オブジェクトの構成が変わると参照が外れることがあります。非破壊改変で組んでおくと、この種の作業が軽くなります。
Q. 衣装トグルを作りたい
A. 別記事「Modular Avatarで衣装を着せる 非破壊改変のすすめ」で、ツールを使った方法を解説しています。
引用記事Modular Avatarで衣装を着せる 非破壊改変のすすめアバター