8月22日、ついにMRTK v2が正式リリースとなりました!(パチパチパチ)
とは言っても、肝心のHoloLens 2のリリースは年内と言われつつ時期不明でもどかしい状況が続いています。発売まで待てないので、HoloLens 1アプリをMRTK v2で作っておいて備えましょう!
でも、そもそもMRTK v2はHoloLens 2専用じゃないの?(HoloLens 1でも使えるの?)と思われるかもしれませんが、きちんとHoloLens 1に対応しています。
RCの頃のMTRK v2を触ったことがある方でしたら、MRTKの基本的な設定はProfileベースとなっている、というのはご存知だと思いますが、正式版からは、プロファイルの名前がわかりやすくなりました。
HoloLens 1用プロファイル:DefaultHoloLens1ConfigurationProfile
HoloLens 2用プロファイル:DefaultHoloLens2ConfigurationProfile
そのままですね!
シーンに置いたMixedRealityToolkitのインスペクタでDefaultHoloLens1ConfigurationProfileを指定すれば、HoloLens 1用のアプリの作成の準備が整います。
※そもそものMRTK v2の開発環境のセットアップやシーンの作成方法は、RCの時に下記記事に書いたチュートリアルを参照ください。
ここでHolo1用とHolo2用のプロファイルの違いを調べてみました。
ざっと見た感じ、違いは下記となります。
Camera Profileの違いは、Near ClipがHolo1では0.3なのに対して、Holo2では0.1になっています。Holo2の方がよりオブジェクトを近くで見ることが推奨されるようですね。
そして、Input Simulation ServiceのHand Simuration Modeが異なります。Holo1の場合はGesturesなのですが、Holo2はArticulatedとなっています。
どのように挙動が異なるのか見てみましょう。
まず、Hand Simuration ModeがGesturesの時です。
Unity EditorでRunして、キーボードの「Y」を押すと右手が出てきます。そして、スペースキーを押しながらマウスを動かすと、手を移動させることができます。注目したいのはポインターの位置です。
画面の中央でオブジェクトとぶつかった位置にポインタが表示されていて、手の位置を動かしても変化がありません。つまり、これはHoloLens 1でいうGaze(頭の向き)ベースのポインターということになります。手が表示されるので見た目はHoloLens 1用のアプリには見えないのですが、動かしてもポインタが追従しないので、表示されていても意味があまりなさそうです。(当然、HoloLens 1用にビルドして実機で動かしても手は表示されません)
一方、Hand Simuration ModeがArticulatedの場合です。同じくYで手を表示してスペースキーを押しながらマウスを動かして手を移動させると・・
ポインタが手に追従しますし、指先から先ほどは無かったビームが出ていますね!これはHoloLens 2の動きです!(使ったことないけど!)
ということで、Unity Editor上のMRTK v2でのHolo1とHolo2の違いは、手の動きへの反応の挙動の違いで、それ以外はそれほど大きくは違わない、ということがわかりました。
次回はHolo1アプリを作っていきたいと思います。