HoloLens と Leap Motion で HoloLens 2 をシミュレーションする
LeapMotionInputForMRTK
こんにちは、たるこすです。
LeapMotionInputForMRTK という、HoloLens(第一世代)と Leap Motion を使って HoloLens 2 のハンドインプットのシミュレーションができるものを作りました。
これにより、HoloLens 2 が無くても、HoloLens 2 のハンドトラッキングを利用したアプリの動作確認をすることができます。
コード、そして Leap Motion を HoloLens に取り付けるマウンタの3Dモデルは GitHub で公開しています。
なぜ作ったか?
2019年4月に MixedRealityToolkit-Unity (以下、MRTK) v2 RC1 が公開されました。
MRTK v2 は HoloLens 2 を含む、いくつかのデバイスをサポートしています。
MRTK v1 は HoloLens(第一世代)用のツールキットで、Head Gaze (頭の向き)がカーソルとなる入力方式でした。 MRTK v2 は、HoloLens 2 のハンド入力をサポートしているので、指先でボタンを押したり、手でものをつかんだりする UI が用意されています。
MRTK v2 の勉強を始めようと思ったのですが、2019年6月時点ではまだ HoloLens 2 を手に入れることができません。
HoloLens 2 がないと、ハンド入力の挙動確認がかなり難しいです。
(Unity Editor でマウスやキー入力でシミュレートすることは一応可能です)
そこで、HoloLens + Leap Motion でハンド入力の挙動確認をするために作りました。
仕組み
アプリケーションは Unity Editor 上で実行し、Holographic Remoting を使って HoloLens で表示しています。
MRTK v2 の概要については、@Ash_Yin の資料が詳しいです。
この資料の P.37 で説明されている、MRTK.Providers 部分を拡張し、Leap Motion 用のスクリプトを追加しました。
詳しくは、コードを読んでいただくのがいいと思います。 github.com
VR Headset で利用する
自分は HoloLens で利用することしか考えていなかったのですが、de:code 2019 の Unity Technologies さんのブースで、 WinMR Immersive Headset + Leap Motion で LeapMotionInputForMRTK を使うデモが展示されていました!
twitter.comEXPOのUnityさんブースで@tarukosu さんのハンドジェスチャー体験しました。良かったです(*´ω`*) pic.twitter.com/NJA7KzNfWF
— だん (@arcsin16) 2019年5月29日
体験したところ、視野角が広く映像がキレイで、現実は見えないですが表示する映像としては HoloLens 2 により近い見た目でした。
HoloLens + Leap Motion の場合は、Holographic Remoting を使うためにどうしても見た目の質が下がってしまいます。
おわりに
HoloLens 2 が待ちきれない! という方はぜひお試しください