「MocapForAll」は、2台以上のカメラを使って、トラッカーなしでフルトラッキングが楽しめるアプリです。指、体、表情のトラッキングに対応しています。(顔と指は他のアプリで代用することも可能です。)
前後や上下の移動にも割と強く、フルトラッキングの機材を買うよりずっとお安く、なによりトラッカーを付けずともフルトラッキングが可能なところが魅力的です。
用意するもの
パソコン、ウェブカメラまたはスマホを合わせて2台以上、マーカー用の印刷物と段ボール、動き回れる部屋のスペースが必要です。
カメラの画角から見切れると動きが変になったり止まったりするため、広角のウェブカメラやスマホ用の広角レンズあると良いでしょう。
速度を上げたい場合は30FPSのウェブカメラよりも60FPSのウェブカメラが有効ですが、1台だけ変えても意味がないため全台分の買い替えが必要になります。
ただし、劇的に変わるケースは多くないと思いますのし、まずは手持ちの機材で、20~30FPSで試すのがよいでしょう。
体験版もありますので、広角ウェブカメラや有料版を購入する前に、スマホをウェブカメラにするなどの方法で試してみてください。
スマホをWEBカメラ代わりに使用する方法はこちらの記事で解説しています。
マーカーの準備
「MocapForAll」では、A4程度の内部パラメーター取得用の画像と、外部パラメーター取得用の画像を使用します。
外部パラメーターは人の動きを取得するためのもので、取得方式がいくつかあります。
精度を重視したいので、個人の部屋であれば「ChArUcoボード」を使う方式がおすすめです。
マーカーの印刷
マーカーの準備のページにアクセスします。
「内部パラメータの取得で使う画像の印刷」と「ChArUcoボードを使うやり方」の項目にある赤文字の「この画像」をそれぞれクリックします。
右クリックし、「名前を付けて画像を保存」で保存します。
外部パラメーター用の画像はできるだけA2以上の大きさが推奨されていますが、コンビニ印刷はA3までしか対応していません。
そのため、画像を分割して2枚、もしくは4枚印刷してつなぎ合わせて使用します。
ペイントソフトなどに読み込んでトリミングし、900×1200pxの画像を2分割、A1サイズで印刷できる床のスペースがある場合は4分割して保存しましょう。
「PhotoScape」はトリミング領域の保存がスムーズにできて便利です。
トリミングした画像はそのままですと、画像サイズが小さすぎてコンビニ印刷ができません。
サイズを2倍程度に拡大してから印刷に向かいましょう。
「PhotoScape」は一括リサイズにも対応しています。
マーカーの工作
印刷したものを、のりやテープを使って段ボールに貼り付けます。
余白は山折りで折りたたむだけで問題ありません。
あとでサイズを入力する箇所があるため、マーカーの1マスの寸法を測ってメモしておきましょう。
体験版のダウンロードと起動
Steamから「MocapForAll Demo」をダウンロードします。
SSDとHDDを使い分けている場合は、動きの反映速度に関わるためSSDにインストールしてください。
ダウンロードが完了したら、ライブラリにある「MocapForAll」の「プレイ」をクリックして起動します。
「Setting」の右上にある「English」をクリックすると、日本語に切り替えられます。
カメラの設定
マーカーサイズの入力
「設定」→「カメラ校正」と順にクリックし、「マーカーサイズ」の「ChArUcoボード」の欄に、先ほど計測した数値を入力します。
単位はメートルのため、18.7cmの場合は「0.187」と入力します。
カメラの追加と選択
左上の「カメラ追加」をカメラの台数分クリックします。
カメラの右にある逆三角をクリックして、使用するカメラを選択します。
同じUSBハブに複数台のウェブカメラを接続すると、選択はできるものの1つしか映らないようです。
カメラが映らない時は別の場所に挿すようにしてください。
解像度の設定
カメラを選択したら、「画面サイズ」から解像度を選択し「適用」をクリックします。
1280×720など映す範囲が広いほうが見切れにくくなりますが、その分処理が重くなります。
動きたい範囲が収まる程度の解像度で十分です。
640×480以上の解像度の高さは、あまり精度に影響を与えません。
カメラの映像は反転や回転も可能です。
スマホをウェブカメラとして使う場合や、ウェブカメラを縦に置いて手を挙げても見切れないようにしたい場合などに活用できます。
カメラの配置
手を挙げたり動いたりしても全身が映り続け、床も映る位置にカメラを配置します。
マニュアルでは正面よりも斜め45度、胸元から目元あたりの高さが推奨されていますが、私の環境では自分の身長+20cm程度の高さに設置したときが一番精度が良かったです。
カメラの設置には、百均のワイヤーネットにウェブカメラを括り付け、石膏ボードピンで壁に留める方法がおすすめです。
ワイヤーネットごと上下に動かして高さの調整ができますし、ピンを抜いても跡がほとんど気にならないタイプのものもあるため、失敗して設置しなおしになることを恐れず設置できるのも良い点です。
カメラの校正
内部パラメーターの取得
「カメラ校正」の「内部パラメータ」の「開始」をクリックします。
内部パラメーター用のマーカーを、カメラの前で近づけたり角度を変えたりして読み取らせます。
すべてのカメラで同様に読み取りを行いましょう。
外部パラメーターの取得
外部パラメーター用のマーカーを、各カメラに四隅まで映るよう、床に置きます。
各カメラの「外部パラメータ」の「開始」をクリックして読み取ります。
画角の端すぎる等でうまく読み取れない場合は、位置を変えて各カメラでもう一度読み取り直します。
読み取りが完了したら、外部パラメーター用のマーカーは片付けて問題ありません。
キャプチャの開始と位置調整
「キャプチャ開始」をクリックして動き回ってみます。
動いている最中に見切れてしまう場合は、「キャプチャ停止」をしてウェブカメラの位置を調整し、外部パラメーターの読み取りからやり直しましょう。
スケールの調整
キャラクターが宙に浮いていたり、足を伸ばし切っているのにしゃがんでいたり、肩が不自然にいかり肩になっている場合は、スケールの調整が必要です。
「設定」の「座標系」の「スケール」より、上半身と下半身の値を調整します。
しゃがんでしまっている場合は下半身の値を増やし、宙に浮いている場合は減らします。
肩がいかり肩になっている場合は上半身の値を減らし、下がりすぎたら増やします。
パフォーマンスと動きの設定
GPUの活用
GTX 600シリーズ以降、またはRadeon HD 7000シリーズ以降のグラフィックボードを搭載している場合は、「設定」→「全般」→「DNNの実行環境」から「GPU_DirectML」を選択することで、処理をGPUに任せることができます。
初期状態ではCPUが選択されています。
体のキャプチャ設定
「体のキャプチャ」の項目では、速度優先か精度優先かを選択できます。
同時に他のゲームを動かすかどうかやパソコンのスペックにもよりますが、「Speed」がバランスのよい設定のように思います。
それでも動作が重い場合は「Speed+」に落としてください。
スムージングの調整
「アニメーション加工」の3種類のスムージングで、動きを滑らかにできます。
例えば立っているだけで体がプルプル震えるようなノイズがある場合は、「体の動きのスムージング」の「Fc0」の値を下げていきます。
5程度から始め、徐々に下げてください。
1まで下げてもノイズが収まらない場合は、カメラの位置が適切でない可能性があるため、カメラ校正からやり直してください。
ノイズが収まったら、「β」の値を上げて動きのスピードを調整します。
動きへの追従が遅いと感じる場合は、この値を上げてみてください。
3Dモデルの読み込み
VRM形式の3Dモデルファイルを画面にドラッグ&ドロップで読み込みます。
表示される読み込みモードの選択肢では「直接モード」を選択してください。
これで3Dモデルを使って動き回ることができます。
データ出力の設定
「MocapForAll」の画面をそのまま取り込むこともできますが、「Unity」や「warudo」などの3Dモデルを扱えるアプリに動きのデータを送信し、送信先のアプリを配信画面に載せるのがおすすめです。
「warudo」などの場合は「設定」→「データ出力」→「VMCプロトコル」の項目を使用します。
送信先のアプリと「MocapForAll」を同じパソコンで動かしている場合、「VMTとVMCの宛先IPアドレス」は「127.0.0.1」のままで問題ありません。
2台のパソコンを使い、「MocapForAll」専用のパソコンから配信用パソコンに送信する場合は、送信先パソコンのIPアドレスを入力します。
「ボーンを送信」にチェックを入れ、宛先のアプリで指定されているポート番号を入力すれば、動きが反映されます。
2台のパソコンを使用する場合は、両方のアプリに同じ3Dモデルを読み込ませる必要があります。
負荷の軽減
配信画面への取り込みは送信先のアプリで行うため、「MocapForAll」側の表示を抑えることでパソコンへの負荷を軽減できます。
「設定」→「性能」→「内部解像度を設定」にチェックを入れて解像度を落としたり、「ビューポートのレンダリング」のチェックを外したりすることで、処理を軽くできます。
MocapForAllについて
カメラの位置を調整したり、お部屋に動ける空間を作ったり、ちょっと手間はかかるものの、反映スピードも接地感も位置の取得も、低コストでできるおうち3Dとしてはかなり良いアプリだと思います。
体験版で動作に問題がなければ、SteamのストアからMocapForAllの有料版を購入し、使用できます。
シーンによってはXRAnimator(無料・カメラ1台)で足りるかもしれませんので、よければあちらも試してみてください。
「MocapForAll」の導入方法は以上です。


