やっほー、わたあめ子です。
3Dモデルで配信をしているみなさん、自分の顔を見て「もうちょっと表情豊かにならんかな…」と思ったことはありませんか?
たくさんのブレンドシェイプとiPhoneの顔認証認識のパワーで3Dモデルの表情筋をつよつよにする「パーフェクトシンク」というものがあります。
↓実際に実装したもの
表情筋つよない?????? pic.twitter.com/YcCUqTsh6W
— わたあめ子🍭Vtuber (@wata_ame_ko) September 4, 2020
今回、このパーフェクトシンクで顔を滑らかに動かすことに成功したので、実装までの流れを書き残しておきます。
用意するもの
パーフェクトシンクを利用するにあたって必要なものはこちら。
- iPhone or iPad(faceIDの使えるもの)
- 3Dモデル
- iFacialMocap
- blenderなど3Dモデルのシェイプキー編集ができるソフト
iFacialMocapは必須というわけじゃないのですが、特にフルスクラッチモデルを扱う際にシェイプキーの破綻などを修正する難易度が段違いなため、iFacialMocapをご用意することをオススメします。
その他パーフェクトシンク対応アプリとしてはvearやEmosignなどがありますが、こちらはスマホに3Dモデルを表示するアプリです。
PCで3Dモデルを扱う場合は、PCへモーションを送信する仕組みがあるiFacialMocapが便利です。
(VMagicMirrorとの連携もできます)
パーフェクトシンクを実装する
それでは実際にパーフェクトシンクを実装していきます
①モデルへシェイプキーを追加する
使用したいモデルへ、52種類のシェイプキーを追加します。
パーフェクトシンク対応アプリでは特定の文字列のシェイプキーを対応させて表情を動かします。
ここでは具体的なシェイプキーの内容は割愛しますが、場合別の参考記事をご紹介します。
ヤダヤダ!52個もブレンドシェイプ作りたくない!という人向け
VRoidモデルをお使いの方向け
VRoidでかんたん!パーフェクトシンク(1/3)VRoidモデルのFBXエクスポート
実際にやって得た気付き
・シェイプキーは52個すべてを作成しなくても動く
52個とか地獄じゃん!という方は、一部のブレンドシェイプを作成するだけでも動かすことができます
・シェイプキー52個は実質47個
アニメ顔キャラの場合、多くは使わないと思われるシェイプキーが5つ存在します。
なのでほとんどの場合、制作するシェイプキーは実質47個ぶんです。
・blenderでシェイプキーを作成する際はぜひ初めにアドオンを入れて使おう
作業を開始する前に、sort_shapekeysを利用して、すべてのシェイプキーを作成してしまってから編集すると楽です。
シェイプキーの名前が間違っていると動作しないので、本当はいらないのに半角スペースとか入っていたらすべてのシェイプキーの名前をコピペしなおす羽目になります。
あめ子はやった。
・シェイプキーの反転やコピーをうまく使おう
顔が完全に左右対称な方は、ぜひ「新シェイプをミックスから作成」→「シェイプキーをミラー反転」を使いましょう。
これが使えるととても楽です。
他にも「任意のシェイプキーを選択部に合成」とかも使えると捗ります。
②動作チェック
シェイプキーが作成できたら、一度blender上で動かしてみることをオススメします。
シェイプキーをその名の通りブレンドして様々な表情が作られるのですが、動かしてみると一つひとつ見るだけでは気付かない破綻が出てきます。
blender上で確認できれば、直すのも比較的簡単です。
blender上で表情を動かすやり方は以下のリンクを参照してください。
接続してから顔を動かしてみて、「この表情/角度のときがおかしい!」というところで「Disconnect」を押すとその表情でblender側の動きが止まります。
その状態でシェイプキーの値を見ながら、原因となっていそうなシェイプキーを探す…という手法を取りました。
これができなければもっと時間がかかっていたと思います。
動かしてみよう
iFacialMocapはそのままunity上のモデルを動かしたり、VMagicMirrorと連携して動かしてみることができます。
または、モデルをunityでVRMへセットアップすれば、vearなどのスマホアプリでも表情豊かなモデルを利用できます。
表情筋がつよつよになった己の顔を見てテンションを上げましょう。
たのしい!!
ざっとになりますが以上でパーフェクトシンク実装までの道のりはおしまいです。
お疲れ様でした!