本日はHoloLensの基礎的な部分に関する記事です。
筆者の中で挑戦したい表現があり、それに向けてまずは基礎的な部分を載せていきます。
〇HoloLens 2のHandTrackingとジェスチャ
HoloLens 2ではユーザーの手を認識してアプリケーション側に反映させる[HandTracking]を使用できます。
この精度は類似のTrackingデバイスに比べかなり高く、左右55点のポイントが取得可能です。
HoloLens 2ではこのHandTrackingを使用したアプリ内での操作が可能ですが、開発ツールである[MixedRealityToolkit]では主に次のジェスチャが提供されています。
・Grab(握る)
・Touch(触る)
・Press(押す)
・Scroll
今回はこの中でオブジェクトへのタッチを実装します。
〇タッチ
今回はオブジェクトに触ると色が変わるという簡単な処理を実装します。
①MRTKを導入したシーンに[Cube]を配置します。
②[Cube]に[NearInteractionTouchable]コンポーネントをアタッチします。
これはtouchの動作を検出しイベントを発行するクラスになります。
次にイベントを受信し別のイベントを発火させるコンポーネントを実装します。
③[Cube]に[Interactable]コンポーネントをアタッチします。
このコンポーネントはアクションに対してのリアクションを設定します。
④[Events]の[Receivers]のタブを開き、[EventReceiverType]を[InteractableOnTouchReceiver]を指定します。
前述のとおり[Interactable]コンポーネントはアクションに対してのリアクションを返します。この設定でタッチのアクションに対してのリアクションを指定できるようになります。
⑤[OnTouch()]、[OnTouchEnd]のイベントが使用できるようになります。
これはそれぞれタッチした際、タッチを終えた際発火するイベントになります。
今回はtouchした際に白く、タッチを終えた際に赤くなるようにマテリアルを設定しました。
実記で見ていきます。
上記のように実機でタッチの操作の実装を確認できました。