アバターの表情はどうやって動いているのか。鍵になるのが「シェイプキー(ブレンドシェイプ)」です。仕組みを知っておくと、表情改変や、まばたきが埋まるといった定番の不具合対応に役立ちます。
シェイプキーとは
メッシュの頂点を「元の形」から「変形後の形」へ連続的に変化させる仕組みです。目を閉じる、口を開ける、眉を動かすといった顔の変形が1つずつシェイプキーとして登録されていて、0〜100の値で混ぜ合わせることで多彩な表情を作ります。
値が中間なら変形も中間になるため、半目や少しだけ開いた口といった微妙な表現もできます。複数のシェイプキーを同時に混ぜられるのがこの仕組みの強みです。
表情アニメーションとの関係
VRChatでは、ハンドジェスチャーや表情メニューに応じてアニメーションが再生され、そのアニメーションがシェイプキーの値を動かしています。
つまり表情改変とは「どのシェイプキーをどの値にするか」をアニメーションとして作る作業です。絵を描くのではなく、用意されたパーツの混ぜ方を決める作業だと考えると分かりやすくなります。
まばたき・リップシンクとの競合
まばたきや口パク(リップシンク)も専用のシェイプキーで動いています。アバターの設定でどのシェイプキーを使うかが指定されており、表情アニメーションがこれらと競合すると不具合が起きます。
典型的な症状は次のとおりです。
・表情中にまばたきが埋まる — 自作表情がまばたき用のキーを動かしている
・笑顔にすると口が動かない — リップシンク用のキーを表情側が固定している
・まばたきで表情が一瞬崩れる — 同じキーを両方が取り合っている
表情を自作するときは、まばたき用・リップシンク用に指定されているシェイプキーに触れていないかを先に確認しましょう。多くのアバターでは、説明書やアバター設定にどのキーが使われているか書かれています。
まずは組み合わせを変えるところから
販売アバターには表情用のシェイプキーが豊富に用意されていることが多いので、ゼロから作らなくても、既存キーの組み合わせを変えるだけでオリジナルの表情が作れます。
「目はこのキー、口はこのキー、眉はこのキー」を選んで値を決める。この作業に慣れてから、Blenderでシェイプキー自体を作る段階に進むのが自然な順番です。
Blenderで作る場合
シェイプキーを自作するときは、元の形を壊さないよう注意が必要です。また、UnityへFBXを書き出す際の設定によってはシェイプキーが失われることがあります。書き出し後は、Unity側でシェイプキーが残っているかを必ず確認してください。
つまずきやすいポイント
シェイプキーが見つからない
Inspectorで対象のメッシュを選び、Blend Shapesの項目を確認します。顔が別メッシュに分かれていることもあります。
値を変えたのに戻る
アニメーションが上書きしている可能性があります。Playモード中の変更も保存されません。
FBX差し替えでシェイプキーが消えた
書き出し設定を見直すか、コミュニティで共有されている手順に沿ってください。
よくある質問
Q. 表情の数は増やせる?
A. 増やせますが、パラメータ容量やメニュー項目数の上限があります。別記事「Expression Menuの基本 アバターのメニューを理解する」で解説しています。
引用記事Expression Menuの基本 アバターのメニューを理解するアバター
Q. シェイプキーの名前は変えていい?
A. 名前を参照している設定があるため、変更すると動かなくなることがあります。むやみに変えないほうが安全です。
Q. 表情が左右非対称になる
A. 左右別のキーが用意されている場合、片方だけ動かすとそうなります。対応するキーの値を揃えてください。
Q. 表情をコピーしたい
A. 作ったアニメーションクリップを複製して値を調整するのが手早い方法です。
