ハンドフィルタリング
はじめに
この機能により、ユーザーはインタラクション可能な オブジェクトに対するインタラクションをフィルタリングできます。これは、インタラクション可能なオブジェクトを選択するときに追加の検証チェックを処理できるIXRSelectFilterXR Hand Filter
のカスタム実装です。
説明
インタラクション可能なオブジェクトを選択する際、XRハンドコントローラによって定められた利き手とジェスチャーに対してXRハンドフィルタが実行されます。開発者は、どの手とジェスチャーでオブジェクトとインタラクションできるかを選択できます。実行時、インタラクターはインタラクト可能なオブジェクトを選択する前にフィルタをチェックします。デフォルトでは、XRコントローラがXRハンドコントローラでない場合、フィルタリングは行われず、インタラクト可能なオブジェクトが選択されます。
ハンドフィルタリングの設定方法
次のステップに従うだけで、どの手とジェスチャーでオブジェクトを操作できるかを選択できます。
-
オブジェクトに XR Hand Filter コンポーネントを追加します。オブジェクトに XR Grab Interactable コンポーネントを追加します。
-
Select Hand(手の選択)フィールドで、Both(両方)、Right(右)、Left(左)を選択し、オブジェクトとインタラクションできる手を定義します。
-
Select Gestureフィールドで、Both、Grab、Pinchを選択し、どのジェスチャーがこのオブジェクトとインタラクションできるかを定義します。
つまむジェスチャーは、XRHandControllersのSelectAction
の参照にマップされたtriggerPressed
アクションで定義されます。
つかむジェスチャーは、XRHandControllersのOptionalSelectAction
にマップされたgripPressed
アクションで定義されます。
例
青い立方体は両手で選択する必要がありますが、選択できるのはつかむジェスチャーのみです。インタラクション可能なオブジェクトは次のようになります。