Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

HoloLens でオブジェクトのないところの AirTap を検出したい

$
0
0

ものをAirTapしたときの処理は、前の記事でやりました。

blog.okazuki.jp

今度は何もないところを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からカーソルが外れてるであろうところを見た状態にして…

f:id:okazuki:20170816234026p:plain

ぽちっとな

f:id:okazuki:20170816234100p:plain

できた!

多分普通は見えないGameObject作って、そこにBehaviorくっつけてって感じでやる風になりそうな気がするなぁ。


Viewing all articles
Browse latest Browse all 1387

Trending Articles