LoginSignup
0
0

More than 5 years have passed since last update.

Mixed Reality Toolkit - Unity で始めるHoloLensとImmersiveHMD ~ Navigationの違いを理解する。

Posted at

HoloLensとImmersiveHMDのイベントは共通(全てではない)

Mixed Reality Toolkit - Unity(以下MRTK)ではイベントはInputManagerで提供されています。この機能はHoloLensとImmersiveHMD両方で利用できます。また発生するイベントの種類もほぼ同じになります。それぞれの違いは過去整理していますので以下の記事も参考にしてください。

今回はこの中でもNavigationについてのデバイスの違いを紹介します。
NavigationはHoloLensとImmersiveHMDで考え方が違うので注意が必要です。

Navigationとは

いわゆるNavigation Gestureのことです。例えば、スマフォでのスワイプでページ遷移があります。特定のアクションでアプリケーションの操作を行うものです。
MRTKでもこのために使用できるINavigationHandlerインタフェースが提供されています。このイベントは操作に対して-1~1の範囲でジェスチャー操作を正規化してくれるので、この情報を用いてページ遷移等を行うことができます。

HoloLensとImmersiveHMDでのNavigation

Navigationに関する操作方法はHoloLensとImmersiveHMDで異なります。
まず、Navigation操作に移行する操作は以下の通りです。

HoloLens ImmersiveHMD
Navigationの開始 Tap & Hold Selectボタンを押下
Navigationの更新 Hold状態で手を動かす(xyz軸) Selectボタンを押下したままモーションコントローラを動かさずに上下左右(XY軸)方向に向ける。
Navigationの終了 Holdの解除 Selectボタンを離す

HoloLensの場合、手の移動そのものなので実質IManipulationHandlerイベントの正規化された情報になります。つまり左にある程度動かせば-1,右であれば1といった感じです。
一方、ImmersiveHMDは明らかに違います。モーションコントローラの場合はモーションコントローラを左に向けると-1,右に向けると1となります。なお、z軸は常に0になります。モーションコントローラを移動して同じ位置にカーソル移動したとしても正しい値を取得できないので注意してください。

image

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0