LoginSignup
8
5

More than 5 years have passed since last update.

HoloToolKitのAirTapに関するメモ(AirTapイベントの取得)

Posted at

Hololensアプリ開発に関するメモ(AirTapイベントの取得)

ホロレンズのアプリ開発を始めるにあたって、ネットでAirTapの取得方法を調べたが、最近
HoloTooKitの仕様が変更されたようで、AirTap時にOnSelect()が反応しなくなっている。
最新版(2017/5月現在)のHoloToolKitでAirTapイベントを取得するための方法を簡単にまとめた。

Unity向けHoloToolKitダウンロード先:
https://github.com/Microsoft/HoloToolkit-Unity

1.HoloToolKitをUnity Projectにインポート。Assets内のHoloLensCamera、Input->Prefabs->Cursor->CursorおよびInputManagerをHierarchyに配置。
(SpatialMappingを利用する場合はSpatialMapping->Prefabs->SpatialMappingも配置する)

2.以下の例のように、IInputClickHandlerの継承、Start()内のとメソッドOnInputClicked()を追加したコードを作成、Hierarchy内のゲームオブジェクトにアタッチする(HoloLensCameraなど)

AirTapExample.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HoloToolkit.Unity.InputModule;

public class AirTapExample : MonoBehaviour,IInputClickHandler {
    public Camera HololensCamara;

    void Start () {
        //AirTapを検出したとき、OnInputClickedが呼ばれる。
        InputManager.Instance. PushFallbackInputHandler(gameObject);
        }

    void Update () {

    }

    //AirTapを検出したとき呼ばれるメソッド
    void OnInputClicked(InputClickedEventData eventData){       
     //AirTap検出時の処理を記述

    }


}

Start()内の記述がなくても、このスクリプトがアタッチされたゲームオブジェクトがAirTapされた場合、OnInputClickedメソッドが呼ばれる。
ゲームオブジェクトがタップされたかにかかわらず、メソッドを呼びたい場合、今回のサンプルコードのような記述になる。

8
5
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
8
5