はじめに

ブンブンハローGaprot! アップフロンティアVTuber分科会会長のtgと申します。

今回は安価(約5万円)で手に入り、32点の関節トラッキングが可能、なおかつ他のモーキャプ機材のようにスタジオセットアップの手間がかからない素晴らしいデバイスを手に入れたのでご紹介したいと思います。

素晴らしいデバイス?

その素晴らしいデバイスはこちら AzureKinect です!

2017年にKinectは生産が終了しましたが、AzureKinectへ名前と姿を変えて復活しました。

元々はXbox用のゲーミングデバイスとして売り出されていましたが、一転してビジネス向けの使い方にフォーカスが当たっています。

家にあったKinect v1と並べてみましたが、大分コンパクトになりましたね!

AzureKinect

RGBカメラ、深度カメラ、方向センサー、アレイマイクが備わっており、それらを使って空間の点群情報取得やボディトラッキングを行うことができます。

https://azure.microsoft.com/ja-jp/services/kinect-dk/

これらの情報にアクセスするためにはそれぞれ必要なSDKを公式ページから持ってきて、インストールする必要があります。

SensorSDK

RGB・深度カメラ、加速度計といったセンサーにアクセスするためのSDKです。

上手くインストールできていれば同梱されたツールを動かせるので、以下のように取得できる情報を確認することができます。

BodyTrackingSDK

人体の認識、関節のトラッキング情報を取得するためのSDKです。

以下の32点の関節を認識し、人物ごとにその動きを追跡することができます。

https://docs.microsoft.com/ja-jp/azure/Kinect-dk/body-joints#joint-hierarchy

こちらもツールで動作を確認することができます。

AzureKinectをUnityで使う

AzureKinectにはUnity用のライブラリはありませんが、上で導入したSDKからDLLを持ってくればUnityでも情報にアクセスすることができます。

しかし、ちゃんと使うためにはカメラ情報をテクスチャに変換したり、ボディトラッキングの座標系を合わせてあげたりととても面倒です。

そんな方のためのおすすめアセットをご紹介します。

Azure Kinect Examples for Unity

https://assetstore.unity.com/packages/tools/integration/azure-kinect-examples-for-unity-149700

こちらのアセットは実装のサンプルが多く、とても勉強になります。
これを参考にして自分のやりたいことを実装していくのが手っ取り早いと思います。

AzureKinectでVTuberになってみよう

こちらのアセットを利用して、Unityでボディトラッキングをやってみました。今回はモデルにVRoidStudioで自作したVRMデータを使ってみました。

前と後ろを向いているときのモーションはすごく綺麗です。

体を回転させたときにブレが目立ちますが、AzureKinectと身体が垂直になっている場合、カメラに半身が映らない状態になるので仕方ないと思います。

簡単な補正を入れてあげたり、AzureKinectは複数台の連携が可能なので、上手く連携させて死角を潰すような配置してあげれば上の問題は全然解決できると思っています。

まとめ

なんと5万円でAzureKinect、2千円でご紹介したアセットを買えば簡単に3DのVTuberになれてしまいます!

今回はやりませんでしたが、表情もAzureKinectのRGBカメラで撮影した画像とOpenCVを組み合わせれば動かせると思います。

個人でVTuberになってみたいと思っている方、AzureKinectおすすめです!