AirTap
が基本的なアクションなので、それを契機に何かするってのはよくあることでしょう。
ということで、やり方メモ。
下準備
HoloToolkitを入れたプロジェクトを準備します。
シーンのMain Camera
をさくっと消します。
HoloToolkit/Input/Prefabs/HoloLensCamera
というものがあるのでHierarchyにぽとっと置きます。次にHoloToolkit/Input/Prefabs/InputManager
もHierarchyにぽとっと置きます。
これで、今まで空のゲームオブジェクト作って、Gaze Managerをつけて~Input Managerつけて~とかやってたのが楽に出来るらしい。
AirTap 検出!
次に C# のスクリプトを1つ作ります。この人はHoloToolkit.Unity.InputModule.IInputClickHandler
を実装します。何かオブジェクトに、このスクリプトをくっつけるとインターフェースのOnInputClicked
メソッドが呼ばれます。
こんな感じで作ってみました。
using HoloToolkit.Unity.InputModule; using UnityEngine; publicclass AirTapBehavior : MonoBehaviour, IInputClickHandler { publicvoid OnInputClicked(InputClickedEventData eventData) { this.gameObject.GetComponent<Renderer>().material.color = Color.red; } }
Hierarchyに適当にCubeを置いて適当な位置に設置します。
このCubeに、さっきつくったAirTapBehaviorをぽとっと落とします。そして実行。
AirTap前
AirTap後
ちゃんと動いてるっぽい。