【Vroid】デフォ表情が気にくわなかったのでなんとか改変した(Unity)
この記事はすでにUnityでVroidの表情を改変できる人向けです。
◆経緯
初めましてVroid初心者です。
Vroidを使って配信を行っている方は、
何のソフトをお使いでしょうか?
僕は『3tene』というソフトを使っています。
https://3tene.com/free/
無料版ではWEBカメラで動きとまばたきを認識し、
表情ツールウィンドウorキーバインドで表情変更が可能です。
3teneにはグレードがあり、有料版のProV2ではiPhoneX以降による表情トラッキングが可能です。
https://3tene.com/pro/
有料版とはいえ案外安かったので導入してみました。
表情をトラッキングすることにより、
通常・喜・怒・哀の4つの表情を自動で切り替えてくれます。
しかもこれ、パーフェクトシンク対応モデルじゃなくてもOK、すごい。
これはVroidにデフォルトで組み込まれている、
Normal・Joy・Angry・Sorrowのシェイプを使用しています。
が
いや悲しそうすぎる。
何があったん。
僕のモデルはVroidStudioベータ版で制作されています。
僕の顔との相性なのか、デフォルトの表情が感情豊かすぎる。
なので、僕はそれぞれのシェイプのパラメーターをUnityで変更し、
表情を調整していました。
なのに表情の自動変更ではそれが反映されてない!!!!!
3teneの表情ツールウィンドウで表情を変更すると、
僕が調整した表情になるのに、
iPhoneによるトラッキングの自動変更ではデフォルトのパラメータ表情になってしまう。
なんでやねん。
今回はこれを解決しました。
◆作業工程
●仮説
Vroidのデフォルトシェイプでは、
問題の上記表情のパラメータに口のパラメータも入っており、
笑ったりするとありえんほど口が空きます。
(僕はUnityで口のパラメータを全部0にしました)
この状態で喋ると、歯が皮膚を貫通してきます。
それを防ぐためか、3teneの表情ツールウィンドウを一番下までスクロールすると、
明らかに後付けのような英語の表情ボタンが出てきます。
これはそれぞれの表情の口を閉じさせたverなのですが、
もしかして自動変更機能はこっちのパラメータを使用している?
●検証
しかしながらそもそも、モデル本体のシェイプ一覧には
「_CrosedMouth」なんてものは無い。
ってことは、3tene内部に_CrosedMouthっていう
「デフォルトパラメータ-口パラメータ」
のシェイプデータが存在していて、それを反映させている????
逆に、モデル本体にその名前のシェイプがあったら反映できるのではないか。
ってなわけで早速やってみる。
まずはUnityでモデルのシェイプ画面を開く(やり方は調べてください)
『Create BlendShapeClip』を押す
するとファイルの保存みたいな画面が出るので、
他のシェイプと同じような書式になるように、ファイル名を
『BlendShape.Joy_ClosedMouth.asset』にして保存。
新しいシェイプが追加されました。
なんか表示が他と違う気がしますが一旦無視。
「Face」から好みのJoy顔にパラメータをいじる。
(僕は元々調整済みだったJoyのパラメータと同じにしました)
そして書き出し→3teneで確認
反映されてる!!!!!!
つってもこれ僕以外には伝わりづらいので他の表情も同じようにシェイプを作成しました。
比較していきます。
●結果
喜・Joy
怒・Angry
悲・Sorrow
そんなに悲しくなくなりました。
怒りも抑えられてます。
ProV2の導入からここにたどり着くのに4時間かかりましたが大勝利です。
●感想
存在しないはずのパラメータが反映されたときはどうしようかと思いましたが、案外何とかなりました。
正直Unityは詳しくないのでもっと正しいやり方があるよって場合は教えてください。
あとトラッキングを使ってみた感想として、
Sorrowのシェイプが反応しやすい気がします(個人差あるかも)。
なのでSorrow_ClosedMouthのパラメータを悲しそうな表情ではなく、
少し驚いた表情にしてみました(3秒に1回くらい残念そうな顔をするので)。
個人的には少し表情運びが自然になった気がします。
Angryシェイプは、結構反応しにくかったのでそのままにしました。
Vroidの表情変更、正直結構面倒だし解説してある記事もそんなに丁寧じゃないので苦戦することが多いかと思いますが、
印象が結構変わるので好みにしたい方はやってみるとええかも。
以上、お疲れさまでした。
この記事が気に入ったらサポートをしてみませんか?