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

ギミックが動かないとき

メニューを押しても動かない。自分にしか見えない。ワールドを移ると元に戻る。ギミックが思ったとおりに動かないときに、どこから、どの順番で確かめればよいかと、よくある原因の一覧をまとめました。困ったときは、まずこのページに来てください。

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

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

  • 自分で組んだギミックが、メニューを押しても動かない。
  • 自分には見えるのに、ほかの人には見えないと言われた。
  • ワールドを移ったり、アバターを着替えたりすると、オンオフが元に戻る。
  • Unity では動いたのに、VRChat では動かない。
  • どこが悪いのか分からず、何から見ればよいか分からない。

確かめる順番

ギミックは、メニュー → パラメーター → ステート → クリップ → 見た目 の順に、値が受け渡されて動きます(くわしくは第6回 Animator のしくみ)。どこかで受け渡しが止まると、その先は動きません。

そこで、前から順に、どこまで届いているかを1つずつ確かめます。止まったところのすぐ手前に、原因があります。思いつくところを手当たりしだいに直すより、ずっと早く見つかります。

そして、まず Unity で確かめます。VRChat で試すには、毎回アップロードして待つ必要があります。Unity なら、直して再生するだけで、すぐ確かめられます。

  1. 1. Unity で再生Gesture Manager でメニューを押す
  2. 2. パラメーター値が変わるか
  3. 3. ステート入るステートが変わるか
  4. 4. クリップ正しいものを書いているか
  5. 5. VRChat で自分アップロードして試す
  6. 6. 友だちとほかの人にも見えるか

それぞれで見るところと、止まったときに見る場所

1. Unity で、Gesture Manager を使って再生する
次の節の手順で、Unity の再生ボタンを押し、Gesture Manager のメニューから、そのギミックの項目を押します。Unity で動けば、Animator やクリップの組み方は合っています。5 へ進みます。Unity でも動かなければ、2 から順に見ます。
2. パラメーターの値は変わっているか
メニューを押したときに、Gesture Manager の Debug の欄で、そのパラメーターの値が変わるかを見ます。変わらないなら、メニューと Expression Parameters が原因です。名前が合っているか、Expression Parameters にそのパラメーターがあるかを見ます。
3. 入るステートは変わっているか
パラメーターは変わるのに、ステートが変わらないなら、Animator のパラメーターの名前か、トランジションの条件が原因です。Animator ウィンドウで、そのレイヤーの動いているステートを見ます(見方は次の節)。
4. クリップは正しいものを書いているか
ステートは変わるのに、見た目が変わらないなら、クリップの中身か、レイヤーの設定が原因です。クリップのパスが切れていないか(Missing)、レイヤーの Weight が 0 でないか、下のレイヤーが同じものを書いていないかを見ます。
5. VRChat で、自分で確かめる
Unity で動いたら、アップロードして VRChat で試します。Unity で動くのに VRChat で動かないなら、アップロードのときに外されたもの(EditorOnly のオブジェクトなど)や、アップロード先のアバターを見ます。
6. 友だちに、ほかの人からの見え方を見てもらう
自分で動いたら、友だちに見てもらいます。Gesture Manager も自分の画面も、自分から見た姿しか確かめられません。ほかの人に見えないなら、パラメーターの Synced(ほかの人に送る)や、Quest 版を見ます。

どの段で止まったかが分かったら、下の「よくある原因の一覧」で、その困りごとを選ぶと、見る場所が絞れます。

確かめる道具

確かめるのに使う道具は、おもに3つです。Unity の Gesture Manager、Unity の Animator ウィンドウ、VRChat の中の表示です。

Gesture Manager(Unity で、VRChat のように動かす)

Gesture Manager は、Unity で再生したときに、アバターの Animator を VRChat と同じように動かす道具です。メニュー(Expressions Menu)やハンドサインを、Unity の中で試せます。作者は BlackStartx さんです(Gesture Manager の配布ページ(新しいタブで開きます))。

VCC か ALCOM で、プロジェクトの一覧から Gesture Manager を足して入れます。足し方は第1回 VCC・ALCOM・Unity の入れ方を見てください。

  1. Unity の上のメニューで Tools → Gesture Manager Emulator を押します。シーンに GestureManager というオブジェクトが入ります。これは確かめるためだけのもので、アップロードには入りません。
  2. Unity の上の真ん中にある再生ボタン(▶)を押します。Unity が再生の状態になり、Animator が動き出します。
  3. Hierarchy で GestureManager を選びます。Inspector に、VRChat と同じ形の丸いメニューが出ます。アバターが2体以上あるときは、試すアバターを選びます。
  4. 丸いメニューで、試したいギミックの項目を押します。見た目が変わるかを、Scene か Game の画面で見ます。
  5. Inspector の上のほうにある Debug の欄を開きます。パラメーターの値、レイヤーの Weight、いま入っているステートが並びます。メニューを押して、どの値が変わるかを見ます。
  6. 確かめ終わったら、もう一度再生ボタンを押して、再生を止めます。再生中に変えた設定は、止めると元に戻ります。直すのは、止めてからにします。
再現図:Gesture Manager の Debug(Unity で再生中)。並びや見た目は簡単にしています。名前は例です
  1. メニューで帽子をオンにすると、Hat が true になりました。メニューと Expression Parameters は合っています。
  2. Hat のレイヤーの Weight が 0 です。これでは、ステートが変わっても見た目は変わりません。Weight を 1 にします。
  3. ステートは Hat_On に入っています。トランジションも合っています。

Gesture Manager の画面の名前や並びは、版によって違うことがあります。欄が見つからないときは、Inspector の中のボタンを1つずつ押してみてください。

Animator ウィンドウ(いま動いているステートを見る)

  1. Gesture Manager で再生している間に、Hierarchy でアバター(いちばん上の、VRC Avatar Descriptor が付いたオブジェクト)を選びます。
  2. Window → Animation → Animator で、Animator ウィンドウを開きます。Gesture Manager の Debug から、見たいレイヤー(FX など)を開けることもあります。
  3. 左の Layers のタブで、見たいレイヤーを選びます。
  4. いま入っているステートは、青い進み具合のバーが下に出て、動いて見えます。メニューを押すと、バーが別のステートへ移るかを見ます。移らなければ、トランジションの条件か、パラメーターの名前が違います。
  5. トランジションの矢印を選ぶと、Inspector に、その条件(Conditions)が出ます。パラメーターの名前と値が合っているかを見ます。

再生中に Animator ウィンドウで変えた設定も、再生を止めると元に戻ることがあります。何をどう変えれば直るかが分かったら、止めてから、同じように直してください。

VRChat の中の表示

VRChat の中でも、アバターのパラメーターの値を見られる表示があります。Expressions メニュー(Action Menu)の中の設定(Options)のあたりに、デバッグ用の表示(Debug)を出す項目があります。名前や場所は VRChat の更新で変わることがあるので、見つからないときは、VRChat の公式のドキュメントで最新の場所を確かめてください。

VRChat SDK の Builder には、アップロードせずに、自分のパソコンの VRChat だけで試す方法(Build & Test)もあります。毎回アップロードするより早く試せます。

ほかの人からの見え方は、ほかの人にしか確かめられません。同期(Synced)や Quest 版を確かめるときは、友だちに頼んで、同じワールドで見てもらいます。Quest やスマホの友だちがいれば、その人にも見てもらうと安心です。

よくある原因の一覧

起きることと、考えられる原因、確かめて直す場所の一覧です。上の確かめる順番で止まったところと合わせて見てください。リンク先には、くわしい直し方があります。

起きること考えられる原因確かめて直す場所
メニューを押しても、見た目が変わらない(Unity でも)自分で足したレイヤーの Weight が 0 のまま。Unity で Animator にレイヤーを足すと、Weight は 0 で作られます。Animator ウィンドウの Layers で、そのレイヤーの歯車を押し、Weight を 1 にします。
メニューを押しても、パラメーターもステートも変わらないメニュー、Expression Parameters、Animator の3か所で、パラメーターの名前が違う。大文字と小文字、前後の空白も、別の名前になります。3か所の名前を、1文字ずつ見比べてそろえます。名前はコピーして貼ると間違えません。
メニューを押しても何も起きないExpression Parameters にそのパラメーターが無い。Animator のパラメーターにあるだけでは、メニューから値を変えられません。Expression Parameters に足します。Modular Avatar(MA)でつなぐときは、MA Parameters に入っているかを見ます。
オンにしても動かない・途中の値になるExpression Parameters と Animator で、型(Bool・Int・Float)が違う。VRChat は型を変えて渡すことがありますが、トランジションの条件が合わなくなることがあります。両方の型を見比べて、そろえます。わざと型を変える組み方もありますが、まずはそろえます。
オンにはなるが、オフに戻らない戻るほうのトランジションが無いか、条件がオンのときと同じになっている。オフのステートへ戻る矢印を選び、Inspector の Conditions を見ます。Bool なら、戻るほうは false にします。
切り替わるのが一拍遅れる・じわっと変わるトランジションの Has Exit Time にチェックが入っている。または Transition Duration が 0 でない。矢印を選び、Has Exit Time のチェックを外し、Settings の Transition Duration を 0 にします。
ぱたぱた点滅する・動きが何度も最初から始まるAny State からのトランジションで、Can Transition To Self にチェックが入っている。条件が合っている間、同じステートに入り直し続けます。Any State からの矢印を選び、Settings の Can Transition To Self のチェックを外します。
ステートは変わるのに、見た目が変わらない。Animation ウィンドウで項目が黄色く「Missing!」と出るオブジェクトの名前を変えた、別の場所へ動かした、別のアバターに移した。クリップのパス(どのオブジェクトを動かすか)が合わなくなっています。名前と場所を元に戻すか、クリップのパスを直します。
ステートは変わるのに、見た目が変わらない・別の値になる下にあるレイヤーが、同じもの(同じ BlendShape や、同じオブジェクトのオンオフ)を書いている。同じものを書くと、下のレイヤーが勝ちます。下のレイヤーのクリップを見て、同じ行を消すか、レイヤーの順番を変えます。
クリップは合っているのに、動かない見た目を変えるクリップを、FX 以外のレイヤー(Gesture など)に入れている。または、FX で Humanoid の骨を動かそうとしている。オブジェクトのオンオフ、BlendShape、マテリアルは FX で動かします。
メニューやハンドサインを戻しても、元に戻らない。関係ないところまで変わるWrite Defaults の ON と OFF が混ざっている。または、OFF なのに、オフのときのクリップを作っていない。コントローラーの中で ON か OFF にそろえ、オンとオフのクリップを両方作ります。
表情のときに、まばたきや口の動きが重なって崩れるVRChat が動かすまばたき・口と、表情のクリップが、同じ BlendShape を動かしている。VRC Animator Tracking Control で、表情の間だけ、まばたきや口を Animation の側にします。
Radial Puppet を回しても、少しずつ変わらないステートの Motion Time にパラメーターが入っていない。または、パラメーターが Float でない。ステートの Motion Time の Parameter にチェックを入れ、Float のパラメーターを選びます。
自分には見えるのに、ほかの人には見えないExpression Parameters の Synced(ほかの人に送る)のチェックが外れている。Synced にチェックを入れます。Synced を外したパラメーターは、自分の画面でしか変わりません。
触っても反応しない・自分のときだけ反応するVRC Contact Receiver の Collision Tags が、触る側(Sender)と合っていない。Allow Self か Allow Others が外れている。Local Only の Receiver の値を、同期するつもりで使っている。Receiver の設定を見直します。
Quest やスマホの人にだけ、ギミックが見えないAndroid 版(Quest・スマホ向け)に、そのギミックが入っていない。または、Android 版で使えない部品を使っている。Android 版にも同じギミックを入れて、アップロードし直します。
ほかの人から、揺れものや触るギミックが動いていないと言われるアバターが、見る人の設定したランクより重い。PhysBone や Contact の数が多すぎると、その人の画面では、PhysBone と Contact がすべて外されます。パフォーマンスランクの、PhysBone と Contact の項目を見て、数を減らします。
ワールドを移ったり、アバターを着替えたりすると、元に戻るExpression Parameters の Saved(覚えておく)のチェックが外れている。または、Default の値が思ったものと違う。Saved にチェックを入れ、Default を見直します。
メニューに項目を足せない・足した項目が出ない1つのメニューに置ける項目は 8 つまで。いっぱいのメニューには足せません。MA でつなぐときは、MA Menu Installer が無いか、オフになっている。Sub Menu で、メニューを分けます。MA なら、Menu Installer を付けたオブジェクトがオンかを見ます。
アップロードできない。パラメーターが多すぎると出る同期するパラメーターの合計が 256 bit を超えた。Bool は 1 bit、Int と Float は 8 bit です。衣装やツールが足したパラメーターも数に入ります。Builder の Validations で量を見ます。使っていないものを消すか、ほかの人に見せなくてよいものの Synced を外します。いくつかのオンオフを Int 1つにまとめる方法もあります。
MA でつないだら、見た目が変わらないMA Merge Animator の Path Mode が、録画したときと合っていない。Relative なら、パスは Merge Animator を付けたオブジェクト(Relative Path Root)から数えます。Layer Type が FX でないこともあります。Path Mode と Layer Type を見直します。
Unity では出ているのに、VRChat では出ないオブジェクトのタグが EditorOnly で、アップロードのときに外されている。または、親のオブジェクトがオフで、クリップがそこをオンにしていない。Inspector のいちばん上の Tag を Untagged にします。Hierarchy で親から順に、オンになっているかを見ます。
直したはずなのに、VRChat では変わらない別のアバター(別の Blueprint ID)にアップロードした。または、古いほうのアバターを着ている。Builder で、アップロード先のアバターを見ます。VRChat で、アップロードしたアバターを着直します。
アバターの更新を入れたら、作ったギミックが消えた・動かなくなった更新で、元のアバターの FX やメニューが上書きされた。アバターの FX に直接足したものは消えます。作ったものは、MA でつなぐ形にしておくと、元のアバターの FX と別になるので、更新で消えにくくなります。

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

Unity でも、メニューを押して何も起きない

起きること
Gesture Manager でメニューを押すと、パラメーターもステートも変わる。でも、見た目が変わらない。
原因
いちばん多いのは、自分で足したレイヤーの Weight が 0 のままのことです。Unity でレイヤーを足すと、Weight は 0 で作られます。
直し方
Animator ウィンドウの Layers で、そのレイヤーの歯車を押し、Weight を 1 にします。それでも変わらなければ、クリップのパスと、下のレイヤーを見ます。

自分にしか見えない

起きること
自分の画面では帽子が出ている。友だちからは、帽子が無いと言われる。
原因
Expression Parameters で、そのパラメーターの Synced のチェックが外れています。値がほかの人に送られていません。
直し方
Synced にチェックを入れて、アップロードし直します。友だちが Quest やスマホなら、Android 版にもギミックが入っているかを見ます。

ワールドを移ると、オフに戻る

起きること
帽子をオンにしても、ワールドを移ると、帽子が消えている。
原因
Expression Parameters で、そのパラメーターの Saved のチェックが外れています。ワールドを移ると、Default の値に戻ります。
直し方
Saved にチェックを入れて、アップロードし直します。

オンにすると、ぱたぱた点滅する

起きること
オンにすると、帽子が出たり消えたりを、細かく繰り返す。
原因
Any State からのトランジションで、Can Transition To Self にチェックが入っています。条件が合っている間、同じステートに入り直し続けています。
直し方
Any State からの矢印を選び、Can Transition To Self のチェックを外します。

Unity では動くのに、VRChat では出ない

起きること
Gesture Manager では帽子が出る。アップロードして VRChat で押すと、出ない。
原因
帽子のオブジェクトのタグが EditorOnly になっていて、アップロードのときに外されています。別のアバターにアップロードしていることもあります。
直し方
Tag を Untagged にして、アップロードし直します。Builder で、アップロード先のアバターも見ます。

パラメーターが多すぎて、アップロードできない

起きること
ギミックを足したら、Builder に、パラメーターが多すぎるという注意が出て、アップロードできない。
原因
同期するパラメーターの合計が、256 bit を超えています。衣装やツールが足したパラメーターも数に入ります。
直し方
使っていないパラメーターを消すか、ほかの人に見せなくてよいものの Synced を外します。服の切り替えのように、いくつかのオンオフは Int 1つ(8 bit)にまとめられます。

気をつけること

  • 一度に直すのは1か所だけにします。いくつも同時に変えると、どれで直ったのか、どれで壊れたのかが分からなくなります。
  • 直す前に、元に戻せるようにしておきます。コントローラーやクリップを複製しておくか、アバターのフォルダを書き出しておきます。
  • Unity で再生している間に変えた設定は、再生を止めると元に戻ります。直すのは、再生を止めてからにします。
  • Gesture Manager で動いても、ほかの人からの見え方(同期)は確かめられません。最後は、VRChat で友だちに見てもらいます。
  • 買ったアバターの FX やメニューに直接足すと、アバターの更新で消えることがあります。自分で作ったものは、MA でつなぐ形にしておくと安心です。
  • VRChat の中のデバッグ表示や、Gesture Manager の画面は、更新で名前や場所が変わることがあります。

まとめ

  • ギミックは、メニュー → パラメーター → ステート → クリップ → 見た目 の順に動きます。前から順に、どこまで届いているかを確かめます。
  • まず Unity の Gesture Manager で確かめます。アップロードを待たずに、すぐ試せます。
  • パラメーターが変わらないならメニューと Expression Parameters、ステートが変わらないならトランジション、見た目が変わらないならクリップとレイヤーを見ます。
  • Unity で動いたら VRChat で自分で、最後に友だちに見てもらって、同期を確かめます。
  • これで「Animator でギミックを自分で作る」の回はおしまいです。困ったら、上の一覧から、それぞれの回に戻ってください。

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