本日は MRTK の小ネタ枠です。
MRTKを使って任意のオブジェクトに触れた時に発生するイベントを登録する手順を記事にします。
前提条件
前回記事の続きです。
Interactable コンポーネントと新たに コンポーネントを利用します。
bluebirdofoz.hatenablog.com
NearInteractionTouchable
Pointer がオブジェクトに触れるたびに PointerDown イベントと PointerUp イベントを取得するタッチ可能なサーフェスを構成します。
docs.microsoft.com
サンプルプロジェクトの作成
MRTK をインポートしたサンプルプロジェクトを作成します。
MRTK のインポートと基本設定
MRTK のインポートと HoloLens 向けプロジェクトの基本設定を行い、サンプルプロジェクトを作成します。
手順の詳細は以下の記事を参照してください。
bluebirdofoz.hatenablog.com
サンプルシーンの作成
シーンには任意のオブジェクトとして Cube オブジェクトを作成しました。
[Add Componet]から[Interactable]コンポーネントを選択してオブジェクトに追加します。
[Receivers]パネルを開き、[Add Event]をクリックして受け取りイベントを追加します。
Receiver を追加したら[EventReceiverType]に[InteractableOnTouchReceiver]を設定します。
[OnTouch]イベントの設定欄が表示されます。
Cube オブジェクトの LookAt 関数を指定し、Touch イベント発生時にカメラ方向を向くように設定しました。
最後にオブジェクトに触れた時に Touch イベントが発生するように[Add Componet]から[NearInteractionTouchable]コンポーネントを選択して追加します。
[NearInteractionTouchable]コンポーネントのアタリ判定を Collider に一致させるため[Fix Bounds]と[Fix Center]ボタンをクリックします。
これでオブジェクトに触れた時にイベントが発生するようになりました。
動作確認
シーンを再生して動作を確認します。
適当な方向から Cube オブジェクトに触れると [OnTouch]イベントが実行され、Cube オブジェクトがこちらを向きます。