VRoidStudioで作ったVRMモデルをVMagicMirrorで使う人必見!
Unityで【1】既存表情修正【2】新規表情追加をしてみたので、その方法を詳しく解説するぜ!
表情(ブレンドシェイプ)の変更は素人でも意外と簡単だったし、ちょっとの作業で量産型VRoid感を薄くできるから、絶対にやっておいた方が良いぞ…ッ!
※VMagicMirrorの表情機能に最適化した調整を行うため、他のソフト(Luppetや3tene)ではちゃんと動かない可能性が高い。
◇VRoid+Unity+VMagicMirrorで実現できること
・違和感がある表情の微調整
・まばたき時の表情を[U_U]から[∧_∧]にする
・「あいうえお」表情に眉の上下を追加(VMM併用で眉トラッキング風にする)
・びっくり顔
・キラキラ目(やる気顔)
・青ざめ+ぐるぐる目(絶望顔)
・赤面+ハート目(メス顔)
・ジト目
※※※※必読の参考ツイート※※※※
【目次】
- ◇VRoid+Unity+VMagicMirrorで実現できること
- ◇Unityの下準備(DL・解凍・インストール)
- ◇合体したテクスチャーの取り出し(Unity)
- ◇表情追加用テクスチャーの作成(好きなペイントソフト)
- ◇作成した表情テクスチャーの追加(Unity)
- ◇追加したテクスチャ-を紐づける(Unity)
- ◇表情のパラメーター変更
- ◇新規の表情追加
- ◇UnityからUniVRMでVRMファイル出力
- ◇VMagicMirror側「Word to Motion」設定
- ◇VMMの表情設定
◇Unityの下準備(DL・解凍・インストール)
[1]UnityとUniVRMをダウンロードして使えるようにしておく。
[2]Unity起動→新規プロジェクト作成後、UniVRMをダブルクリックで実行する。
[3]Unity下側の[Assets]部に、VRoidでエクスポートしたVRMファイル[〇〇.vrm]をドラッグ&ドロップで持ってきて読み込む。
[4][Assets]に表示される自モデルの全身が映ったアイコンを、左中央の細長いリスト([Scene]上)にドラッグ&ドロップする。
ここまでやって中央の画面に自分のモデルが表示されていれば準備はOK!
◇合体したテクスチャーの取り出し(Unity)
[1]左下[Assets]にいっぱい並んでいるフォルダリストから、[〇〇.Textures]フォルダを開く。
[2]画像がいっぱい出てきたら、瞳の画像をダブルクリックするとpngファイルが開くので、右上の[…]から分かりやすい位置に[名前を付けて保存]する。
[3]同じく、肌の画像をダブルクリックするとpngファイルが開くので、右上の[…]から分かりやすい位置に[名前を付けて保存]する。
◇表情追加用テクスチャーの作成(好きなペイントソフト)
透過してあるので見づらいが、俺が合体テクスチャーに重ねた表情レイヤーはこんなかんじだ。
※最初に記載した必読ツイートにも書いてある通り、元モデルのテクスチャを4つ複製して1つの画像にするイメージ。左下は標準時のテクスチャになる。
[1]ペイントソフトで↑の透過表情テクスチャを読み込んだら、その下にさきほど取り出した自分のモデルのテクスチャを並べて貼り付ける。
[2]ちゃんと規則正しく4分割になるよう並べられたら、好きな表情などを描きこもう。
[3]追加用の表情テクスチャーが完成したら、透過pngファイルとして保存する。
↓俺の場合の完成画像のイメージ↓
◇作成した表情テクスチャーの追加(Unity)
[1]Assetsの左のフォルダリストから、[〇〇.Textures]フォルダを開く。
[2]事前に作っておいた目テクスチャー&肌テクスチャーを、いっぱい画像がある部分にドラッグ&ドロップで追加する。
◇追加したテクスチャ-を紐づける(Unity)
[1]Assetsの左のフォルダリストから、[〇〇.Materials]フォルダを開く。
[2-a]まずは目玉の紐づけ。目玉っぽいアイコンの[M00_000_00_EyeIris_00_EYE]を選択する。
[3-a]右側[Inspector]バーの中にある[Basic]>[Color]のところを見てみよう。
[4-a][Color]内、[Lit&Alpha][Shade]の横にかなり小さな〇ボタンがあるので、そこを押してさっき追加した目テクスチャー画像を選択する(両方同じものを選ぶ)。
[2-b]次は肌の紐づけ。さきほど同様に、[〇〇.Materials]>肌色っぽいアイコンの[M00_000_00_Face_00_SKIN]を選択する。
[3-b]右側[Inspector]バーの中にある[Basic]>[Color]のところを見てみよう。
[4-b][Color]内、[Lit&Alpha][Shade]の横にかなり小さな〇ボタンがあるので、そこを押してさっき追加した肌テクスチャー画像を選択する(両方同じものを選ぶ)。
※この時点で中央(Sceneウィンドウ)の見た目表示がおかしい場合※
目と肌の[Inspectorバー]→[Options]枠→[Texture Options]→[Tiling]がX0.5 Y0.5になっているか確認する。
◇表情のパラメーター変更
▼違和感がある表情の微調整
[1]Assetsの左のフォルダリストから、[〇〇.BlendShapes]フォルダを開く。
[2][〇〇.BlendShapes]フォルダ内の1番目にある[BlendShape]を選択すると、モデルの表情一覧が表示される。
[3]右側[Inspector]>[Select BlendShapeClp]の中にたくさん並んでいる文字ボタンを押すと、モデルの表情を切り替えることができる。
[4]設定したい表情ファイルを選んだら、右側[Inspector]バーの一番下[Face]の左の▼を押し、詳細パラメーターを開いて表情の設定に入ろう!
★スライダーをドラッグ&ドロップで動かし表情を調整した後、スライダーの上にある[Apply]を押すと、変更した表情が保存される。
★調整項目は顔全体(ALL)・眉(BRW)・目(EYE)・口(MTH)・歯(HA)に分類されていて、それぞれ喜怒哀楽の数値を変えると自分好みの表情にできる。
とにかく色々いじってみれば、ちょうどいい表情が見つかるはずだ!
★調整スライダーは「左端が表情変化量0」「右端が表情変化量100」であることに注意しよう!
▼まばたきを(U_U)から(∧_∧)へ
[1]VMagicMirrorでは片目ずつまばたきするので、[BLINK_L]と[BLINK_R]をそれぞれ設定する。
[BLINK_L]は、[Face_M_F00_000_00_Fcl_EYE_Joy_L]だけを100に設定しておこう
[BLINK_R]は、[Face_M_F00_000_00_Fcl_EYE_Joy_R]だけを100に設定しておこう。
[2]デフォルト表情だと目を閉じても眉毛が動かないけど、人間なら目を閉じた時に眉毛も一緒に下がるのが自然だ。
だから、さっきの設定に[Face_M_F00_000_00_Fcl_BRW_Joy]を追加で設定してみよう。
★[1]と[2]をやっておくと、VMagicMirror側でぎゅっと目を閉じるだけで笑顔を作れるようになるぜ…!
俺は「まばたき=(∧_∧)」型の方が好きだからこうしてる!
よく見るとLive2Dでもまばたきを(∧_∧)型にしているモデルって結構多いよな。
▼「あいうえお」の眉毛に変化をつける
まばたきの動きを変えた時のように、[A][I][U][E][O]ボタンを押して[Face]からBRWパラメーターを適当にいじろう。
※自分で喋ってみると分かるけど、[A][U][O]と喋る時は、[I][U]と喋る時に比べて眉が上がりやすいぞ!
この設定をやっておくと、眉トラッキングに対応していないVMMでも、喋るだけでFacerigのような偽眉トラッキングを実現できるんだ。
▼びっくり顔
VMagicMirrorだと以下のようなデフォルトのびっくり顔[Surprised]は使えない(キーに設定できない)。
なので、[Surprised]の代わりに[BLINK]の設定をいじってびっくり顔にしてしまおう。
(VMMのまばたきには[BLINK_L]と[BLINK_R]が使われるので、両目を閉じるための[BLINK]は自由に設定していい。
ほかのソフトを使うなら普通に[Surprised]や[BLINK]はそのままで設定した方が良いはず)
◇新規の表情追加
▼キラキラ目(やる気顔)
左下[Assets]>[〇〇.BlenShape]フォルダより、[BlendShape]ファイルを探して選択。
(このファイルを選択すると、右側のInspectorバーでモデルの表情を編集できる)
選択状態で右側[Inspector]内の[Add BlendShapeClip]を押すと、新しい表情を追加&変更できるはずだ。
追加する表情には、分かりやすいアルファベットの名前をつけておこう。
[1]表情は今までと同じようにスライダーを好きにいじって調整してくれ!
[2]テクスチャーは、俺と同じテクスチャー配置なら上の画像を参考に設定してみよう。
テクスチャーの欄は、下側にある[+][-]の[+]ボタンから追加できる。
★自分が用意した表情テクスチャーに合わせて、 [Target Value]の[Z]や[W]の数値を0か0.5で適当に入れてみたら、瞳の表情が変わると思う。
- ※テクスチャ設定欄が見つからない人用の補足
- 左下[Assets]>[〇〇.BlenShape]フォルダを開いた後、[BlendShape.△△△(いじりたい表情)]を選択しよう。
- 右側[Inspector]バーの下側にある[Material List]を選び、[+]ボタンを押す。
- マテリアル画像を設定する欄が出てくるので、上記の[MaterialValueBindings]欄のように設定すればOK。
▼青ざめ+ぐるぐる目(絶望顔)
ハイライトのテクスチャー画像を右側に2倍し、延長した部分になにも描かないことでハイライトを消してみた。
もしかしたら、もっと簡単にハイライトを消す方法があるのかもしれない。
▼赤面+ハート目(メス顔)
▼ジト目(ハイライト無し)
◇UnityからUniVRMでVRMファイル出力
[1]全表情の調整が終わったら、左中央のSceneバーから、自モデルの名前のフォルダを選択する。
[2]上部ツールバーより「UniVRM-〇.〇〇]を押して、[Export humanoid]を選択する。
[3]開いたウィンドウの[Export]を押して保存先とファイル名を決定後、VRMファイルを出力(エクスポート)する。
◇VMagicMirror側「Word to Motion」設定
VMagicMirrorを起動後、Unityで調整&出力したVRMファイルを開く。
Word to Motionは、Facerigのようにキー入力で表情を切り替えられる機能だ!
(※単キーだけでなく単語の打ち込みにも対応している)
下の方にある水色の(+)マークを押せば表情ショートカットが追加できるため、さきほどUnityで設定した表情を全てVMM上で使えるぜ!
◇VMMの表情設定
【キー設定が要らない表情】
・標準=[NEUTRAL]
・口パク=[A][I][U][E][O]
・まばたき左目=[BLINK_L]
・まばたき右目=[BLINK_R]
【キー設定後に使う表情】
・びっくり顔=[BLINK]100
・怒り顔=[ANGRY]100
・ハート目+赤面メス顔=[FUN]100
・満面の笑み=[JOY]100
・悲しみ顔=[SORROW]100
・ぐるぐる目+青ざめ絶望顔=[LOOKUP]100
・キラキラ目+やる気顔=[LOOKDOWN]100
・ジト目=[LOOKLEFT]100
↑こうしておけば、Unityでいじった表情設定をVMagicMirror上でも使える。
(★VMMには[Surprised]項目がないのでデフォルトのままだと「びっくり顔」が使用できない。
そのため、余っていた[Blink]に「びっくり顔」を割り当てることで驚けるようにしてみたかんじだな)
★VMagicMirrorは、ウィンドウがアクティブになっていない状態でも表情キー入力を受け付けてくれるからとても便利だ!
※Facerigの「フックトキーを有効化」がONになっている時のような状態を維持してくれる。ただし、ゲームによっては動かなくなってしまうこともあった。
★WEBカメラだけでVRMモデルを動かすなら、フリーソフトではVMagicMirror1択だと思う。
★表情の豊かさはもちろん、マウスやキーボードの入力を検知して、VRMモデルの手を動かしてくれるのも良いところだな!