当サイトにはアフィリエイト広告が含まれます。
なおレビューは私の感想を書いており、内容を指示するご依頼はお断りしています。(Noステマ宣言)

ゲーミングPCなら
G-GEARの即納モデルがおすすめ!

マリオの映画がAmazonの見放題に登場!

Meta Quest3 好評発売中!
Meta / Amazon / 楽天 / メルカリ

【おすすめメタクエスト記事】

【50項目以上】メタクエストの機能・設定・小ネタまとめ
メタクエスト ジャンル別おすすめ 無料ゲーム・アプリ (記事:【Meta Quest】おすすめ無料ゲーム・アプリ30選!無料でこれだけ遊べる!)
100均グッズでも充分?Questを快適にしよう! (記事:【100均も活用】Quest2・3おすすめアクセサリー&グッズまとめ【快適性と没入感をアップしよう!】)
映画を観るなら「VRゴーグル」か「プロジェクター」か?(記事:【大画面で映画】プロジェクターかVRゴーグルか、デメリットを理解して選ぼう!)

【VRChat】Webカメラ1台でフルボディトラッキング環境を作る方法を解説!

2022年12月29日

Writter: むねりょ

 

1991年生まれ、大阪育ちの<コミュ症>文系システムエンジニア。友だちにやらせてもらったPSVRでVRにドはまりし、初代Oculus Questを発売日に購入。それ以降、ずっとVRにハマり、ダイエット・観光・息抜き何にでもVRを使う。でもコミュ症なので、基本ぼっちプレイ。VRは最新技術にも触れ合えるし、コミュ症でも世界中の人と会える最高の技術です!皆さんとVRで会えることを楽しみにしています!(コミュ症なので、一緒にVRゲームとかから始めましょうね!)

「VRChat(Steam版)でフルボディトラッキングしたいけど、機材が高すぎて手が出ないよ!」

そんなあなたに、無料ソフトを組み合わせて、Webカメラ1つでフルボディトラッキングを試す方法をお伝えします。

  

先にお伝えしてきますが、トラッキングデバイスを使用したときほどのトラッキング精度はありません。

また、「カメラで認識」→「仮想トラッカーに転送」という流れで行うため、動作に多少のラグが発生します。

ラグのため、動画利用は厳しいですが、写真用にポーズを取るくらいには使えると思います。

  

実際にWebカメラ1つでフルトラを試した動画
(頭・両手・腰・両ひざ・両足の8点トラッキング)

  

なお、今回の記事は 「Webカメラ1つでフルボディトラッキング」ネタの第2弾です。

もし興味がありましたら、第1弾の記事もご覧いただければと思います。

必要な機材、ソフトウェア

必要な機材は次の通りです。

  • VRゴーグル
  • ハイスペックのパソコン
  • Webカメラ(全身を映す必要があるので、画角広めのカメラを推奨)

  

私の環境は次の通りです。

【VRゴーグル】Meta Quest 1(VDでパソコンに接続)
【パソコン】CPU:Intel Core i7 8700 / メモリ:16GB / グラフィックボード:RTX2060
【Webカメラ】ロジクール C922n
【部屋の広さ】Webカメラと立ち位置まで約2m

このスペックで、GPU使用率が常時90%越えになりますので、もう少しパソコンのスペックがあった方がいいです。

RTX 2060 使用率93%

  

続いて必要なソフトウェア、全て無料で配布されています。

  • TDPT -Three D Pose Tracker-(以下「TDPT」)
    • Webカメラだけでフルボディトラッキングが可能な神ソフトです!
    • ダウンロードにはpixivのアカウントが必要です
    • 本記事では「v0.5.1」を使用
  • バーチャルモーショントラッカー
    • StermVRへ仮想トラッカーを追加する神ソフトです!
    • 本記事では「vmt_015」を使用
  • TDPToVR
    • TDPTで作成されるアバターのボーン情報を受け取って、仮想トラッカーに転送する神ソフトです!
    • ダウンロードにはpixivのアカウントが必要です
    • 本記事では「v2021_1122β」を使用

  

TDPTとSteamVRの連携

まず「TDPT」、「バーチャルモーショントラッカー」、「TDPToVR」を設定し、SteamVRに仮想トラッカーとして表示されるところまで準備します。

  

TDPT

ダウンロードしたzipファイルを解凍し、「ThreeDPoseTracker.exe」を実行します。

起動すると次のような画面が表示されます。

ThreeDPoseTracker 起動画面

  

次の通り、設定を変更します。

  • 上部メニュー右のほうにある「Configuration」をクリック
  • 「Other」タブを選択
  • 「Send VMC Protcol」にチェックを入れる
  • 送信ポートを「38900」(TDPToVR の指定ポート)に変更
  • 「OK」をクリックして設定画面を閉じる
ThreeDPoseTracker の設定

  

続いて、左上の「Source Device」から使用するWebカメラを選択します。

ThreeDPoseTracker 「Source Device」の位置

  

選択したら、Webカメラに全身が映る位置へ移動して、身体を動かしてみましょう。

この時点で「アバターの動きがおかしくないか」を確認してください。

なお、TDPTでのアバターは「動きが正しく認識されているか」の確認にしか使いませんので、VRChatで使用するアバターと異なっていてもOKです。

服装と背景に注意

TDPTの説明によると、姿勢を正しく認識させるには、次の条件がよいとのことです。

  • カメラには一人で中心近くに映る
  • 全身を映す
  • 背景はシンプルにする
  • 服装もシンプルにする
    (背景色と異なる色のズボンとTシャツで体形がはっきりわかる服装が良い)

  

バーチャルモーショントラッカー

ダウンロードした「VirtualMotionTrackerSetup_0.15.exe」を使い、バーチャルモーショントラッカー(以下「VMT」)をインストールしましょう。

  

VMTのインストールが完了したら、VMTを起動する前にSteamVRを起動しておきます。

SteamVRホームはオフに!

この先、何度かSteamVRを再起動することになります。

起動のたびにSteamVRホームを呼び出すことになりますので、一時的にでも無効化しておくことをオススメします。

また、仮想トラッカーの位置調整をする際にも、SteamVRホームがジャマになりますので、やはり無効化しておくことをオススメします。

SteamVRホームも無効化手順は次の通りです。

  

  • SteamVRの設定画面を開く
    (VR内の「歯車」マークでも、パソコン側のSteamVRの「三」マークからでもOK)
  • 詳細設定を「表示」に切り替える
  • SteamVRホームを「オフ」にする

  

起動すると、次のような画面が表示されます。

VMT 起動画面

  

「Install」をクリックしてしばらく待ちます。

正常にインストールできれば、次のようなポップアップが返ってくるので、「OK」を押します。

VMT インストール完了

  

ポップアップに従い、「SteamVRを再起動」します。

SteamVR 再起動要求

  

またVMTも一度右上の「×」で閉じて、もう一度起動します。

  

インストールに成功していれば、VMTの下部に「1:Room Matrix has not been set.」という警告メッセージが表示されます。

「RoomSetup」タブに移動し、「Set Room Matrix」ボタンを押します。

VMT Roomセットアップ前の画面

  

「Set RoomMatrix Done.」という表示が返ってくるので、「OK」を押します。

VMT RoomMatrix完了

  

VMTの下部に「0:OK」というメッセージが表示が出ていればVMTの準備は完了です。

VMT Roomセットアップ完了後の画面

  

TDPToVR

ダウンロードしたzipファイルを解凍し、「TDPToVR.exe」を実行します。

起動すると、次のような画面が表示されます。

TDPToVR 起動画面

次の順番で操作し、TDPTとTDPToVRを連携させます。

  • 左上の「Start Recive」をクリック
  • 右上の「None」を「Pose processing time」に変更する
  • StatusMessage に Root-Pos [OK] と出ていることを確認する
TDPToVR ThreeDPoseTracker との連携確認

  

続いて次の順番で操作し、SteamVRに仮想トラッカーを表示させます。
(この先のTDPToVRの操作は、SteamVRメニューバーの左の方にある「デスクトップ」から行うと、VRゴーグルを着けたり外したりせずに済みます)

  • SteamVR上のSteamVRメニューバーより、「Recenter」をクリックし、原点を自分に合わせる
  • TDPToVRの右上を「Offset」に変更
  • 「Height」に自分の身長(m)を入力
  • 「Calibrate」を押す
TDPToVR の設定1
TDPToVR の設定2

  

上記操作の後、次の2点を確認してください。

  1. TDPToVR上の10個のキューブが、自分の姿勢に合わせて動くこと
  2. SteamVR上に仮想トラッカーのキューブが3個出現していること
    (変な場所に出ていることもあるので、よく探してください!)
TDPToVR とSteanVRとの連携完了時の表示(仮想トラッカー3個)
仮想トラッカーのキューブ

  

それぞれのキューブが確認できれば、TDPTとSteamVRの連携は完了です。

  

仮想トラッカーの調整

SteamVR上の3個の仮想トラッカーを調整して、腰・右足・左足の動きに連動するようにします。

  

仮想トラッカーの番号の割り当て

TDPToVRで設定されているトラッカー番号と、SteamVRで設定されている仮想トラッカーの割り当てが合致しているか確認しましょう。

  

先にTDPToVR上で、身体のどこの部位が何番のトラッカーになっているかを確認します。

TDPToVRの右上を「Virtual Motion Tracker」に変更します。

表示されている番号が、その部位の仮想トラッカー番号になります。

例えば下図の場合、腰(Hip)が「仮想トラッカー10番」、左足が「11番」、右足が「12番」に割り当てられていることになります。

仮想トラッカー設定

上図の通り、ひざやひじを追加して、10点トラッキングを行うことも可能です。
調整に慣れてきたら、仮想トラッカーを増やしてみるとよいでしょう。

  

続いてVR上で、何番の仮想トラッカーがどこの部位に割り当てられているかを確認します。

次の順番で操作して、トラッカーの管理画面を開きます。

  • VR上のSteamVRメニューバーから「設定」をクリック
  • 左のメニューより「コントローラ」をクリック
  • 中央のメニューより「トラッカーの管理」をクリック
仮想トラッカーの割り当て設定

  

「/device/vmt/VMT_xx」と表記されているトラッカーが、バーチャルモーショントラッカーで表示されている仮想トラッカーです。

先ほどTDPToVRで確認した番号に従い、次の通りに設定をします。

  • /device/vmt/VMT_10 → トラッカーの役割:
  • /device/vmt/VMT_11 → トラッカーの役割:左足
  • /device/vmt/VMT_12 → トラッカーの役割:右足

  

仮想トラッカーの位置調整

SteamVR上の3個の仮想トラッカーを、自分の腰・右足・左足の位置に合うよう動かします。

  

TDPToVRの右上を「Offset」に変更します。

Offset X(左右)・Y(上下)・Z(前後) の値を変更して、SteamVR上で仮想トラッカーがよく見える位置に来るよう動かします。
(もし、この段階で仮想トラッカーが自分の腰・右足・左足に合っているようであれば、動かす必要はありません)

「↑」「↓」を使うと、値を 0.1ずつ変更することが出来ます。
(下にある「Step 0.01」をクリックすれば 0.01ずつ変更できます)

仮想トラッカーの位置調整(TDPToVR)

  

仮想トラッカーがよく見える位置に来たら、このタイミングで仮想トラッカーの向きが合っているかを確認しましょう。

  

右足か左足を前後に動かして、トラッカーが同じ方向に動くか確認してください。

仮想トラッカーの向きが前後逆(StteamVR上の表示)
「Virtual Motion Tracker」の文字がこちらを向いていたら、前後逆です

  

もし前後が逆に動くようであれば、TDPToVRの「Rotation」から仮想トラッカーを180度近く回転させ、正しい動きになるよう調整してください。
(SteamVR上の仮想トラッカーを見失わないようにご注意してください)

TDPToV 「Rotation」画面

  

同様に右足か左足を左右に動かして、トラッカーが同じ方向に動くか確認してください。

もし左右が逆に動くようであれば、TDPTの「Configuration」を開き、「Images」タブ「Mirror Mode」のチェックを反転させます。

ThreeDPoseTracker 「Mirror Mode」の位置

  

仮想トラッカーの動きが、自分の動きと同じように動くようになったことを確認します。

  

仮想トラッカーの動きに問題がなくなったなら、引き続きOffset X・Y・Z の値を変更して、VR上で仮想トラッカーが自分の腰・右足・左足の位置に合うよう動かします。

この時、基本的には「腰のトラッカーが腰の位置に合うこと」を基準に調整をします。

コントローラーを腰の前に構え、腰の仮想トラッカーが重なるように調整すると分かりやすいです。

仮想コントローラと腰の仮想トラッカーが合っている図
仮想コントローラと腰の仮想トラッカーが合っている状態

  

もし腰の仮想トラッカーの位置が高すぎたり低すぎたりした場合は、TDPToVRの右上を「Offset Y」「Height」の値を変更して調整してください。

どちらを変更するかは、足の仮想トラッカーの位置で判断します。

腰の仮想トラッカーと足の仮想トラッカーの位置が、身体の腰と足の距離感とちょうど合っているようであれば「Offset Y」を変更します。

身体の腰と足の距離感とズレている場合は、「Height」を変更します。

  

VRChat内でキャリブレートする

仮想トラッカーの調整が終わったら、VRChatを起動して、VRChat内でアバターとトラッカーの位置を調整します。

  

メニューを開いて、「Calibrate FBT」を選択します。
(FBT……フルボディトラッキング)

VRChat 簡易メニュー

  

目の前にアバターがTポーズで現れ、仮想トラッカーが白い球で表示されます。

腰・両足を示す白い球が、アバターとちょうどいい位置に重なるよう、TDPToVRで最終調整します。

白い球(仮想トラッカー)とTDPToVRが一緒に表示されている図

  

調整が完了したらVRCに戻り、仮想コントローラとアバターの両手が重なるところで、両コントローラのトリガーを引くとキャリブレート完了です。

白い球(仮想トラッカー)とアバターが合わせっている状態

上図は8点(+両ひざ)でトラッキングしてます!
下の方に見えてる白い球は、足ではなく両ひざの仮想トラッキングです!

  

キャリブレートが完了したら、アバターの動きに問題が無いか確認しましょう。

頭と両手のコントローラと、仮想トラッキングで動きにタイムラグが発生しますが、仕様です。

  

アバターの動きに問題がなければ、仮想トラッカーによるフルボディトラッキング化作業は完了です!

好きなワールドに遊びに行きましょう!

  

もし身体を動かすとアバターがネジれたりするようであれば、以下の点を確認してみてください。

  • SteamVRのトラッカー登録と、TDPToVRのトラッカー割当てが誤ってないか?
  • 仮想トラッカーの前後や左右が間違ってないか?

  

フルボディトラッキングはやっぱり楽しい!

「TDPT」と「バーチャルモーショントラッカー」と「TDPToVR」を組み合わせて、Webカメラ1台でフルボディトラッキング環境を作成する方法を解説しました!

すでに高性能なパソコンを持っているのであれば、もっとも安価にフルトラ環境を作成する方法かと思います!

  

Webカメラ1台でフルトラ環境が作成できるとは、すごい時代になったものです。

それを実現できるソフトを作った方々、そしてそれを無料でダウンロードできる状態で公開いただいていることには、感謝しかありません。

  

導入でも話しましたが、今回の方法にはラグという欠点があります。

なので動画目的での使用はかなり苦しいところがありますが、いろんなポーズで写真を撮ることには十分使えるかと思います!

また、すでにトラッカーを使った6点フルトラをされている方なら、仮想トラッカーを2つ追加して8点フルトラにする……なんて使い方も出来るかと思います。

  

どんな方法にせよ「ラグ」が発生してしまいますので、「ラグ」のない環境が欲しくなったときが、いよいよ「VIVEトラッカー」なり、「mocopi」なりを購入するときです!