アバターもできたことだし何か動きをつけたいなーと考えたところ、瞬きが手軽でいい感じになりそうだったので追加することにしました。
が、意外と調べても???となる部分が多かったのでまとめました。
3行まとめ
BlenderでShapeKeyを追加し、ブレンドシェイプを設定する
Unityにインポートして、AnimationでShapeKeyの値を制御する
Mirror modifierを使ってる場合は一手間必要
環境
Windows7 Professional 64bit
VRChat 2018.2.2(デスクトップモード)
概要
表情変化をさせるには色々な方法があるようですが、今回はメジャーっぽいブレンドシェイプを利用しました。重要な用語は以下の通りです。
- 表情を変化させる方法 → blend shape(ブレンドシェイプ)、Morph(モーフ)
- 表情変化データのインデックス → Shape Keys(シェイプキー)
- 表情変化を制御する方法 → UnityのAnimation機能
ブレンドシェイプ | CG用語辞典 | CGWORLD Entry.jp
手順
Blenderでブレンドシェイプ
自作アバターの場合、ブレンドシェイプが設定されていないはずなので、まずそこから始めます。主な手順は以下の3つ。
- Shape Keysを追加
- モデルを変形する(表情を作る)
- いつも通りUnityにインポートする
以下のサイトが詳しいので参考にしてください。ただし、Mirror Modifierを利用している場合は次の注意点を読んで対処する必要があります。
注意点
Blenderでは「Mirror modifierが適用されたObjectはShapeKeyを書き出せない問題(仕様?)」があります。Mirror modifierを外してしまえば大丈夫ですが、当然それ以降の作業に影響するので、できれば外したくないかと思います。
以下のサイトではMirrorModifierを外さずにShapeKeyを書き出す方法が紹介されていますので、是非参考にしてください。
UnityのAnimation機能でBlendShapeを制御
Shape Keysを設定したモデルをインポートすると、Skinned Mesh Renderer(Script)にBlendShapesという項目が追加されます。クリックすると先ほど設定したShape Keysが表示されます。
この値を、UnityのAnimation機能によって制御することによって、表情変化を設定できるようになります。
この工程は以下のサイトが詳しいです。
※文中の「モーフがあること」は「ブレンドシェイプを設定してあること」と同義です
自動瞬きの設定講座 ( WEBサイト・CGI ) – シンヤのカスタムナイフ・模造武具の製作 – Yahoo!ブログ