VTuber(バーチャルYouTuber)・AR・VR向けに、ウェブカメラで撮影した顔や手や全身の動きを3Dアバターにリアルタイムで反映させるモーションキャプチャー技術「SysMocap」が公開されています。Windows・macOS・Linuxで動作し、ローカル環境に無料で簡単に導入できるので、実際に使ってみました。

GitHub - xianfei/SysMocap: A real-time motion capture system for 3D virtual character animating.

https://github.com/xianfei/SysMocap



SysMocapをインストールするためにはNode.jsのインストールが必要です。Node.jsのインストーラーは以下のページからダウンロードできます。

Download | Node.js

https://nodejs.org/en/download

今回はWindows Installerの「64bit」をクリックしてダウンロードします。ファイルサイズは30.0MBです。



ダウンロードしたインストーラーを起動します。



「Next」をクリック。



ライセンスへの同意を促されるので、「I accept the terms in the License Agreement」にチェックを入れて、「Next」をクリックします。



インストールする場所が表示されるので、「Next」をクリック。



インストール内容が表示されるので、「Next」をクリック。



「Next」をクリックします。



「Install」をクリックすると、インストールが始まります。



インストールが終わったら、「Finish」をクリックしてインストーラーを閉じます。



次にターミナルで「git clone https://github.com/xianfei/SysMocap.git」を入力してリポジトリをクローンします。



「cd SysMocap」と入力し、SysMocapのローカルリポジトリに移動します。



「npm i」と入力して実行。



「npm start」と入力して実行します。



すると、SysMocapのウィンドウが起動します。SysMocapが対応している3DアバターのファイルフォーマットはVRM形式・GLB形式・FBX形式で、自前のファイルを読み込ませることができるほか、デフォルトで9種類のアバターが収録されています。



上部から「SETTING」を選択し、「Input」の欄でカメラを選択します。



次に、上部から「MOCAP」を選択。「3D Model」で3Dアバターを選択し、「Source」で「Camera」を選び、「START」をクリックします。



すると、読み込みが行われ、以下のようにアバターとウェブカメラの映像が映し出されます。ウェブカメラに映る自分の顔と体には、認識を示すボーンが表示されています。カメラ画像の下には「全身」「半身」「特写」とあり、特写はバストアップを認識するモードとなっています。



顔の向き、口や手の動きに反応してアバターも動きます。手は指の1本1本まで認識はしていますが、アバターの動きには完璧に反映されているとはいえませんでした。



「半身」は上半身の動きを認識します。肩より下にもボーンが表示されています。



「全身」は全身の動きを読み込みます。ウェブカメラによる認識がアバターに反映される精度はやはりそこまで高くはありませんが、「左足を曲げて右足を伸ばす」というおおまかな動きはしっかりとアバターにも反映されました。