デフォルト表情とリップシンクが混ざる問題をBlenderを用いて解決する

自分用メモ書きを兼ねて。
デフォルト表情をシェイプキーを用いて改変していると、リップシンクと干渉します。
表情とリップシンクの干渉問題はUnity側でどうにかするのが定石で、Boothとかで対応したレイヤーが入手可能かと思います。
なんらかの理由でその手の方法が使えない人向け。

半分ぐらいは別記事と内容が被ります。


ベースへのデフォルト表情の適用

  1. オブジェクトモードで顔のオブジェクトを選択し、Shift+Dで複製しておく(後のシェイプキー修復の準備)

  2. 編集モードで顔のオブジェクトを選択し、シェイプキーの影響を受ける部分を選択

  3. オブジェクトデータプロパティ→シェイプキー→Basis(ベース)が選択されていることを確認。

  4. 頂点→シェイプキーからブレンド→左下に出てくるウィンドウで反映させたいシェイプキーとブレンドの数値を設定する。

  5. 複数のシェイプキーを適用したい場合は3を繰り返す。2回目以降は加算にチェックが入っていることを確認(デフォルトでは入ってるはず)。

  6. 表情が適用されますが、リップシンク用のシェイプキーがぶっ壊れます。

4.シェイプキーからブレンドを選択し
適用させたいシェイプキーとブレンドの数値を設定

壊れたシェイプキーの修復

  1. オブジェクトデータプロパティ→シェイプキー→右上にある-を押して壊れたシェイプキーを全て消し飛ばす

  2. 予め複製しておいたオブジェクトを選択し、オブジェクトデータプロパティ→シェイプキー→△▽を使って復活させたいシェイプキーを一番上に持ってくる(オブジェクトのベースにする)

  3. 複製したオブジェクト→オリジナルのオブジェクトの順に選択し、シェイプキースペシャルからシェイプとして統合を選択

  4. オリジナルのオブジェクトにシェイプキーが追加されるので対応した名前に変更する

  5. 復活させたいシェイプキーの数だけ繰り返す

予め複製しておく
1.壊れたシェイプキーを消し飛ばす
2.復活させたいシェイプキーを一番上に
3.シェイプとして統合
4.シェイプキーが復活するので名前を変える

リップシンクの干渉を防ぎたいだけなら15個のシェイプキーを復活させるだけで済みますが(※追記:改変前のデフォルト表情と同じ形状になるシェイプキーは上記の方法での復活ではなく改変後のデフォルト表情に適宜修正する)、ベースの形状を変更してしまうので、口周りが動くシェイプキーは全て影響を受けます。それら全てに対応しようとすると、昨今のアバターは表情シェイプキーが大量に入っていることが多い(らしい)のでけっこう手間がかかります。
何かしらの理由があるのでなければ、Unity側で対応する方がはるかに楽だと思います。

もっとスマートなやり方があるかもしれないし、便利なアドオンとかあるかもしれないけど知らん!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

いいなと思ったら応援しよう!