基本的なインタラクション設定
基本的なシーンの設定が完了すると、ユーザーは自分の手を視覚化できるようになりますが、周囲の仮想のオブジェクトなどを操作することはまだ出来ません。
これを有効にするには、以下で説明するハンドトラッキングのインタラクションの基本的な設定を行います。
シーンのアーキテクチャ
可視化
XR Hand Tracking Managerを作成すると、左右のフィールドに 2つのプレハブが自動的に設定されます。これらのプレハブは手の可視化のみを目的としています。
手のプレハブのゲームオブジェクトには、ハンドメッシュの可視化とスキニングメッシュの関節位置の更新を担当するHand Rigged VisualizerとHand Driverコンポーネントがあります。
QCHTインタラクションは完全にXRITパッケージに基づいています。
インタラクションのプロファイル
QCHTIはHand Interaction ProfileとMicrosoft Hand Interaction Profileをサポートしています。
インタラクションのプロファイルが選択されていない、または実行時にイン タラクションのプロファイルをサポートしていない場合、QCHTIはカスタムHand Tracking Input Deviceにフォールバックし、入力システムデバイスマップにXRコントローラーとして登録されます。
フォールバック時に利用可能なコントロールは次のとおりです。
| Unityのコントロール名 | 型 | エイリアス |
|---|---|---|
| isTracked | Boolean | |
| trackingState | Flag | |
| devicePosition | Vector3 | |
| deviceRotation | Quaternion | |
| pokePosition | Vector3 | |
| pokeRotation | Quaternion | |
| pinchPosition | Vector3 | |
| pinchRotation | Quaternion | |
| graspPosition | Vector3 | |
| graspRotation | Quaternion | |
| pointerPosition | Vector3 | |
| pointerRotation | Quaternion | |
| trigger | Float | select |
| triggerPressed | Boolean | selectPressed, triggerButton |
| grip | Float | squeeze |
| gripPressed | Boolean | squeezePressed, gripButton |
遠くのインタラクションや近くのインタラクションを有効にするには、最初からハンド用のカスタムXRITコントローラーを追加する必要があります。
シーンのHierarchyを右クリックし、QCHT > Hand Tracking Controllersを選択して、Hand Tracking Controllersのゲームオブジェクトをシ ーンに追加します。

Hand Tracking Controllersの2つのインスタンスが、XR Origin(またはAR Session)の子として自動的に追加されます。

各コントローラーは、XR Ray InteractorとXR Poke Interactor、および2つのXR Direct Interactorコンポーネントを定義済みのセットアップで集約します。これらのコンポーネントは高度に構成可能です。
ただし、入力アクションのマッピングはこれらのコントローラーで事前に設定されていません。
Core Assetsを使用して、デフォルトの入力アクションのマッピングを持つXRリグをセットアップすることを、おすすめします。
XR Hand Controller (非推奨)
XR Hand Controllerコンポーネントは、XR インタラクショ ン ツールキット パッケージのXR Action Base Controllerのカスタム実装です。
XR Hand Controllerは、基盤となるハンドトラッキングのサブシステムに直接マップされた新しいInput Systemからの入力アクションの処理を担当します。
このXR Action Base Controllerのカスタム実装は、追加のグラブアクションとコントローラーの利き手を定義します。これは、インタラクションのフィルター処理に役立ちます。

このコンポーネントは、近接インタラクションが2つの直接インタラクタ (つまむインタラクション用、つかむインタラクション用) に分割されたため、非推奨になりました。新しいセットアップの詳細については、Core AssetsのXRリグを参照してください。