【サンプル付き・VRM1.0】アバターの表情をつくる「シェイプキー」をBlenderで作成してみよう

Blenderで作成したアバターはVRMにすることでclusterに持ち込むことができます。
また、Blenderで表情用のシェイプキーを作成することでVRMモデルに表情アニメーションを追加することができます。

今回は自作のアバターに表情を付けるために必要なシェイプキーや、シェイプキーの作成方法について解説していきます。

Blenderを初めて触る方にはこちらの記事がおすすめです。

今回の解説では、以下のサンプルデータを用いて解説していきます。

Blender 4.2.1を使用しています。

cluster では以下の表情を使用することができます。

aa、ih、ou、ee、oh
感情表現
blink

VRM及びclusterで必要になるアバターの表情はシェイプキーの組み合わせで作成することができます。
今回は以上の表情を作成するうえで必要になるシェイプキーの作り方について解説していきます。

サンプルモデルはシェイプキー設定済みと設定なしの2種類あります。1から設定してみたい方は自分でモデルを用意するか、サンプルモデルの設定なしのものをベースに下記の解説をお読みください。

シェイプキーについて

シェイプキーとは、頂点の移動を記憶させる機能です。
記憶した頂点を特定のタイミングで発火させることで、アバターの口を動かしたり、瞼を動かしたり……つまり、表情を作成することができます。

シェイプキーを作成・命名する

シェイプキーの名称は自由ですが、後で見返してどこがどう動くものなのかわかるように命名するのがおすすめです。
今回は口が動くものを「mouth_◯◯」、目が動くものを「eye_◯◯」と命名します。

まずは新規シェイプキーを最初に作り、その後各項目の詳細な編集を行っていきましょう。

  • オブジェクトモードで右下のシェイプキーパネルの「+」マークを2回クリックすると、それぞれ「Basis」、「Key 1」という新規シェイプキーが追加されます。
  • 「Key」と書かれている部分をダブルクリックすると文字の色が変わり、名前を変えられるようになるので、シェイプキーの名前を入力しましょう。

今回作成するシェイプキーは

  • mouth_aa
  • mouth_ih
  • mouth_ou
  • mouth_ee
  • mouth_ou
  • eye_blink
  • eye_fun
  • eye_sad
  • eye_angry
  • eye_relaxed
  • eye_surprised

の11種類なので、新規シェイプキーは11個、Basis合わせて12個のシェイプキーが存在している状態にします。

シェイプキーを編集する

作成した各シェイプキーは、各シェイプキーをクリックし、編集モードでメッシュを編集することで編集結果をシェイプキーに記録することができます。

  • 今回はメッシュ対称という機能を使用します。
    • 編集モードで、modelingタブの右上の鏡マークの横にあるXボタンを押すと使用できます。
    • 下図のように、片側を動かすと原点を挟んだ反対側の頂点も鏡写しに動きます。

各シェイプキーの編集の全体的な流れは大きく分けて2種類あります。

編集モードで頂点を移動して作成

編集したいシェイプキーを選択した状態で頂点を移動します。

編集モードで作成済みのシェイプキーから「シェイプキーからブレンド」でコピーしてから頂点を移動して作成

編集モードでコピーしたい部分を選択した状態で頂点メニュー→「シェイプキーからブレンド」を使うことで作成済みのシェイプキーから形状をコピーすることができます。また、オペレーターウィンドウでコピー割合を調整できます。

その後頂点を移動して形状を整えます。

各シェイプキーを実際に編集してみる

それでは各シェイプキーを編集してみましょう。(下記はあくまでも一例となります。それぞれの表情を自分なりの方法で表現してみるのもありです!)

mouth_aa

mouth_aaは口を大きく縦に開けるシェイプキーです。

  • 口の上下をそれぞれZ軸方向に移動し、Rで回転、Gで移動させることで作成します。

mouth_ih

mouth_ihは口を横に広げるイメージで少しだけ口を開けるとそれっぽくなります。

  • 「シェイプキーからブレンド」という機能を利用し、mouth_aaを10%くらいコピーすることで少しだけ開けることができます。
  • 次に口の両端を横に広げることでmouth_ihが完成します。
  • 口の両端を横に広げる際はプロポーショナル変形を使用することで滑らかに広げることができます。

mouth_ou

mouth_ouは口を開けた上で横にすぼめて作ります。

  • こちらは「シェイプキーからブレンド」でmouth_aaを100%合成。
  • 次に口の端を選択し、Gキーで横に狭めるように移動することでmouth_ouが完成します。
  • 頂点移動はプロポーショナル編集を使用することで綺麗に行えます。

mouth_ee

mouth_eeは口を開けて端を少し下げて作ります。

  • こちらは「シェイプキーからブレンド」でmouth_aaを50%合成。
  • 次に口の端を少し下げることでmouth_eeが完成します。
  • 口の端を少し下げる際はプロポーショナル編集を使用することで綺麗に行えます。

mouth_oh

  • mouth_ohは「シェイプキーからブレンド」を使って、mouth_aaとmouth_eeを組み合わせて作ります。

eye_blink

  • eye_blinkは目を縦に縮小し、真中部分を少し下げて弓なりにして作ります。
  • 弓なりにする際はプロポーショナル編集を使用することで滑らかな弓なりにします。

eye_fun

  • 感情表現の表情に具体的な指定等は存在しないのでどのような表情でも大丈夫です。今回はにっこり笑ってる目にします。
  • にっこり目はeye_blinkと同じで目を縦に縮小し、真中部分を上に上げます。
  • こちらもプロポーショナル編集を使用し、滑らかな弓なりにします。

eye_sad

  • eye_sadは目の端っこを下げて少し困ってる目にします。
  • 目の上部分をSキー→Zキーの縮小で平たくしてRキーで回転させます。

eye_angry

  • eye_angryは目の端っこを上げてキリっとした目にします。
  • 目の上部分をSキー→Zキーの縮小で平たくしてRキーで回転させます。

特殊な目の表現方法

  • 少し特殊な「目の色を差し替える」表情も作ってみましょう。
  • 目そのものを差し替える形で作成するので、顔の中に隠すように追加で目を作成します。
  • Eye_Joy、Eye_Surprisedでそれぞれのデフォルトの目を顔の中に埋めて、Eye_Joy、Eye_Surprisedの目を前に出します。

これですべてのシェイプキーを作成できました。

オブジェクトモードでシェイプキー一覧の下にある「相対」のチェックを外して「評価時間」の項目をマウスでドラッグするとシェイプキー全体の動きを一気に確認することができます。

作成したモデルを出力する

作成したモデルをFBXに出力して、是非Unityに入れてみましょう。

  • オブジェクトのトランスフォームが回転 X 90 、スケール 0.010であることを確認してください。(SampleHiyokoは元々この設定になっているはずですが、一応確認しましょう)
  • 上部メニュー欄の「ファイル > エクスポート > FBX」を選択します。出力オペレーターが開くので名前を設定して出力します。
  • 出力オペレーターではトランスフォームの「スケールを適用」を「全ローカル」にし、「トランスフォームを適用」のチェックを外れていることを確認しましょう。

clusterへのアップロード方法や表情の設定方法に関してはこちらの記事がおすすめです。

Cluster Creators Guide|バーチャル空間での創作を学ぶならをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む