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

基本的なインタラクション設定

基本的なシーンの設定が完了すると、ユーザーは自分の手を視覚化できるようになりますが、周囲の仮想のオブジェクトなどを操作することはまだ出来ません。
これを有効にするには、以下で説明するハンドトラッキングのインタラクションの基本的な設定を行います。

シーンのアーキテクチャ

可視化

XR Hand Tracking Managerを作成すると、左右のフィールドに 2つのプレハブが自動的に設定されます。これらのプレハブは手の可視化のみを目的としています。
手のプレハブのゲームオブジェクトには、ハンドメッシュの可視化とスキニングメッシュの関節位置の更新を担当するHand Rigged VisualizerHand Driverコンポーネントがあります。

QCHTインタラクションは完全にXRITパッケージに基づいています。

インタラクションのプロファイル

QCHTIHand Interaction ProfileMicrosoft Hand Interaction Profileをサポートしています。

インタラクションのプロファイルが選択されていない、または実行時にインタラクションのプロファイルをサポートしていない場合、QCHTIはカスタムHand Tracking Input Deviceにフォールバックし、入力システムデバイスマップにXRコントローラーとして登録されます。

フォールバック時に利用可能なコントロールは次のとおりです。

Unityのコントロール名エイリアス
isTrackedBoolean
trackingStateFlag
devicePositionVector3
deviceRotationQuaternion
pokePositionVector3
pokeRotationQuaternion
pinchPositionVector3
pinchRotationQuaternion
graspPositionVector3
graspRotationQuaternion
pointerPositionVector3
pointerRotationQuaternion
triggerFloatselect
triggerPressedBooleanselectPressed, triggerButton
gripFloatsqueeze
gripPressedBooleansqueezePressed, gripButton

遠くのインタラクション近くのインタラクションを有効にするには、最初からハンド用のカスタムXRITコントローラーを追加する必要があります。

シーンのHierarchyを右クリックし、QCHT > Hand Tracking Controllersを選択して、Hand Tracking Controllersのゲームオブジェクトをシーンに追加します。
alt text

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

各コントローラーは、XR Ray InteractorXR Poke Interactor、および2つのXR Direct Interactorコンポーネントを定義済みのセットアップで集約します。これらのコンポーネントは高度に構成可能です。 ただし、入力アクションのマッピングはこれらのコントローラーで事前に設定されていません。

TIP

Core Assetsを使用して、デフォルトの入力アクションのマッピングを持つXRリグをセットアップすることを、おすすめします。

XR Hand Controller (非推奨)

XR Hand Controllerコンポーネントは、XR インタラクション ツールキット パッケージのXR Action Base Controllerのカスタム実装です。
XR Hand Controllerは、基盤となるハンドトラッキングのサブシステムに直接マップされた新しいInput Systemからの入力アクションの処理を担当します。

このXR Action Base Controllerのカスタム実装は、追加のグラブアクションとコントローラーの利き手を定義します。これは、インタラクションのフィルター処理に役立ちます。 alt text

WARNING

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