メインコンテンツまでスキップ
バージョン: 1.0.1

Interactionコンポーネント

XR Interaction Manager

InteractorsとInteractables間の接続を確立するために、シーンごとに少なくとも1つのXR Interaction Managerが必要です。

Input Actionは、Input Action Managerを通して有効にする必要があります。手動で追加するには、Input Action ManagerコンポーネントのAction AssetsInput Actionアセットを追加します。これらのアセットは、サンプルフォルダのShared Assets > Input Actionsにあります。
alt text

Controller Manager

Controller Managerは、QCHTIサンプルを除き、サンプル全体を通してインタラクションに使用されるシンプルなプレハブです。以下のゲームオブジェクトで構成されています。
alt text

XR Controller Managerは、接続されているInputDeviceに基づいて、アプリケーションで使用するXRControllerProfileをフィルタリングします。Microsoft Mixed Reality Motion Controller ProfileまたはOculus Touch Controller ProfileについてはUnityのドキュメントを参照してください。

Host Controllerが使用されている場合、Device Pointerがアクティブになります。Device PointerにはHost Controllerのメッシュと入力参照が含まれます。
2つのコントローラを持つVRデバイスを使用している場合、XR Controllersオブジェクトがアクティブになります。
XR Controllersプレハブには、XR Controller (Action Based Controller)コンポーネントと、各コントローラーのプレハブへの参照と特定の入力参照を持つ、左右のコントローラ用の2つのゲームオブジェクトが含まれます。

Interactionプレハブ

Interactionプレハブはより複雑なプレハブで、異なるインタラクションメソッドを切り替えるために使用できます。
Snapdragon Spacesのサンプルに含まれており、現在サポートされている異なるインタラクションのメソッド用の3つのプレハブが含まれています。XR Interaction Toolkitのサンプルシーンは、このプレハブとコンポーネントの使用例として使用できます。
alt text

Interaction Managerコンポーネントはこのプレハブのルートのオブジェクトにあります。このコンポーネントには、異なるインタラクション入力モダリティ用のメソッドと、入力インタラクションの切り替えを処理するコードが含まれています。

ARデバイスの場合、デフォルトの設定ではHand Trackingで開始し、QCHTパッケージが Unityプロジェクトに含まれていない場合や、Hand Trackingが対象のデバイスと互換性がない場合はGaze Pointerにフォールバックします。
そうでない場合は、Hand Tracking > Gaze Pointer > Device Inputの順に切り替わります。

ハンドトラッキング

関連する情報は、QCHTのハンドトラッキングの章にあります。

Gaze Pointer

Gaze Pointerプレハブは、以下のゲームオブジェクトで構成されます。
alt text

Gaze Interaction UIコンポーネントは、XR Gaze Interactorオブジェクトに追加されます。このコンポーネントは、XR Gaze Interactorコンポーネントとシーン内のUIオブジェクトとのインタラクションを管理し、ポインターのタイマー時間やクリック機能を管理します。

Gaze Pointerの制限事項

現在、Gaze Pointerは、UIと3Dオブジェクトの両方とインタラクトできるPointer Controllerとは異なり、XR Simple Interactableコンポーネントを持つシーン内のUIオブジェクトとしかインタラクトできません。

XR Gaze Interactorプレハブには Spaces Composition Layerコンポーネントもあります。Composition Layerを使用してビューロックされたコンテンツをレンダリングする方法については、Gaze PointerのComposition Layerのサンプルを参照してください。

入力に関する表

以下の表はInput Actionに使用されるボタンをまとめたものです。

Host Controller
選択トラックパッドのタップ
Gaze/Pointerの切り替えメニューボタン
タッチパッドトラックパッド
アンカー位置の確認トラックパッドのタップ

Controller Haptics

Controller Hapticsは、Interaction ManagerのSendHapticImpulse関数を介してXR Controller Managerに送信されます。SendHapticImpulseが呼び出されると、UIボタン押下時またはスクロール時に、ホストコントローラーでハプティックインパルスがトリガーされます。

Spaces Hand Tracking Button Binding

XR Interaction Toolkitのサンプルの各ボタン、トグル、スライダーのプレハブにはSpaces Hand Tracking Button Bindingコンポーネントがあり、不要なXR Simple Interactableコンポーネントや、Hand Tracking以外のインタラクションメソッド用のSnapping Volumesを無効にすることができます。

インタラクションパッケージ

Snapdragon Spacesのプラグインは様々なインタラクションパッケージと連動します。これらのプラグインを使用する方法については、各ページを参照してください。