ものをAirTapしたときの処理は、前の記事でやりました。
今度は何もないところをAirTapしたときの処理とか書きたくなりました。 たとえば今うつってる画面の写真とりたいとかって感じに使えるかなと思います。
やり方は簡単でIInputClickHandlerを実装したBehaviorをくっつけたゲームオブジェクトをHoloToolkit.Unity.InputModule.InputManager.Instance.PushFallbackInputHandler
に渡してやればいいみたいです。
なんでGameObject求めるんでしょうね?感覚的にはIInputClickHandlerを受け取るのが自然な気がするけどHoloというかUnityの世界の何かがあるのでしょう。
ということで前回の記事のAirTapBehaviorを以下のようにすればOKです。
using HoloToolkit.Unity.InputModule; using UnityEngine; publicclass AirTapBehavior : MonoBehaviour, IInputClickHandler { privatevoid Start() { InputManager.Instance.PushFallbackInputHandler(this.gameObject); } publicvoid OnInputClicked(InputClickedEventData eventData) { this.gameObject.GetComponent<Renderer>().material.color = Color.red; } }
実行!
こうやって明らかにCubeからカーソルが外れてるであろうところを見た状態にして…
ぽちっとな
できた!
多分普通は見えないGameObject作って、そこにBehaviorくっつけてって感じでやる風になりそうな気がするなぁ。