VRoidってすげえ!って話(その2) バーチャルモーションキャプチャー(VMCプロトコル)
こんにちは。たつです。
今回は「VRoidってすげぇ!」って話の第二回になります。
前の記事は以下から。
ちなみに。
タイトルに「VRoid」って入ってるけど、
今回はVRoidの話がほぼほぼ出てきません()
前回の説明したVRoidと、今回説明するバーチャルモーションキャプチャーを組み合わせると、こんなことができるよ!って記事はまた次回…
ってなわけで本題。
今回説明するのはバーチャルモーションキャプチャーです。
割とテクニカルな内容を含みます。
また、今回も具体的な使い方とかはないです。
例によって知識不足、説明不足なところがあるかもですが、「へーそんなものがあるのかー」ってふわっと思ってくれれば幸いです。
バーチャルモーションキャプチャーってなに?
とてもざっくり言うと「アバターを動かす仕組み」みたいなものです。
略称としては「ばもきゃ」とか「VMC」とか呼ばれます。
「バーチャルモーションキャプチャー」だと長いので以下「VMC」と記述します。
もうちょっとしっかり言うなれば「VRM形式の3Dアバターに対して、表情やボーンを動かす仕組み」です。
Unityで制作されたアプリケーションになっていて、BoothとかpixivFanboxでダウンロードすることができます。
公式サイト。
バーチャルモーションキャプチャーの主な機能
VMCは主にアバターが表示されたウィンドウ、コントールパネルウィンドウの2画面構成になってます。背景とかカメラの位置とかはコントロールパネルから設定できます。
基本的にはこの画面をOBS studioとかの配信ソフトにクロマキー合成する、みたいな使い方になるかと。
ちなみにアバターはこんな感じで選択できます。ローカルファイルとか、VRoidHub、DMM VR Connectみたいなクラウドサービスからも選択できます。さっき述べたように、VRM形式アバター対応です。
コントロールパネル→設定→詳細設定→使用トラッカー設定
を開くと上みたいな画面が出てきます。steamVRで認識したHMD、コントローラー、トラッカーとかが出てきます。
ここで設定すればアバターを動かせる~って流れです。
ちなみに10点トラッキングまで対応しています。これは余談ですが、さすがに7個のVIVE Trackerとか普通の人は持ってないと思うけど、画像認識とかKinectでボーン取って、バーチャルモーショントラッカーと組み合わせることで物理トラッカーなくても10点トラッキングできたりします。
あと持ってないから試せないけど、Vive EyeTrackerとかあれば表情が動かせるっぽい?
で。
これは基本的なVMCの説明だったんですが、僕が思うVMCの凄いところとか使い勝手がいいところはこの先になります。ここからよりテクニカルな内容になるかも…
Virtual Motion Capture Protocol
先に説明したVMCですが、ここで使った情報(アバターのボーンとか表情とか)の送受信の仕組みを「Virtual Motion Capture Protocol(バーチャルモーションキャプチャープロトコル)」といいます。中身は確かOSC(Open Sound Control)って通信方法だったはず。
長いので以下、この記事では「VMCプロトコル」って呼ぶことにします。
で、このVMCプロトコルですが、さっきのVMCアプリ以外にも使えます。より正しく言うと、VMC開発者様が提供したプロトコルを使用して、有志でアプリとかが開発されています。上の公式サイトの「Reference&Apps」で紹介されているので見てみてください。
プロトコルが同じなので、それぞれのアプリ間で情報をやり取りできちゃう優れものです。すごい。本当にすごい。(語彙力)
全部は使ったことがないけれど、僕が使ったことのある一部を紹介します。
EVMC4U
「EasyVirtualMotionCaptureForUnity」縮めて「EVMC4U」。
VMCプロトコルの情報をUnity内のVRMアバターに送ることができます。Unityで制作した3D空間で自分のアバターを動かしたい人向けになるかと。
上のGitHubからUnityパッケージをダウンロードしてUnityに入れることで使えるようになります。
VseeFace
VSeeFaceはVTuber向けのフェーストラッキングソフトです。Webカメラで簡単にVRMアバターを動かすことができます。
…って公式では書かれていますが、僕個人としては次で説明する二つの繋ぎとして利用してます。ちなみにkinectとか使うと腕もちょっとトラッキングできたりします。
waidayo
表情認識を行うiPhoneアプリです。Face IDが使える機種に対応してます。
VTuberさんがよく使ってるイメージのあるFaceRigのVMCプロトコル版みたいな認識かな?
アバターはiPhone内のローカルファイル、VRoid Hub、DMM VR Connectのものが使えます。
TDPT
「ThreeDPoseTracker」っていうUSBカメラと機械学習でフルボディモーションキャプチャを行うWindowsアプリがあるんだけど、それのiOS版。
ThreeDPoseTrackerはPCで処理するからめっちゃ重くなったり、僕の環境では精度が悪いのもあって、こっちのiOSアプリを使いがち。
上を組み合わせてできたもの
TDPTで姿勢をとって、waidayoで表情認識して、VseeFaceで統合して、EVMC4UでUnityプロジェクトに送って…ってことをやったら下の画像みたいな感じになります。
もはや変態の所業。これ需要あるんか。
リアルでは最近こんなことをよくやってます。
まとめ
バーチャルモーションキャプチャー(VMC)を使うことでVRMアバターを動かせるよ!
バーチャルモーションキャプチャーの情報送受信の仕組みであるVMCプロトコルに対応したアプリを組み合わせるとこんなことができるよ!
って紹介でした。
次回はようやく
VRoidの強みを生かしつつVMCプロトコルと合わせるとVTuber(っぽいこと)ができるよ!!
って内容です。
うまく説明できるかわからんけど、最後はなるべく細かい手順とかを書こうかなーって思ってます。
3DアバターでVTuber始めたみたいなーって人に役立てば幸いです。