この記事はオレンジさんによって寄稿された記事です。
オリジナル記事はこちら:https://note.com/orange3134/n/n1b5ea13e5d5b
Quest Proには顔の動きをアバターに反映できるフェイストラッキング機能が搭載されています。
こんな感じで表情豊かに動かすことができますよ!
素晴らしいですね!
Resoniteは2024年5月23日にQuest Proのフェイストラッキング(Steam Link経由)にネイティブ対応しました。
以前はModが必要でしたが、これにより比較的簡単に使用できるようになりましたのでその方法を解説します。
Steam Linkの設定
Quest ProでSteam Linkを立ち上げてPCに接続します。
Steam VRの空間が表示されたら、左手のメニューボタンでSteam VRのダッシュボードを開きます。
Steamのアイコン→HMDのアイコンの順にクリックします。
「詳細設定」を表示にして、Steam Linkをクリックします。(この項目はSteam Link使用中のみ現れます)
画像の通り設定します。
目を動かす
設定ができたらResoniteを起動します。
これだけでアバターの目がアイトラッキングで動くようになりました!
口を動かす
口を動かすにはもう少し設定が必要です。
アバターにフェイストラッキング用のシェイプキーがあるか無いかで方法が異なります。
フェイストラッキング用のシェイプキーがある場合(新規セットアップ)
一番簡単な方法です。
アバターをセットアップする際に、アバタークリエイターから「フェイストラッキングをセットアップする」をチェックしてください。
自動でフェイストラッキングの設定をおこなってくれます。
アバターを着ればすぐに顔が動きますよ!
フェイストラッキング用のシェイプキーがある場合(セットアップ済みのアバターに追加)
フェイストラッキング用のシェイプキーがあるが、アバタークリエイターでフェイストラッキングをセットアップしなかった場合は後から追加できます。
アバターのルートをインスペクターで開きます。
CenterdRoot/RootNodeの下にあるアバターの顔のSkinnedMeshRendererが付いているSlotを開きます。
コンポーネントをアタッチからUsers/CommonAvatarSystem/Face/にあるAvatarExpressionDriverとAvatarMouthDataAssingnerをアタッチします。
AvatarMouseDataAssignerのTargetReferenceにAvatarExpressionDriverのDataSourceを入れます。
AvatarExpressionDriverの「ブレンドシェイプを自動割り当て」ボタンを押します。
自動的にフェイストラッキング用のシェイプキーが割り当てられました!
アバターを着直せば顔が動くようになっていますよ。
フェイストラッキング用のシェイプキーが無い場合
通常通りアバターセットアップを済ませてください。
アバターのルートをインスペクターで開きます。
CenterdRoot/RootNodeの下にあるアバターの顔のSkinnedMeshRendererが付いているSlotを開きます。
コンポーネントをアタッチから>Users>Common Avatar System>Face>AvatarMouthDataSourceAssignerをアタッチ。
同じSlotにあるDirectVisemeDriverのMouthTrackingSourceを掴んでTargetReferenceに入れましょう。
アバターを着直すと顔が動くようになっていますよ!
こちらの方法ではリップシンク用のシェイプキーに基づいて口が動きます。
そのため舌出しや頬プク、唇の突き出しや顎の動きなどといったフェイストラッキング特有の動きは無視されます。
フェイストラッキングはいいぞ
フェイストラッキングはVRの没入感をめちゃくちゃ高めてくれます。
アバターの顔が現実と同じように動かせるのはとても一体感があり、この感覚は実際に試さない限り想像することは難しいでしょう。
Quest Proの値下がりや、対応ソフトの増加によって以前よりも手を出しやすくなってきました。
ぜひこの機会にフェイストラッキングを体験してみてください!
動画での解説
動画での解説をご覧になりたい方はこちら!
おまけ:こだわり設定
目の設定
初期設定では視線の方向と瞼の開閉が連動するようになっています。
アイトラッキングのデータには目の見開きや眉の動きも含まれていますので、それらをアバターに割り当てることでより表情を豊かに動かすことができます。
例として目の見開きを設定してみましょう。
アバターの頭の中にあるEyeManagerというSlotを開きます。
EyeLinearDriverのWidenに目を見開くシェイプキーを設定しましょう。
これで思い切り目を開くとアバターも大きく目を見開くようになりました。
口の設定
先述の通りフェイストラッキング用のシェイプキーがあれば自動でセットアップされますが、より好みの動きを実現するために割り当てを変更したり、専用ではないが似たシェイプキーがある場合に手動で割り当てることで、フェイストラッキング非対応のアバターでもある程度顔を動かせるようにしたりといったことが可能です。
アバターの顔のメッシュレンダラーがあるSlotを開いて、AvatarExpressionDriverを見つけてください。
ExpressionDriversをAddします。
例えばExpressionで「JawOpen」を選んで、口があくシェイプキーをTargetに指定すれば、口をあけるとそのシェイプキーが動くようになります。
これを繰り返してフェイストラッキング用ではないシェイプキーでも、近い動きを割り当てていけばいい感じに動かせるかも!