デフォ桔梗ちゃんVRM化(表情設定)備忘録
揺れ物が終了したので、次に表情となる BlendshapeClip を設定していきます
VRChat用の表情を探してスクショする
桔梗ちゃんはVRChat用に設定済みなので、表情ファイルが既に存在します。よってそれを探してVRMに移植します
数値のスクショを撮って手打ちするという非効率な方法なので、誰かほかに良い方法知ってたら教えてください
Assets → Kikyo → Animation → FX → FacialExpression を開く
対象となるアニメーション名をダブルクリック
開いたウィンドウの、>>I ボタンでアニメーション最終フレームまで飛ぶ
Ctrl + A で全選択
Ctrl + クリックで数値が入力されている項目だけを選択解除する
Delete で残りの項目を消す
残った数値を[Print Screen]ボタン等でスクショ撮って保存する
これを「喜び」「怒り」「悲しい」「楽しい」の4表情分行う
VRM用のBlendshape一覧を開き、設定していく
VRMはBlendshapeというファイルに全ての表情を紐付けして管理しています。インスペクターに専用のエディタも表示されるので、それを使って設定していきます
AssetsのVRM桔梗ちゃん → BlendShapes → BlendShape を開く
(プレビューウィンドウが格納されていたら引き上げて表示)
上のボタンから設定したい表情を選ぶ
スクショしておいたBlendShapeの値を設定していく
設定するべきなのは、JOY(喜び)、ANGRY(怒り)、SORROW(悲しみ)、FUN(楽しい)、BlinkのLとR、の6種類なので結構少ないです
リップシンク用の「あいうえお」と両側BlinkはVRM変換時点で作成されており、Look~系はボーンでの視線制御(通常の視線制御方法)では使わないので無視して良いと思います
これでVRM標準用の表情設定は終了となります
見ての通りいまのVRM桔梗ちゃんは、髪が白髪で、顔が真っ赤になって究極の酔っ払いみたいになっています。次回はシェーダーとテクスチャに取り掛かり、こうした色のおかしい部分を修正して仕上げていきます
番外:結局これは何をしているのか?
ざっくり言うと「アバター表示ソフトからの表情要求」と「モデル固有のBlendshape情報」を橋渡しする"対応表"を作ったことになります
桔梗ちゃんのBlendshapeを見てわかる通り、モデルには沢山のBlendshapeがあり、作者によってその名前も役割もさまざまです
これはアバター表示ソフトにとっては厄介で、「笑う」という表情を出そうにも、作者によってBlendshape名が違うためちゃんと表情が出せない、という事態が起こります
それを吸収するために、VRM側で「笑う」を表示するときは元モデルの〇〇というBlendshapeをXXだけ動かす、という対応表を作るわけです。これならアバター表示ソフト側はVRMに対して「笑う」という指示を出すだけで、どんなアバターも笑わせることができます
番外:パーフェクトシンク
より感情豊かな表情トラッキングとしてパーフェクトシンクという方法があります。はいぬっかさんのサイトが詳しくてわかりやすいのでリンクを張っておきます(たぶんこっち見たほうが早い)
https://hinzka.hatenablog.com/entry/2020/08/15/145040
一応ざっくり説明すると、基本的な仕組みは今回設定したものとほぼ同じです。しかし細かく分かれた52個ものBlendShapeClipを混ぜることで多様な表情を作ることができます
パーフェクトシンクを使うためには、パーフェクトシンク対応のアバター表示ソフトと、Truedepthカメラを搭載したiPhoneを必要とします(現時点では、iPhone X以降かつSEシリーズを除く機種が対応)
桔梗ちゃんにパーフェクトシンクは設定されていませんが、表情用のBlendshape自体はかなりの数があるので、根気さえあれば対応させることも可能だと思います。いつか試してみたいです
この記事が気に入ったらサポートをしてみませんか?