Unity VR-AR-MR-XR ブログ

『Azure Kinectのアセット、Azure Kinect Examples for Unityがすごい!!!【 AvatarDemo1・2編 】

8月 14, 2020

2020年3月27日、ついに日本でもAzure Kinect Developer Kit (DK)が発売されました。


Microsoft Azure Kinect DK

 

以前からも販売はされていたのですが、アメリカと中国のみとのことで、日本で手に入れるには個人輸入しか方法がなく非常に貴重なものでした。

日本での発売とともにAzure Kinectを使った開発例がネット上に増えてきてうれしい限りなのですが、まだまだAzure Kinectの知名度が低いこともあり、情報量は乏しいです。

こんなに素晴らしいデバイスがあり、Unityにそれを簡単に扱うことができるアセットがあることを知ってほしい!

そう考え、この記事を書かせていただきました。

そしてその素晴らしいアセットである『Azure Kinect Examples for Unity』のサンプルシーンと、

そこに使われているスクリプトを使ってできるようになることを数記事に分けて解説していきたいと思います。

この内容がUnityでAzure Kinectを使ったゲームやソフトウェアの開発をするために参考になれば幸いです。

Azure Kinect Examples for Unity

https://assetstore.unity.com/packages/tools/integration/azure-kinect-examples-for-unity-149700?locale=ja-JP

KinectAvatarsDemo1

このシーンは左右に正面を向いたものと後ろを向いたアバターが1人ずつ、そして真ん中にCubemanという3Dモデルが配置されています。

キューブマンはPlayしていないときは中心に小さくまとまっています。

Playするとこのような感じになります。

カメラの前に立つとCubemanと2人のアバターがカメラの前の人の動きに合わせて動きます。

このアセットの製作者のRF SOLUTIONSさんは過去にもKinect V1やV2用の同じことができるアセットを作っていましたが、

それらに比べてAzure Kinectの性能もあり、ボディトラッキングの精度が非常に上がっています。

 

(椅子に座りながらマウスを操作してるところもバッチリとボディトラッキングされている筆者)

 

起動すると右下にカメラの前に立っている人のシルエットが出るのはKinectAvatarsDemo共通です。

ここで使われているスクリプトはゲームオブジェクトのKinectControllerに『KinectManager』、それとは別のゲームオブジェクトのGestureListenerに『SimpleGestureListener』、Cubemanに『Cubeman Controller』、そして左右の2人のアバターに『AvatarController』がアタッチされています。

『KinectManager』はAzure Kinect Examples for Unityの他のスクリプトを使うときに必要なスクリプトです。

自分で新たにシーンを作成し、開発を進めるときはこのサンプルシーンからKinectControllerごと作成したシーンにコピー&ペーストして使うことをお勧めします。

 

『Cubeman Controller』と『AvatarController』は両方アバターを動かすためのスクリプトです。

この『Cubeman Controller』はCubemanにしか使うことができませんが、『AvatarController』はHumanoidのモデルであればアタッチしてこのサンプルシーンと同じようにアバターを動かすことができます。

このスクリプトと合わせてOVRLipsyncや瞬きをするスクリプトなどを合わせることで3DVtuberのシステムを簡単に作ることができそうです。

 

『SimpleGestureListener』は右手を挙げた、ジャンプした、などのジェスチャーを感知し、知らせてくれるスクリプトです。

このスクリプトを使うことで右手を挙げることでのスクリプトの実行させることや、オブジェクトを出現させることが可能になります。

また、ジャンプをトリガーにして背景を変えることでテレビ番組でよくあるジャンプして場面転換する……なんてこともできそうですね。

KinectAvatarsDemo2

このサンプルシーンはアバターが1人と、その目の前にキューブが三つ配置されています。

このシーンの特徴としてメインカメラが頭の子要素になっています。

Playすることでプレイヤーの見ている向きに視界が同期するといった動作をします。

この配置は現状だとブレも強く、使い道はあまりなさそうですが、

将来的には様々なセンサーを搭載した重いVRヘッドセットを被らなくても、

目の前に小さいモニターを一枚ぶら下げるだけで6DofのVR体験ができる!

といった可能性を秘めていると思います。

使っているスクリプトはKinectAvatarsDemo1でも使った『KinectManager』と『AvatarController』のみです。

まとめ

今回はAvatarDemo 1・2を中心にスクリプトとサンプルシーンの説明をさせていただきましたがいかがでしたでしょうか?

次回の記事ではAvatarDemo 3・4 のシーンとスクリプトについて書かせていただこうと考えています。

そちらも読んでいただけると幸いです。

Microsoft Azure Kinect DK をAmazonで購入する

 

AR, VR. XR の活用やMicrosoft Holo Lensを活用した建築業向けソリューションGyroEyeに関するお問合せはこちら

-Unity, VR-AR-MR-XR, ブログ
-, , , , ,

© 2020 IoTプロトタイピング・VR・AR・Unity メディアラボ