VRChat Avatar 3.0でアニメーションを再生できるようになるまでを、必要なファイル作成から設定まで順番に説明します。
VRChatアバターで「Expression Menuのボタンを押したらアニメーション再生」を実装する手順です。
今回は Animation Clip と Animator Controller を使い、Action レイヤーで制御します。
本記事ではアニメーションの再生方法に絞って説明します。 表情変更(BlendShape/Visemeの設定)は扱いません。
Expression Menuからアニメーションを再生できるようにする
Unityの対応バージョンはVRChat側で更新されます。 新規プロジェクト作成時は、VCCが提示する推奨バージョンを使ってください。
今回必要になるのは次の4点です。
この4つを作成・設定して、アニメーションが再生される状態にします。
Animation ClipAnimator ControllerExpression ParametersExpression Menu
Animation Clip だけでは再生できません。
再生を制御するControllerとParameter、さらに操作用のExpression Menu設定が必要です。
自作アニメーションの場合は、fbx をUnityに取り込み、FBXモデルのAnimation Clipを複製して使います。
アニメーション用のFBXも Rig で Humanoid を選択する必要があります。

unitypackage の場合は気にしなくても問題ありません。今回はFBXから取り込む手順で進めます。
BOOTHのアニメーション素材をお借りします。
次に、アニメーションを制御するAnimation Controllerを作成します。
ゼロから作るのは手間が大きいので、VCCでSDKを導入済みならPackages内のものを複製して使うのが簡単です。
vrc_AvatarV3ActionLayer を複製し、名前を変更して分かりやすいフォルダーに移動してください。
パラメータも用意します。ここもSDKから複製するのが無難です。
DefaultExpressionParameters を複製して使います。
Expressions Menu は新規作成します。右クリックメニューから作成します。
これで最低限必要なファイルがそろいました。次にそれぞれ設定します。
4つのファイルを作成したら、アバター側に設定します。
まずアバターを選び、次の3つを設定します。
Expression Menuに項目を追加します。
Parameters を設定し、Controls にトグルを作成します。
Animation Controllerで VRCEmote (Int) を使うため、
Parameterも VRCEmote (Int) を選択します。
最後にAnimation Controllerを設定します。
今回は「VRCEmote の値が特定の値のときにアニメーションを再生する」構成にします。
再生したいアニメーションをドラッグ&ドロップで追加します。

WaitForActionOrAFK から Prepare Standing への流れを参考に、追加したアニメーションへ遷移をつなぎます。

追加した遷移条件を VRCEmote Equals 1 に設定します。

WaitForActionOrAFK と Prepare Standing の間で制御されるため、9以上は設定できません。
既存条件(Less 9)を修正すれば9以上でも可能になります。
BlendOut Stand へつなげて完了です。

Gesture Manager を使います。ない場合は Tools から追加します。

Tools に見当たらない場合は、VCCから Gesture Manager をインストールしてください。


実行してテストします。

アニメーションが再生されない場合は、5秒ほどクリック長押ししてみてください。
アニメーションが短いと、遷移タイミングによって再生が見えにくい場合があります。

UnityでVRChat用アニメーションを再生するには、次の4つが必要です。
Animation ClipAnimator ControllerExpression ParametersExpression Menuまた、アバターには次の3つを適用します。
再生されない場合は、Actionに設定したAnimator Controllerの遷移条件を見直してください。
Baseレイヤー(Default Locomotion )にAnimation Controllerを設定すると再生だけはできるかもしれません。(テスト用として利用してください。)