今回の記事では3Dフルトラッキングについてのお話をしていきます。
※今回はWindows11を使用した例となっています。OS毎に手順が少し違ったりしますが概ね同じ用に操作すれば問題ないかと思います。
まずフルトラッキングとはなんなのかを説明していきますね
フルトラッキングとは、主にVR(仮想現実)やモーションキャプチャ技術で使われる用語で、ユーザーの全身の動きをリアルタイムで追跡するシステムのことです。頭部や手だけでなく、腕、脚、胴体などの動きをセンサーやカメラで捉え、仮想空間内でアバターとして再現します。これにより、より自然で没入感のある体験が可能になります。例えば、VRChatやゲームで使われることが多く、専用のスーツやマーカー、複数のトラッキングデバイスが必要な場合もあります。簡潔に言うと、「全身の動きをデジタル化する技術」です。
あくまでも3Dキャラを所持している前提でお話していきます。個人でもフリーで制作できますのでチャレンジしてみてくださいね。

わたしは自分でモデリングする技術は持っていませんのでご自分で調べながら制作チャレンジして頂ければと思います。
今回のフルトラッキングシステム構築に関しては、あくまでもWebカメラを使用したフルトラッキングの説明です。物理的な機材を用いたフルトラッキングとはまた違う点をご了承ください。また【お家でできるフルトラッキング】ということでWebカメラを用いた方法がお手軽かなと思います。
はじめにわたしのPC環境をお伝えします
CPU RYZEN7 3700X
GPU RTX3060 ti
メモリ32G
今回のシステムではWebカメラを2台使用しますが、スマホのカメラでもWebカメラの代用ができますので安心してください。Androidであればdroidcam、i-phoneでしたらiVcamが使用しやすいかなと思います。
GPUに関しましてはRTX30シリーズ~が最低条件だと思います。それなりにCPUも酷使しますのでハイスペックなCPUも必要になってきます。
わたしの使っているトラッキングソフトを紹介します。あくまでわたし個人が使用して良い結果になったものです。
使用ソフト

わたしはこれらのソフトを駆使してフルトラッキングを実現しています。
ソフトのダウンロードと使用方法
はじめにをUnityをダウンロードしておきましょう。Unity環境がないと動作しないこともあるみたいです。わたしの場合はUnityを元々ダウンロードしてPC内に存在していたので実際のところは分かりませんが3Dを運用し始めたら興味を持つこともあるかと思いますので入れておいて損はないです。なおUnityを使用すれば自分のアバターをゲームに登場させたり踊らせたり、クリエイティブな活動の幅が広がっていきます。

上のリンクを押してUnityサイトに入ります。画像にあるようにダウンロードを押すとUnityHubのダウンロードが開始されます。UnityHubとは簡単に言えばUnityを使用するための中継のようなものです。

ダウンロードができたらUnityHubSetup.exeを開きましょう。

不明なデバイスを許可のような文言が出てくるので[はい]を選びます。
続けてインストールしていきます。


インストールが完了したら完了の場所をクリックしておしまいです。
UnityHubを開くと画像のようなウィンドウが開くのでCreate accountをクリックしてユーザー登録しておくと今後やってみたいことが増えたときにすぐ使えるようになります。

必ずしもUnityが必要あるかは検証していないので分かりませんが、Unityがありませんとソフトが開けないお話を実際に聞いたのでUnityのインストール方法を明記しておきました。
VseeFaceのダウンロード
まずVseeFaceのダウンロードを行います。
VSeeFaceは、3Dアバターを動かすための無料のフェイストラッキングソフトです。ウェブカメラを使った手軽な顔の動きや表情のリアルタイムトラッキングが特徴で、特にVRM形式の3Dモデルを簡単に登録して使用できる点が便利です。高精度な表情検出により自然な動きを再現でき、さらにLeap Motionを活用した手や指のトラッキングにも対応しています。OBSとの連携がスムーズで、背景透過や配信設定が簡単に行えるため、VTuber活動に最適です。また、照明や後処理効果で見た目を細かく調整できるカスタマイズ性も備えており、初心者から上級者まで幅広く支持されています。
リンクのULRに行ったら下にスクロールすると下の画像のようにダウンロードと書いてあるところがあるのでクリックします。するとダウンロードが始まりますのでダウンロードが終わったらZIPファイルを解凍します。

設定をいじっていなければダウンロードフォルダにダウンロードされますのでダウンロードされたZIPファイルとクリック。

クリックすると赤枠の部分に[すべて展開]と出るのでそこをクリックします。

[展開先の選択とファイルの展開]のダイアログが出ますので展開をクリック。
なおVseeFaceは保存先をDドライブにファイルを置いても安定稼働しますのでCドライブに余裕の無い方はDドライブに展開して構わないです。Cドライブ、Dドライブが分からない方は調べてみてくださいね。ここではその解説は行いません。展開先フォルダーの変更は[参照]から任意のフォルダを選ぶことで可能です。わたしの場合はDドライブにそのまま入れています。

VseeFaceの解凍が終わったらVseeFaceを開いてみましょう。VseeFaceは自動でショートカットを作成してくれないので都度、フォルダを開くか自分でショートカットを設定してくださいね。インストールは不要です。
[VseeFase.exe]で開きます。


自分の3Dアバターを開く場合はローカルアバターを選んでご自身の3Dアバターが格納されているファルダからアバターを選択して追加しましょう。またVRoid Hubにある場合はVRoid Hubkから追加してください。
TDPT -Three D Pose Tracker-のダウンロード
TDTPのダウンロードを行います。こちらのリンクはBOOTHのダウンロードサイトになっていますので直接ダウンロードサイトに飛ぶことができます。
TDPT(Three D Pose Tracker)は、デジタル・スタンダードが開発したモーションキャプチャーツールで、ウェブカメラや動画を用いてフルボディトラッキングを可能にします。Windows版は無料で提供されており、特別な機材やマーカーなしで利用できる手軽さが特徴です。AIの画像認識技術(ディープラーニング)を活用し、体の24の関節点を3D座標としてリアルタイムに検出。これにより、VRM形式の3Dアバターを動かせます。ハンドトラッキングやフェイストラッキングにも対応し、OBSとの連携で配信設定も容易です。さらに、3D背景やアイテムの配置などカスタマイズ性も備えており、VTuberやクリエイターに適したツールです。
ダウンロードを押します。無料ダウンロードでもいいですし、開発支援としてお金を支払うこともできますのでお好きなところからダウンロードしてください。

ダウンロードを押すと自動でダウンロードが開始されるのでダウンロード完了後、先ほどと同じ要領でZIPファイルを解凍します。このTDTPもDドライブで安定稼働しますのでDドライブに入れても構わないと思います。(Cドライブ直下に入れたほうが安定はしやすい)
tips:容量の大きいファイルはWindowsの標準解凍ソフトで解凍できないのでその時は7zipというソフトを使うと良いです。
展開が終わったらTDTPを開きます。開くのは[TDTP_ThreeDPoseTracker.exe]というファイルです。

これを開くとWindowsによって保護されましたとでると思いますが不安にならなくても大丈夫です。青枠の詳細情報をクリックすると開くことができるようになります。危険なソフトではないので安心してください。
※今回のような場合は開いても構いませんが、よく分からないソフトなどダウンロードして開く場合は注意してくださいね。何でもかんでも実行すると痛い目に合います。しっかりと大丈夫なファイルなのか、どこからダウンロードしてきたものなのか、危険ではないか調べてから開くようにしてください。


実行を押したらソフトを開くことができます。
TDTPもショートカットはご自分で追加する必要があります。

開いたとき、はじめは別のアバターが準備されていると思いますが後ほど詳しく解説をしていきますので今回はダウンロードして開ける状態になっていることを確かめるだけでいいです。自分で色々触ってみるのもいいかもしれませんね。
Webcam Motion Captureのダウンロード
Webcam Motion Captureのダウンロードを行います。
※Webcam Motion Captureはサブスク課金利用前提です。月額199円となっていますので負担は少ないかと思います。課金の仕方はサイトの案内に沿っていけば分かると思いますが分からない場合は個別に聞いて頂ければと思います。XのDMやこちらのコメント欄で質問してください。
URLからWebcam Motion Captureのサイトに行ってから下にスクロールするとダウンロードと書かれた場所に来ますのでお使いのPCに合わせたOSを選んでください。

クリックするとダウンロード画面が開かれますのでダウンロードしてください。こちらもダウンロードをクロックすることで自動的にダウンロードが始まります。

Webcam Motion CaptureはCドライブ直下にファイルを入れることが推奨されているのでCドライブ直下に入れます。Cドライブ直下とは、画像のようにCドライブに直接ファイルを入れることを指します。はじめはダウンロードフォルダに指定されていますが参照からCを選んで展開してください。

これまでと同じ手順で展開したらWindows(C)という所からWebcam Motion Captureのフォルダを探して開きましょう。[Webcam Motion Capture.exe]を開きます。

これでわたしが現在使用しているトラッキングソフトの準備ができました。
この構成でどのような映像になるのか
わたしの配信を見たことがある方は分かると思いますがまだ見たことが無い方に向けて
どんな感じでトラッキングされているのかの動画を御覧ください
動画のように体全体、顔、ハンドトラッキング、下半身としっかりとトラッキングできていることが分かると思います。わたしのPCスペックだとこのくらいの表現がいっぱいいっぱいかなと思います。
それぞれのソフトの役割について
白樺ななしのフルトラッキングシステムについてお話します。システムに関する解説なんていいから設定など進めたいよって方はスクロールしてくださいね。ただ、どういった感じでフルトラッキングが実現できているのか、なぜ複数のソフトを使う必要があるのかなど理解できると思います。理解せずにシステムを構築していくより理解してから構築したほうが今後、自分でアレンジするときに役立つかと思いますので読み進めていくことをおすすめします。
それぞれの役割について
VseeFace、TDTP、Webcam Motion CaptureとソフトをPCに組み込みました。それぞれのソフトで強み、弱みというものがあります。
VseeFaceについて
VseeFaceはとても優秀なトラッキングソフトですが、今回のフルトラッキングではVseeFaceのトラッキング機能は使用しません。VseeFace単体でも配信活動は可能ですがわたしの使用方法はレシーバーの役割です。多くのトラッキングソフトにはVMCプロトコルという機能が備わっています。簡単に言えばそれぞれのトラッキングの情報を送受信してそれぞれでのソフトで動かすことができるようになる機能です。こちらについては別途記事で紹介しています。
なぜ、VseeFaceをレシーバーとして使うのか。それはVseeFaceがVMCプロトコルを2つのソフトから受信可能なためです。ですので配信画面はVseeFaceのものを使いますし、UIもシンプルで配信に使用しやすい点からVseeFaceをレシーバーにして配信で使用します。
TDTPについて
TDTPはもちろんボディのトラッキングとして使用しています。特に下半身のトラッキングをしっかりしてくれるのが良いです。TDTPのみでもフルトラッキング配信は可能ですが画質の面で非常に弱く、荒い画質になってしまう、ハンドトラッキングもフェイストラッキングもできますがほかソフトに比べるとやはり弱みになってしまします。ですのでTDTPの役割としては体のトラッキング、自分の動きのトラッキングとなっています。
Webcam Motion Captureについて
Webcam Motion Capturehには顔と腕の動きを任せます。Webcam Motion Captureでも全身のトラッキングはできますがフルトラッキングかと言われれば違いますし、足元のトラッキングも弱いです。ただし、顔やハンドトラッキング、腕の動きなどは非常に優秀で座って配信するだけでしたらWebcam Motion Captureだけで事足りるかと思います。わたしはVseeFaceと組み合わせて使ったりもしています。
以上の点からそれぞれのソフトで弱み、強みがあり、弱点を補うためにそれぞれのソフトを起動して弱点を補い合ってより良い画質、良いトラッキングで配信することが可能になります。
TDTPの設定
はじめに1番UIが分かりにくくて取っ付きづらいTDTPからやっていきます。設定画面など全て英語なので身構えてしまうかもしれませんがシステム構築に特化してお話していきますね。
はじめの画面は画像のようになっていると思います。

多少違いはあるかもしれませんが、できるだけ初期の状態に近づけました。ここから一緒にアバターを呼び出したりしていきましょうね。
まず右上にある選択肢の説明をしていきますね。
Source……Webカメラの設定を行います。
Avatar……アバターの追加や読み込み、変更を行います。
Camera……カメラの操作を行います(位置やエフェクトなど)
Send&Receive……VMCプロトコルの設定を行います。
Export……モーションデータの書き出しなどを行います。
World……背景を変更します。
Upper Mode……上半身の設定を行います。(ハンドトラッキングなど)
Display Window……デスクトップに表示しているウィンドウをキャプチャします。
Item……アイテムを持たせることができます。
Other……一般的な設定を行います。(スクリーンサイズなど)
以上の項目になりますがわたしが使用するのはSource、Send&Receive、World、Upper Modeのみです。
そしてWorldとAvatarに関しては始めに設定してしまえば基本的に動かすことはないと思います。
ではAvatarから所持しているアバターを読み込んで行きましょう。アバターをクリックするとアバターメニューが開かれます。

アバターメニューから[Add Avatar]を選択しましょう。

Add Avatarをクリックすると保存するようにとウィンドウが出ますので保存してください。するとエクスプローダー(フォルダ)が開きますのでアバターが入っているフォルダから追加したいアバターを選びます。

フォルダを開いたら使用したいVRMモデルを選びます。
選んだアバターについての詳細など出ますのでOKをクリックします。

これでアバターは追加されました。

次にWorldの設定をしていきます。Worldは設定する必要もないのですがTDTP単体で動かしたいときや確認するときに使ったりしたりしなかったりするので覚えておくといいかもしれないです。
Worldをクリックすると以下の画面になります。

わたしは見やすいように単色背景にしていますが、ここはお好みで大丈夫です。わたしの場合グリーンを使っているのもあってグリーンバックだと透過するので使用頻度の少ない色で設定しています。

Blankを選んだら下にスクロールしますがマウスホイールだと途中で止まったりするので右のスライドするやつをクリックしながらマウスを下に動かします。Show colorにチェックを入れると単色背景にすることが可能です。色は何色でもいいしわざわざ単色にする必要はありませんがやり方を知っているだけで後々の使いやすさが変わるかなと思います。

ここまでできたらSaveをクリックしておきます。
次はUpper Modeの設定を行います。
Use TDTP systemのFull Bodyが選ばれているの確認しましょう。淡い青色になっていたら選択されています。そして、Use Hand TrackingとUse Facial Trackingにチェックが入っている場合はそれを外しておきます。クリックすれば外れます。こちらのチェックを外した部分はWebcam Motion Captureで使うので外しています。

ここまでの設定をすれば、ソフトが設定を記憶しているので設定をいじる必要はなくなります。TDTPで色々遊んでみたい方は色んな設定を試してみてください。
次からの設定は立ち上げるたびに必要になってきます。
Sourceをクリックして選択します。

カメラを選ぶメニューが出ますので使用するカメラを選びましょう。

これはわたしの場合なのですが、わたしのPCに認識されているカメラが多すぎて毎回選ばなければなりません。大した労力ではないので毎回カメラを選んでいます。重要なのはカメラの種類ではなく画面サイズになります。画面サイズは小さめの設定で構いません。カメラの解像度が高いとPCの処理が重くなりますし、いくつものソフトを多重起動するので少しでもPCの処理を軽くする必要があります。わたしと同じ設定でもいいですし、重たいと思ったらカメラのサイズを小さくしても問題なくトラッキングしてくれます。使用するたびに設定しているカメラが変わっていないかチェックしましょう。わたしの場合毎回変わっています。
カメラの設定が終わればもうトラッキングは開始できます。一度フルトラッキングを試してみるのもいいかもしれないですね。画面上部真ん中の[STRAT]をクリックするとトラッキングを開始できます。

両手を広げているシルエットにおおよそ自分を映せばトラッキングはフルトラッキングは可能です。
※注意点として、わたしはカメラから約3mくらい離れて撮影しています。距離が近いと体からトラッキングが外れて破綻してしまいます。もしかすると広角カメラを使えばさらに近い距離でも認識可能かもしれませんが試していないので責任は持てないです。
最後にSend&Receiveの設定をしていきます。Send&Receiveをクリックすると画像のようなメニューが出てきます。Portははじめから39539になっているかと思います。
そして、これはあくまでも白樺ななしの設定ですので試行錯誤しながらご自身が納得いく設定を突き詰めてくださいね。わたしの設定の真似をすればわたしと同じ用に動くかと思いますが好みもありますからね。とりあえず真似して設定してみてください。わたしの場合、Head、Eyes、Armsのチェックを外しています。このチェックを外せばVMCプロトコルでこの部分が認識されません。チェックが外れた所はWebcam Motion Captureで認識させるということですね。VRM1.0のモデルを使用している方はUse VRM1.0にチェックを入れておきましょう。

設定が整ったらSend VMC Protoclにチェックを入れてVseeFaceに送信するといった形になります。
Rootのチェックを外すとカメラがモデルを追いかける形になるのでそういった設定にしたい場合はチェックを外すと良いです。わたしは動き回りたいのでRootにチェックを入れています。
Webcam Motion Captureの設定
ではWebcam Motion Captureの設定を行っていきます。それと同時にCPUやGPUの使用率を節約する設定も一緒に解説していきますね。というのもTDTP単体はそこまで重くないのでいいのですがWebcam Motion Captureはそれなりに重たい処理を行いますしVseeFaceでも同じ用に節約しながらよりPCに負担の少ないようにしていきます。
はじめにVRMモデルを開きます。デフォルトのモデルでも動くのですが同じ各ソフトでモデルを統一しないとトラッキングが破綻したり、モデルが動かないといったトラブルに繋がるからです。
VRMファイルを開くをクリックして使用するモデルを選択して読み込みます。


モデルが読み込めたら各種設定を行っていきます。わたしはマイクを持って声を出しているので口元が見えないことが多く、口パクなしで話してしまうことが多々あるので口パクに関しては音声を認識させて声を素に口が動くようにしています。ここは各々設定が異なりますので自分の納得いく設定を突き詰めてください。設定は直感的に分かるようになっているので自分の可愛いやカッコいいを見つけてくださいね。
わたしは見えやすいように背景を透明に設定しています。

Webcam Motion Captureはある程度近くで顔を認識させたほうが良い結果になると思います。わたしは今のところ丁度いい三脚が無いのでディスプレイにWebカメラをおいていますがメガネをしているのもあって瞬きを感知しにくかったりしています。なのでカメラの位置は試行錯誤が必要かと思います。Webcam Motion Captureの場合腰上を認識させたいのである程度近い距離のほうが良いかと思います。また検証をしてみてこの記事に追記していこうと思います。
トラッキングの詳細、表情の設定などはご自身で色々試してみてくださいね。モデルや配信方法によって設定も変わってくると思いますので。
次にVMCプロトコルの設定を行っていきます。数字に関しましてはTDTPと別の数字に設定します。任意の数字で良いかと思いますがわたしの数字で安定して動いているのでわたしと同じ数字で設定するといいかもしれません。ポート番号は39550に設定しています。そしてトラッキングモードは全身モードにしないとうまく動いてくれませんので必ず全身にチェックを入れてください。

ではWebcam Motion Captureのカメラ設定と処理を軽くする設定をしていきます。
実は今、画像で出していたものはWebcam Motion Receiverで本体ではありません。Webcam Motion Captureはカメラ設定を行う方になります。ここで2つ目のWebカメラを使用します。使用するWebカメラを選んだら画面サイズをTDTPと同じにします。必ずしも同じにする必要はないかもしれませんが統一したほうが良い結果になるんじゃないかというおまじないのようなものです。

次にカメラの処理を軽くするのにウィンドウの左上にある環境設定をクリックします。キャプチャー速度を選んで低速をクリックします。これだけでわたしの環境ではCPU使用率を10%以上節約することができています。

次はGPUの処理を軽くします。
画面下のアプリの設定を開きます。アプリの設定を開いたら画質とGPU使用率を低画質/低GPUに設定して適用するをクリックしましょう。Webcam Motion Captureの画面は配信に使用しないので最低設定で大丈夫です。


最後ににVMCプロトコルを送信して画面UIを消したらWebcam Motion Captureの設定は終わりです。トラッキングモードは全身、外部アプリに送信にチェック、送信開始をクリックしてください。送信開始したらスペースキーを押してUIを非表示にします。このときモデルの動きが止まりますが仕様なので心配しなくて大丈夫です。不安になる必要はありません。



これでTDTPとWebcam Motion Captureの設定が完了してVMCプロトコルを送信した状態になりました。続けてVseeFaceの設定を行っていきます。
VseeFaceの設定
最後にVseeFaceの設定を行います。ここまで来たらアバターの追加方法は理解できていると思うので画像での説明は省きますね。ローカルアバターを選んでフォルダから使用するモデルの選択をすれば追加できます。ここで重要なのはウェブカメラとマイクのところ。VseeFaceではWebカメラは使用しませんのでウェブカメラのところで[Open SeeFace トラッキング]マイクは1番上のマイクを選択するを選んでおきます。使用するモデルを選択した状態でスタートをクリックしましょう。

スタートを押すとモデルが認識されますので設定をクリックします。またミラーモードは選んでおくと自分が動いた方にモデルが動いてくれるようになります。

設定をクリックしたら一般設定を開きましょう。そして下にスクロールしていくとOSC/VMCプロトコルという項目があります。

ここまで来たらOSC/VMCプロトコルで受信する(トラッキングを無効)にチェックを入れます。ポート番号は39539がデフォルトなのでそのままにしておいてください。

次は二次のOSC/VMCプロトコルの受信機能にチェックを入れましょう。また下の項目については背骨と胸を受信、下半身を受信のチェックを外してそれ以外は全てチェックを入れます。ポート番号は39550を入力してください。

これでTDTPとWebcam Motion CaptureのトラッキングデータをVseeFaceに持ってくることができました。
次は画質を良くしていきます。先ほどと同じ一般設定からグラフィック設定を探してください。上にスクロールすれば見つかるはずです。このグラフィック設定のアンチエイリアシングを8倍に設定します。こうすることで画質が向上してリッチな配信を行うことが可能になります。また選択肢に16倍もありますが、PCの負荷が大きいので8倍で大丈夫です。

最後はVseeFaceの処理を軽くしていきましょう。まず見てほしいのが右下のFPSの値です。FPSが144となっていますね。これだとPCへの負荷が大きくなりますのでFPSを抑えて処理を軽くします。そもそもFPS(フレームレート)は144も必要ありません。人間の目が認識できるフレームレートは30FPSくらいとされていますし、配信に使う程度であれば30FPSで違和感なく動くことができます。ですのでVseeFaceで出せるFPSを30に落とします。
はじめはVSyncのところにチェックが入っているのでこのチェックをフレームレート制限に移動して30と入力してください。
これでVseeFaceで出力されるFPSを30に抑えることができました。

これでVseeFaceがTDTPとWebcam Motion Captureのトラッキングデータを受信できるようになりました。
問題が無ければ先ほどわたしが貼ったYouTubeの動画のように動けているかと思います。
以上の設定でしゃがむこともできるし、寝転がることもできるし、ジャンプもできるし、髪も揺れるし、表情も作れるし。指の動きも滑らかだし、腕も奥行きが出せるトラッキングとなりました。
使用するカメラは値段の安いもので構いません。逆に最新のものだったり高性能過ぎるカメラですと認識しないことがあります。アマゾンで売っていたり家電量販店で安く購入できるもので大丈夫ですしスマートフォンのカメラも代用できます。
CPU負荷を軽くするOBSの設定
ついでにOBSでCPUの負荷を軽減する設定をお伝えします。その代わりGPUのパワーを使いますのでお気をつけください。
画像の通りに設定すれば大丈夫です。こちらはNVIDIAのGPU仕様を前提にしています。
キャンパス解像度は活動しているプラットフォームに合わせてくださいね。


以上で白樺ななしが配信でフルトラッキングをしているシステムのお話は終わりです。3Dモデルはあるけどソフトの使い方が分からなかったり、そもそも英語ばかりで調べるのが億劫だったり情報が少なかったりでお家でフルトラッキング配信をするということを諦めていた方に届いたならばとても嬉しいです。
今回の構成でしたらソニーのMOCOPIよりも精度が高くて導入も金銭的負担が少なくできると思います。3DVTuberを目指している方、悩んでいる方にとってはトラッキングソフトの選定やVMCプロトコルについてよく分からないといったことも多いと思います。
今回の記事で沢山の方がWebカメラでフルトラッキングは意外と簡単にできるんだよと伝われば本当にうれしいです。またわたし白樺ななしは普段TikTokで配信活動をしていますしのでこの記事を見てわたしに興味を持ったよ! と言った方が増えると嬉しいです。
コメント