概要
先日発表されたViveでハンドトラッキングが可能なVIVE Hand Tracking SDKですが
ViveだけでなくAndroidのスマホにも対応しています
今回はこのSDKとUnityを組み合わせて使う方法を紹介します
ハンドトラッキングのSDKはVive FocusとAndroidのスマホも対応しておりますので、ぜひ試してください。
— VIVE サポート@日本 (@ViveJapanSup) 2019年4月15日
動作環境: https://t.co/TbRyAXVHCQ
SDK: https://t.co/AcY4BL9P74 https://t.co/xMtMbYavIM
SDKの入手
https://developer.vive.com/resources/knowledgebase/vive-hand-tracking-sdk/
こちらのページの下部からSDKをダウンロードします
この中の「Hand Tracking SDK Unity Sample.unitypackage」と「Hand Tracking SDK Unity.unitypackage」を使います
Unityへのインポート&セッティング
Unityでプロジェクトを開き、Androidがビルドできる状態にしておきます
そして、先ほどの「Hand Tracking SDK Unity Sample.unitypackage」と「Hand Tracking SDK Unity.unitypackage」をインポートします
Project Settingsを開き下記の設定をします。
- XR SettingsからVirtual Reality SupportedをON
- Virtual Reality SDKsにCardboardを設定
- デフォルトのままだとビルドできないので、Pacakge Nameを適当な名前に変更
- Cardboardを使うので、Minimum API Levelを「Android 5.0」以上に設定


ビルド
端末でインストールし、カメラのパーミッションを許可します
左手のトラッキングは緑の点、右手のトラッキングは青い点で表示されます
解説
トラッキング自体はカメラにアタッチされたGestureProviderで行い
表示をHandRendererで行なっているようです。
ですので、表示のカスタマイズはHandRendererを元に改造していけばできると思います。
また、Z方向へのトラッキングはあまり行われず、基本的には平面上のトラッキングのようです。
手の座標だけでなくジェスチャーの認識にも対応してますので
実装次第ではスマホVRコンテンツの新たな表現として使えそうです