Quest 3 + mocopi + Virtual Desktop で仮想 11 点フルボディトラッキングしてみる
トラッカーが 6 個しかない Sony mocopi を、Meta Quest 3 & Virtual Desktop と組み合わせて物理 9 点・仮想 11 点のフルボディトラッキング環境として使用してみる
はじめに
こんにちは、普段は主に cluster で遊んでいるやまちゃんです。
さて突然ですが、みなさんはフルボディトラッキング、いわゆるフルトラやってますか?私は Meta Quest 3 に Sony mocopi の組み合わせでやってます(たまに)。mocopi は SlimeVR モードの追加によって PC VR 使用時の精度が向上したため、こちらを使用しています。
ところで、cluster のフルボディトラッキングの仕様上 6 点を超える点数は肘トラッカーが必須となり、また 6 点フルトラ時でも SlimeVR で腰・両足以外のトラッカーを無効化しないと異常な姿勢となってしまい使い物になりません(これはこれで直してほしい…笑)。
そこで、Quest 3 で Virtual Desktop を使えばカメラによる姿勢推定で仮想トラッカーを追加できることに着目し、
Quest 3 自体のトラッカー(頭・左手・右手の 3 点)
mocopi SlimeVR モード(胸・腰・左ひざ・右ひざ・左足・右足の 6 点)
Virtual Desktop 仮想トラッカー(左ひじ・右ひじの 2 点)
の構成で 11 点モードでフルボディトラッキングしてみる、というのが本記事の趣旨となります。
本件の検証にあたり、以下の記事を参考にさせていただきました。
必要なもの
Virtual Desktop による仮想トラッカーが使用できる VR HMD
本記事では Meta Quest 3 を使用
SlimeVR に対応したフルボディトラッカー
本記事では Sony mocopi QM-SS1 を使用
太もも用拡張バンドが必要
Virtual Desktop
本記事ではバージョン 1.32.13 を使用
Virtual Desktop Body Tracking Configurator
本記事ではバージョン 1.7.1 を使用
実行手順
1. mocopi を SlimeVR モードで使えるようにする
以下のページに従って設定します。
(cluster 用に敢えて SlimeVR でトラッカーを無効化していた場合は、再度有効化しておく必要があります)
データ送信を開始する直前(STEP2. の 6. まで。既に mocopi SlimeVR モード設定済みの場合は送信開始の緑ボタンを押す直前)で止めておきます。
2. Virtual Desktop の仮想トラッカーを肘だけに制限する
以下のツール Virtual Desktop Body Tracking Configurator を使用して、Virtual Desktop による仮想トラッカーを左右の肘(前腕部)だけに制限します。
図のように Left Arm Lower Joint, Right Arm Lower Joint のみにチェックを入れて「Apply Settings (All Pages)」をクリックします。
なお、ツールがやっていることは C:\Program Files (x86)\Steam\config\steamvr.vrsettings に
{
(snip)
"driver_VirtualDesktop" : {
"chest_joint_enabled" : false,
"hips_joint_enabled" : false,
"left_arm_upper_joint_enabled" : false,
"left_foot_transverse_joint_enabled" : false,
"left_lower_leg_joint_enabled" : false,
"right_arm_upper_joint_enabled" : false,
"right_foot_transverse_joint_enabled" : false,
"right_lower_leg_joint_enabled" : false
},
(snip)
}
を追記している…という処理のようなので、JSON が分かる方ならば直接編集してもいいかもしれません。バックアップはお忘れずに。
3. Virtual Desktop の設定をする
Quest 3 で Virtual Desktop を起動し、STREAMING → Advanced Options → Foward tracking data to PC およびその子項目の Emulate SteamVR Vive trackers を有効にします。
(「通信データ量が増えるからボディトラッキングするときだけ有効にしてね!」と警告されますが、まさにその目的なので警告を無視して進めます。仮想 11 点で使わないときは OFF にしておく方がいいのでしょう)
有効にすると、すぐ左の VR Bitrate が少し下がります。警告通り、トラッキングデータの送信処理で持って行かれてしまうようです。
(200 → 147 Mbps まで大きく下がるときもあれば、画像のように 200 → 194 Mbps の僅かな減少で済むこともあるし、挙動は少し謎です…)
4. SlimeVR の設定をする
次に SlimeVR の設定をします。
まずは有効化するトラッカーの位置を、mopoci SlimeVR モードの位置と揃えます。
設定 → 一般 → SteamVR で、胸・腰・Left knee・Right knee・Left foot・Right foot のみが有効になっていれば OK です。
ここで、Quest 3 で Virtual Desktop を起動して SteamVR を起動し、さらに HMD を被ったまま PC デスクトップ表示に切り替えます(左手コントローラのメニューボタン長押し → Switch to Desktop)。
頭・両手の物理トラッカーと、両ひじの仮想トラッカーの情報が PC に送られ始めます(SlimeVR の ホーム で確認可能)。
更に、mocopi のデータ送信を開始します(スマホアプリの、緑の丸いボタンを押します)。
ここまできたら、SlimeVR の ホーム の表示が以下のようになっているはずです。2 つの vive_tracker と表示されているのが Virtual Desktop による仮想肘トラッカーですね。
仮想肘トラッカーが認識されていることが確認出来たら、トラッカー割り当て で左前腕と右前腕に 2 つの vive_tracker のうちいずれかを割り当てます。割り当て画面の表示で、左ひじだけ動かした時に光った方が左…といった感じで区別してください。
ここまで出来たら、あとは通常通りマウントキャリブレーション、更に cluster 等のアプリケーション内でキャリブレーションすると 11 点フルボディトラッキングが使用できます。
Twitter の転載ですが、動画だとこんな感じになります。
まとめ
というわけで、Quest 3 と mocopi と Virtual Desktop の組み合わせで仮想 11 点フルボディトラッキングを実現できました。
ただ、6 点の時よりもドリフトが起きやすかったり、手足の動きがかえって不自然になるケースがあったりするなど、接続が大変な割に実用性は何とも言えない感じです。さらなる改良に期待ですね。
「こうやったら改善するよ!」といったご指摘もお待ちしております。
ちなみに、肘のトラッカー=肘の回転角度を取得できるトラッカー、なので前腕部でいいんですよね?上腕部だと肘の回転が反映されないし。
ご存じの方がいらっしゃったら教えていただけると幸いです…。
この記事が気に入ったらサポートをしてみませんか?