MRが楽しい

MRやVRについて学習したことを書き残す

MRTKを使って任意のオブジェクトにクリックイベントを登録する

本日は MRTK の小ネタ枠です。
MRTKを使って任意のオブジェクトにクリックイベントを登録する手順を記事にします。
f:id:bluebirdofoz:20211013231502j:plain

Interactable

任意のオブジェクトにクリックイベントを登録するには Interactable コンポーネントを利用します。
Interactable は任意のオブジェクトを対話可能にし、入力に応答させるコンテナです。
タッチ、ハンドレイ、音声などを含む全ての種類の入力をキャッチできます。
またオブジェクトの状態に対応したビジュアルテーマの設定も可能です。
docs.microsoft.com

サンプルプロジェクトの作成

MRTK をインポートしたサンプルプロジェクトを作成します。

MRTK のインポートと基本設定

MRTK のインポートと HoloLens 向けプロジェクトの基本設定を行い、サンプルプロジェクトを作成します。
手順の詳細は以下の記事を参照してください。
bluebirdofoz.hatenablog.com

サンプルシーンの作成

シーンには任意のオブジェクトとして Cube オブジェクトを作成しました。
f:id:bluebirdofoz:20211013231528j:plain

[Add Componet]から[Interactable]コンポーネントを選択してオブジェクトに追加します。
f:id:bluebirdofoz:20211013231538j:plain

[OnClick]イベントに LookAt 関数を指定し、Select アクション発生時にカメラ方向を向くように設定しました。
f:id:bluebirdofoz:20211013231546j:plain

動作確認

シーンを再生して動作を確認します。
f:id:bluebirdofoz:20211013231557j:plain

適当な方向から Cube オブジェクトをタップすると Cube オブジェクトの[OnClick]イベントが実行され、Cube オブジェクトがこちらを向きます。
f:id:bluebirdofoz:20211013231606j:plain

[Interactable]コンポーネントの設定を変更することで MRTK を通して様々な入力をキャッチすることができます。
例えば[SpechCommand]を設定すると音声コマンドで[OnClick]イベントを実行することができます。
f:id:bluebirdofoz:20211013231614j:plain