※この記事の後半で紹介しているツール「まとめてシェイプ+」は、筆者(ほどき工房)が作ったものです(無料のテスト版と、有料版)。
シェイプキーの名前を変えたら、表情のアニメーションが動かなくなった…。これは、アニメーションがシェイプキーを名前で覚えているからです。この記事では、しくみと直し方を紹介します。
なぜ動かなくなるのか
アニメーション(.anim ファイル)の中には、「どのオブジェクトの、どの名前のキーを動かすか」が書かれています。キーの名前を変えると、アニメーションに書かれた名前と合わなくなり、そのキーは動きません(Unityのアニメーションの画面では、黄色の Missing と表示されます)。

方法1:名前を元にもどす(いちばん確実)
アニメーションをたくさん使っているなら、キーの名前を元にもどすのがいちばん確実です。
方法2:アニメーションのファイルをテキストで書きかえる(ツールなし)
Unityのアニメーションのファイル(.anim)は、ふつうはテキストで保存されています(Project Settings > Editor の Asset Serialization が Force Text のとき。新しいプロジェクトの初期設定です)。その中の attribute: blendShape.古い名前 を attribute: blendShape.新しい名前 に書きかえると、アニメーションも新しい名前のキーを動かすようになります。
- プロジェクトのバックアップをとる
- そのキーを使っているアニメーションを探す(Unityのアニメーションの画面で、黄色の Missing になっているもの)
- Unityを閉じて、.anim ファイルをテキストエディタで開き、
attribute: blendShape.古い名前をattribute: blendShape.新しい名前にすべて置きかえる - Unityを開いて、アニメーションが動くか確かめる
筆者の作業場所で、old_smile というキーを動かすアニメーションを書きかえ、Unityが smile というキーとして読み込むことを確かめました。
気をつけること
- 同じアニメーションを、ほかのアバターでも使っているときは、そちらも新しい名前になります。心配なときは、アニメーションを複製してから書きかえてください
- FBXの中のアニメーションや、Packagesの中のアニメーションは、この方法では書きかえられません
- 口の動き(リップシンク)やまばたきの設定(VRC Avatar Descriptor)や、Modular Avatar の Blendshape Sync も名前で覚えているので、そちらも直す必要があります
方法3:名前を変えるときに、まとめて直す(まとめてシェイプ+)
有料版の「まとめてシェイプ+」(300円・筆者の商品)の「名前(アニメも直す)」では、キーの名前を変えると、次のものも新しい名前に直します。
- アバターで使われているアニメーション(Modular Avatar の Merge Animator の中も)
- VRC Avatar Descriptor の口の動き(リップシンク)・まばたき
- Modular Avatar の Blendshape Sync
書きかえる前に、変わるアニメーションの数と名前を確認画面に出します(Ctrl+Zで戻せます)。キーの横に、そのキーを使っているアニメーションの数も出ます。無料版の「まとめてシェイプ」には、この「アニメも直す」はありません(名前の変更・削除だけ)。まず無料版で、自分のアバターに合うか試してから検討してください。
注意
- VRChatの中での動作は、まだ確認できていません
- 市販のアバターでの動作も、まだ確認できていません
- 作業の前に、プロジェクトのバックアップをとってください
ダウンロード
まとめ
- アニメーションはキーを名前で覚えているので、名前を変えると動かなくなる
- ツールなしなら、名前を元にもどすか、.anim をテキストで書きかえる(バックアップをとってから)
- 名前を変えるときにアニメーション・口の動き・まばたき・MA もまとめて直すなら有料版


コメント