インタラクションレイヤー
インタラクションレイヤーは、どのインタラクターがどのインタラクタブルに影響を及ぼすかをフィルタリングするメカニズムとして使用されます。Interaction Layer Mask プロパティで少なくとも 1 つのインタラクションレイヤーを共有するインタラクターとインタラクタブルは、インタラクションを行うことができます。Interaction Layer Mask プロパティでインタラクションレイヤーを 1 つも共有していないインタラクターとインタラクタブルは、インタラクションをすることができません。マスク比較では、インタラクターまたはインタラクタブルのゲームオブジェクトヘッダーのレイヤーセットを考慮せず、Interaction Layer Mask のみを考慮します。
新しいインタラクションレイヤーを追加するには、Project Settings ウィンドウで Interaction Layers を編集します。これらのレイヤーは、Edit > Project Settings > Tags and Layers で定義される物理演算レイヤーとは無関係です。
Interaction Layer Mask は、インタラクターとインタラクタブルが選択やホバーといったステートの変化を通じてインタラクションをすることができるかどうかを指定します。Interaction Layer Mask はインタラクターとインタラクタブルの両方で設定することができます。インタラクターはデフォルトですべてのレイヤーとインタラクションを行い、インタラクタブルはデフォルトで Default
ビルトインレイヤーとインタラクションを行います。
XR Ray Interactor はインタラクションレイヤーと物理演算レイヤーの両方を活用します。Interaction Layer Mask プロパティはすべてのインタラクターに共通で、前に説明したフィルタリングに使用されます。しかし、Raycast Mask プロパティは XR Ray Interactor に固有で、レイキャストの際にヒットするコライダーを限定する用途を持つ LayerMask です。インタラクタブルの Collider コンポーネントのゲームオブジェクトヘッダーに含まれる Layer は、レイキャストがそれをヒットできるかどうかを決定します。インタラクタブルのコンポーネントを持たない他のゲームオブジェクトもある役割を果たします。なぜなら、ヒットするものは何でも、その背後のインタラクタブルが有効なターゲットになることを妨げるからです。
XR Direct Interactor も同様にインタラクションレイヤーと物理演算レイヤーの両方を使用します。Edit > Project Settings > Physics の Layer Collision Matrix は、XR Direct Interactor ゲームオブジェクトのトリガー Collider がインタラクタブルの Collider コンポーネントとのあらゆる衝突を検出するかどうかを決定します。
インタラクションレイヤーの設定
インタラクションレイヤーを追加または削除するには、Edit > Project Settings > XR Interaction Toolkit を使用して、Interaction Layers の下のフィールドを編集します。
設定内容は、プロジェクトの Assets/XRI/Settings/Resources
フォルダーに含まれるアセットに格納されます。このフォルダーにある InteractionLayerSettings
アセットファイルを移動したり名前を変更したりしないでください。プロジェクトの相対パスは、更新や作成の際に内部的に使用されます。アセットを削除すると、必要に応じて、デフォルト値を持つ新しいアセットが同じ場所に作成されます。
インタラクションレイヤーマスクのアップデーター
XR Interaction Toolkit 2.0.0 より前のバージョンからプロジェクトをアップグレードする場合は、インタラクタブルとインタラクターのインタラクションレイヤーマスクを更新することをお勧めします。この更新は、パッケージのインストール後に表示される下図のダイアログボックスから実行するか、Edit > Project Settings > XR Interaction Toolkit で Run Interaction Layer Mask Updater をクリックして実行します。I Made a Backup, Go Ahead! (バックアップを作成したので続行する) を選択すると、プロジェクトをスキャンし、使用されたレイヤーを検出してインタラクションレイヤーに変換することができます。