アバター改変の解説 第7回

アニメーションを作る

ギミックで見た目を変えるとき、何をどう変えるかは、アニメーションクリップに書きます。クリップの中身、FX で動かせるもの、Unity の録画で作る手順、キーフレームの打ち方、パスが切れて「Missing!」と出たときの直し方を解説します。

公開 · 対象は Unity の Built-in Render Pipeline と VRChat のアバター(Avatars 3.0)です。2026年11月時点の内容です。

こんなときに読んでください

  • ギミックを作りたいが、アニメーションクリップの作り方が分からない。
  • アニメーションで、何を動かせるのか知りたい。
  • Animation ウィンドウの項目が黄色くなり、「Missing!」と出る。
  • 録画したら、関係ないところまで動くクリップになった。

アニメーションクリップとは

アニメーションクリップ(クリップ)は、どのオブジェクトの、何を、どの時間に、いくつにするかを書いたファイルです。拡張子は .anim です。Animator のステートに入れて使います。ステートとクリップの関係は第6回 Animator のしくみで解説しています。

Animator は、いまのステートのクリップに書かれた値を、毎フレームアバターに書き込みます。そのステートにいる間は、ずっと同じ値を書き続けます。

たとえば、帽子を出すクリップ Hat_ON の中身は、次の1行だけです。

パス(どのオブジェクト)種類プロパティ(何を)0 フレーム目1 フレーム目
Accessories/HatGameObjectIs Active1(オン)1(オン)

1つの行(プロパティ)は、パス(アバターの中のどのオブジェクトか)と、プロパティ(そのオブジェクトの何を変えるか)でできています。行の中の、ある時間の値の印をキーフレーム(キー)と呼びます。

Animation ウィンドウでは、この行は Hat : Is Active と出ます。パスのいちばん下の名前と、プロパティの名前です。

オンオフのギミックでは、帽子を出すクリップ(Hat_ON)と、消すクリップ(Hat_OFF)を両方作ります。オフのクリップを作らずに済ませる方法もありますが、Write Defaults の設定によって動き方が変わります。両方作っておくと、Write Defaults が ON でも OFF でも同じように動きます(第13回 Unity と VRChat で見た目が変わる)。

FX で動かせるもの・動かさないもの

ギミックのクリップは、ほとんど FX のコントローラーに入れます。FX では、Humanoid の骨(筋肉)以外のほぼすべてを動かせます。FX 以外の枠で BlendShape やマテリアルを動かすと、鏡の中のアバターに写されません(第6回 Animator のしくみ)。

動かすものAnimation ウィンドウの行の例使いみちFX で
オブジェクトのオンオフHat : Is Active小物や服を出したり消したりする◯ いちばんよく使います
コンポーネントのオンオフHat : Enabled(Mesh Renderer など)見た目だけ消す。パーティクル、ライト、音、PhysBone、Contact を止める◯
BlendShapeBody : Blend Shape.cheek頬染め、表情、体の形◯
マテリアルの値Body : Material._Color色、明るさ、光り方。名前はシェーダーごとに違います◯
マテリアルの入れ替えMaterials の欄服の色違いに差し替える◯
Transform(位置・回転・大きさ)Hat : Scale大きさを変える、場所を動かす△ 動きますが、VRChat の公式はすすめていません。出し入れなら Is Active を使います
Humanoid の骨(腕・脚・頭・指)Animator.〜 のような筋肉の行ポーズ、手の形✕ FX では動きません。Gesture や Action で動かします
アバターの外のもの—ワールドの物✕ アバターの中のものだけを動かせます

マテリアルの値を動かすときは、アバターが使っているシェーダー(lilToon など)の値を動かします。シェーダーを変えると、同じ名前の値が無くなり、動かなくなることがあります。

少しずつ変わるもの(色や大きさ)を、メニューを回して変えるには、Radial Puppet と Motion Time を使います(第9回 段階で切り替える・少しずつ変えるギミック)。

録画で作る手順

クリップは、Unity の Animation ウィンドウの録画(Record)で作るのがいちばん簡単です。録画中に Inspector で値を変えると、その変化がクリップに書き込まれます。ここでは、帽子を出すクリップ Hat_ON と、消すクリップ Hat_OFF を作ります。帽子(Hat)は、アバターの中の Accessories の子に置いてあり、ふだんはオフにしてあるものとします。

準備:クリップとコントローラーを作る

  1. Project ウィンドウで、ギミック用のフォルダを作ります。Assets の中で右クリックして Create → Folder を選び、名前を付けます(例:MyGimmicks の中に Hat)。ギミックごとにまとめておくと、あとで探しやすくなります。
  2. そのフォルダの中で右クリックして Create → Animation を選び、名前を Hat_ON にします。同じようにして Hat_OFF も作ります。Unity のバージョンによっては、Create → Animation → Animation Clip の場所にあります。
  3. 同じフォルダで右クリックして Create → Animator Controller を選び、名前を Hat_FX にします。
  4. Hat_FX をダブルクリックして、Animator ウィンドウで開きます。Hat_OFF と Hat_ON のファイルを、グラフにドラッグします。クリップの入ったステートが2つできます。Animation ウィンドウで選べるのは、選んだ Animator のコントローラーに入っているクリップだけなので、先にステートにしておきます。
  5. Hierarchy でアバターのいちばん上(VRC Avatar Descriptor が付いたもの)を選びます。Inspector の Animator コンポーネントの Controller の欄に、Hat_FX をドラッグします。録画のためだけに、一時的に入れます。

録画する

  1. Window → Animation → Animation で Animation ウィンドウを開きます(Ctrl + 6 でも開けます)。Hierarchy では、アバターのいちばん上を選んだままにします。
  2. Animation ウィンドウの左上のプルダウンで、Hat_ON を選びます。
  3. 左上の赤い丸(録画ボタン)を押します。時間の線(タイムライン)が赤くなり、録画中になります。
  4. 白い縦線(いまの時間)が 0 フレーム目にあることを確かめます。時間の欄に 0 と入れても動かせます。
  5. Hierarchy で帽子(Hat)を選び、Inspector の左上のチェックを入れて、オンにします。Animation ウィンドウに Hat : Is Active の行ができ、0 フレーム目にキーが打たれます。
  6. 時間の欄に 1 と入れて、1 フレーム目に動かします。Animation ウィンドウで Hat : Is Active の行を選び、Add Keyframe のボタン(ひし形に + の印)を押します。1 フレーム目にも、同じ値(オン)のキーが打たれます。
  7. 赤い丸をもう一度押して、録画を止めます。
  8. プルダウンで Hat_OFF を選び、もう一度録画を始めます。0 フレーム目で、帽子のチェックを一度入れてから、外します。録画は、値を変えたときにだけキーを打つので、もともとオフのものをオフで記録するには、一度変えてから戻します。1 フレーム目にもキーを打ち、録画を止めます。
  9. Hierarchy で帽子が、録画する前の状態(オフ)に戻っているかを確かめます。違っていたら、Inspector のチェックで戻します。
  10. アバターのいちばん上の Animator コンポーネントの Controller を、元の状態(ふつうは None)に戻します。VRChat はこの欄ではなく、Playable Layers の枠のコントローラーを使います。入れたままにすると、どれが本番のコントローラーか分かりにくくなります。
再現図:Unity の Animation ウィンドウ(録画中)。名前は例です。並びは簡単にしています
  1. 録画ボタンです。押している間は、時間の線と、Inspector で変えた値が赤く色づきます。
  2. どのクリップに書き込むかを選びます。選んだ Animator のコントローラーに入っているクリップが出ます。
  3. 録画中に帽子のチェックを変えると、この行ができます。チェックが入っているのは、オン(1)の意味です。
  4. 録画しないで行を足すこともできます。Add Property を押し、オブジェクトとプロパティを選んで + を押します。

BlendShape やマテリアルの値も、同じように録画中に Inspector で値を変えると記録されます。BlendShape なら、Skinned Mesh Renderer の BlendShapes の欄の値を変えます。

録画中に触ったものは、すべてクリップに入ります。録画中にほかのオブジェクトを動かしたり、値を試しに変えたりしないでください。入ってしまった行は、Animation ウィンドウで行を右クリックして Remove Properties で消せます。

Modular Avatar の MA Merge Animator でつなぐときは、ギミックのオブジェクトに Animator コンポーネントを付けて録画する方法もあります。くわしくは、下の「パス」の節で説明します。アバターへのつなぎ方は第8回 メニューでオンオフするギミックを作るで解説します。

キーフレームと、クリップの長さ

キーフレームは、ある時間の値の印です。キーとキーの間の時間は、Unity が値をなめらかにつないでくれます。0 フレーム目に 0、60 フレーム目に 100 のキーを打つと、1秒かけて 0 から 100 に変わるクリップになります(1秒が 60 フレームのとき)。

オンオフのクリップでは、値は変わりません。帽子は、出ている間ずっと出ています。なので、0 フレーム目と 1 フレーム目に、同じ値のキーを2つ打つだけで足ります。長さはほとんど 0 ですが、ステートにいる間、Animator はこの値を書き続けます。

キーが1つだけでも、たいていは動きます。ただ、長さが 0 のクリップは、Motion Time を使うときなどに扱いにくいことがあります。2つ打っておくと安心です。

段階で変わるもの(色を回して変える、大きさを少しずつ変える)は、最初と最後に違う値のキーを打ち、Animator の Motion Time でクリップのどこを見せるかを決めます。作り方は第9回 段階で切り替える・少しずつ変えるギミックで解説します。

パスと「Missing!」の直し方

クリップの行には、どのオブジェクトを動かすかが、パスで書かれています。パスは、録画したときに選んでいた Animator のオブジェクトから、動かすオブジェクトまでの名前を / でつないだものです。アバターのいちばん上で録画したなら、帽子のパスは Accessories/Hat です。

パスは、名前と場所だけで決まります。録画したあとで、帽子の名前を変えたり、別のオブジェクトの中に動かしたりすると、クリップは帽子を見つけられなくなります。このとき、Animation ウィンドウの行が黄色くなり、Hat : Is Active (Missing!) のように出ます。VRChat でも、その行は何も動かしません。

名前は、大文字と小文字も区別されます。Hat を hat にしただけでも、パスは合わなくなります。

再現図:録画したあとで帽子の名前を変えたときの、Animation ウィンドウと Hierarchy。名前は例です
  1. クリップには Accessories/Hat と書かれていますが、その場所に Hat という名前のオブジェクトがありません。行が黄色になります。
  2. 帽子の名前を Hat2 に変えたため、パスが合わなくなっています。

直し方

  1. いちばん確かなのは、名前と場所を、録画したときに戻すことです。帽子の名前を Hat に戻し、Accessories の子に戻せば、黄色い表示は消えます。
  2. 名前や場所を変えたままにしたいときは、クリップのパスを書き換えます。Animation ウィンドウで黄色い行を選び、F2 を押す(またはゆっくり2回クリックする)と、パスを書き換えられます。いまの名前と場所(例:Accessories/Hat2)を入れます。
  3. 書き換えたら、黄色い表示が消えたかを確かめます。キーの値はそのまま残ります。
  4. 同じオブジェクトを動かすクリップが、ほかにもあるかを確かめます。Hat_ON を直したら、Hat_OFF も同じように直します。

Modular Avatar でつなぐときのパス

Modular Avatar の MA Merge Animator でコントローラーをアバターにつなぐときは、Path Mode の設定でパスの数え方が変わります。Relative(はじめの設定)では、MA Merge Animator を付けたオブジェクトからのパスとして読まれます。Absolute では、アバターのいちばん上からのパスとして読まれます(Modular Avatar の Merge Animator のページ(新しいタブで開きます))。

Relative で使うときは、ギミックのオブジェクト(MA Merge Animator を付けるオブジェクト)に Animator コンポーネントを付けて、そのオブジェクトを選んで録画します。パスがそのオブジェクトから数えられるので、ギミックを別のアバターに移しても、パスが切れにくくなります。録画に使った Animator は、MA Merge Animator の「付属アニメーターを削除」にチェックを入れておくと、アップロードのときに自動で取り除かれます。

アバターに元からある帽子など、ギミックのオブジェクトの外にあるものを動かすときは、アバターのいちばん上で録画して、Path Mode を Absolute にします。

動かして確かめる

Hat_ON のクリップには、帽子のパスが Accessories/Hat と書かれています。録画したあとで帽子の名前や場所を変えると、クリップが帽子を見つけられるかを見てみてください。

Animation ウィンドウ

いまの帽子 Accessories/Hat

見た目(Hat_ON を再生中)

Is Active 1

帽子を置いた場所

クリップに書かれたパスは Accessories/Hat、いまの帽子の場所は Accessories/Hat です。

パスが合っています。クリップが帽子の Is Active を 1 と書くので、帽子が出ます。

よくある困りごとと直し方

行が黄色くなり「Missing!」と出る

起きること
Animation ウィンドウで、クリップの行が黄色になり、名前の後ろに (Missing!) と出る。VRChat でもその部分が動かない。
原因
録画したあとで、動かすオブジェクトの名前か場所を変えました。または、録画したときと違う Animator のオブジェクトを選んでいます。
直し方
名前と場所を録画したときに戻すか、行を選んで F2 でパスを書き換えます。MA Merge Animator の Path Mode も確かめます。

録画ボタンが押せない・クリップが出ない

起きること
Animation ウィンドウに、録画ボタンやクリップのプルダウンが出ない。「Create」というボタンだけが出る。
原因
Hierarchy で、Animator コンポーネントが付いたオブジェクトを選んでいないか、その Animator の Controller が空です。
直し方
アバターのいちばん上を選び、Animator の Controller にクリップの入ったコントローラーを入れます。ここで Create を押すと、新しいコントローラーが作られて入るので、押さないでおきます。

関係ないものまで動く

起きること
帽子を出すクリップなのに、再生すると表情や服まで変わる。
原因
録画中に、ほかのオブジェクトや値を触ったため、その行もクリップに入っています。
直し方
Animation ウィンドウで要らない行を右クリックして、Remove Properties で消します。

録画を止めたら、シーンの物まで変わっていた

起きること
クリップには何も入らず、Hierarchy の帽子がオンのままになった。
原因
録画ボタンを押す前に(録画していないときに)値を変えました。録画していないときの変更は、クリップではなく、シーンの物そのものを変えます。
直し方
Inspector で元の値に戻します。録画ボタンが赤くなっていることを確かめてから、値を変えます。

腕や指を動かしたのに、VRChat では動かない

起きること
クリップで腕や指のポーズを作ったが、FX に入れると動かない。
原因
Humanoid の骨(筋肉)は、FX では動きません。
直し方
手の形は Gesture、体全体の動きは Action のコントローラーで動かします(第6回 Animator のしくみ)。

色を変えるクリップが効かない

起きること
マテリアルの色を変えるクリップを作ったが、VRChat で色が変わらない。
原因
クリップを作ったあとで、マテリアルのシェーダーを変えたため、同じ名前の値が無くなっています。別のマテリアル(スロット)の値を動かしていることもあります。
直し方
いまのシェーダーで、録画し直します。Animation ウィンドウの行が黄色くなっていないかも確かめます。

気をつけること

  • 録画が終わったら、必ず録画ボタンを押して止めます。録画したままほかの作業をすると、触ったものがすべてクリップに入ります。
  • クリップで使っているオブジェクトの名前や場所は、変えないでおきます。変えるときは、クリップのパスも直します。
  • 録画のためにアバターの Animator に入れたコントローラーは、終わったら元に戻します。
  • 出し入れは Is Active で作ります。大きさを 0 にして隠す方法は、FX で Transform を動かすことになり、VRChat の公式がすすめていません。
  • オンのクリップとオフのクリップを両方作っておきます。Write Defaults の設定に関係なく、同じように動きます(第13回 Unity と VRChat で見た目が変わる)。
  • 買ったアバターや衣装に付いているクリップを書き換えるときは、先に複製を取っておきます。

まとめ

  • クリップには、どのオブジェクト(パス)の何(プロパティ)を、いつ(キー)いくつにするかを書きます。
  • FX では、オンオフ、BlendShape、マテリアルを動かします。Humanoid の骨は動きません。
  • Animation ウィンドウの録画で作ります。録画中に触ったものは、すべてクリップに入ります。
  • オンオフのクリップは、0 と 1 フレーム目に同じ値のキーを打つだけで足ります。
  • 名前や場所を変えるとパスが切れて Missing! と出ます。元に戻すか、F2 でパスを書き換えます。
  • 次は、ここで作ったクリップを使って、メニューでオンオフするギミックを組みます(第8回 メニューでオンオフするギミックを作る)。

アバター改変の解説の一覧