Composition Layerコンポーネント
Interactionプレハブには、コンテンツをレンダリングするためにComposition Layersを使用するGaze Pointerプレハブが含まれています。
Gaze Pointer
Gaze Pointerは、以下のゲームオブジェクトで構成されます。
XR Gaze Interactorオブジェクトには、Spaces Composition Layerコンポーネントがあります。これは、ビューロックされたコンテンツを表示するQuad Layerを作成します。UI Overlay Cameraオブジェクトと組み合わせることで、ポインターの安定性と明瞭性を向上させる方法で、Gaze PointerのUIエレメントをレンダリングします。
サポートされるレンダラー
Spaces Composition Layerコンポーネントは、グラフィックスAPIとしてOpenGLES3を使用する場合のみサポートされ、Vulkanはサポートされません。
現在選択されているグラフィックスAPIは、Project Settings > Player > Other Settings > Rendering > Graphics APIs
で確認できます。
Layer Rendering
- Layer Texture:ビューロックされたQuadレイヤーにレンダリングされるレンダーテクスチャ。
- Is Texture Dynamic:テクスチャはフレームごとに更新されます。
Layer Positioning
- Use Transform:チェックした場合、レイヤーは位置と向きにこのオブジェクトのTransformコンポーネントを使用します。Quadレイヤーは
Size
を無視し、代わりにTransform.localScale
を使用します。 - Orientation:Main Cameraのビューに対するレイヤーの向き。すべてのレイヤーは裏面カリングの対象となり、裏向きの面は破棄されます。
- Position:ワールド空間座標でのレイヤーの位置。
- Sorting Order:レイヤーがレンダリングされる順番。数字が小さいほど下のレイヤーを表します。負の数を持つレイヤーは、投影レイヤーの「下」にレンダリングされます。Spherical(Equirect)やCubeなど、主にスカイボックスとして使用されるレイヤーにお勧めです。詳細はSorting Orderを参照してください。
Layer Data
- Size:Quadレイヤー特有で、レンダリングするQuadレイヤーのサイズをメートル単位で表します。
サンプル構成
Snapdragon Spaces SDKのサンプルでは、ビューロックされた視線ポインタは次のように設定されています。
- Spaces Composition Layerは10cm×10cmのQuadレイヤーで構成され、Main Cameraの前方2mの位置に合成されます。
- このレイヤーにUI Overlay Render Textureの内容が描画されます。
- この画像の内容はUI Overlay CameraのTarget Textureフィールドに取り込まれます。
- カメラはCulling Maskを使用して、UI Overlayレイヤーのコンテンツだけをキャプチャーします。
- UI Overlayレイヤー上の要素は、Reticle Canvasオブジェクトとその子だけです。
- Reticle CanvasのRender CameraプロパティはUI Overlay Cameraに設定されています。
Spaces Composition Layerコンポーネントは、必要に応じて静的テクスチャまたは動的テクスチャを設定できます。コンポーネントを有効/無効にすると、レンダリングするコンテンツが非表示/表示されます。