Class: XRLayerSystem
Defined in: packages/core/src/layers/xr-layer-system.ts:90
XRLayerSystem manages WebXR quad and cylinder composition layers.
For each entity with an XRQuadLayer or XRCylinderLayer component, the system:
- Creates a mesh (plane or cylinder) as a child of the entity's object3D
- Renders layer content each frame via the component's
renderCallback - In XR sessions with layer support, creates native XR composition layers and switches the mesh to a punch-through material that makes the projection layer transparent where the content layer appears
- Falls back to rendering the content onto a textured mesh outside XR
Extends
System<SystemSchema, {activeLayers: {required:Component<{cachedTransform: {default:any;type:Object; };fallbackMaterial: {default:any;type:Object; };isQuad: {default:true;type:Boolean; };mesh: {default:any;type:Object; };pixelHeight: {default:number;type:Int16; };pixelWidth: {default:number;type:Int16; };renderTarget: {default:any;type:Object; };stencil: {default:false;type:Boolean; };xrLayer: {default:any;type:Object; }; }>[]; };cylinderLayers: {required:Component<{aspectRatio: {default:number;type:Float32; };centralAngle: {default:number;type:Float32; };pixelHeight: {default:number;type:Int16; };pixelWidth: {default:number;type:Int16; };radius: {default:number;type:Float32; };renderCallback: {default:any;type:Object; };stencil: {default:false;type:Boolean; }; }>[]; };quadLayers: {required:Component<{height: {default:number;type:Float32; };pixelHeight: {default:number;type:Int16; };pixelWidth: {default:number;type:Int16; };renderCallback: {default:any;type:Object; };stencil: {default:false;type:Boolean; };width: {default:number;type:Float32; }; }>[]; }; },this>
Constructors
Constructor
new XRLayerSystem(
_w,_qm,_p):XRLayerSystem
Defined in: node_modules/.pnpm/elics@3.4.2/node_modules/elics/lib/system.d.ts:76
Parameters
_w
_qm
QueryManager
_p
number
Returns
XRLayerSystem
Inherited from
createSystem({ quadLayers: { required: [XRQuadLayer] }, cylinderLayers: { required: [XRCylinderLayer] }, activeLayers: { required: [XRLayerState] }, }).constructor
Properties
camera
readonlycamera:PerspectiveCamera
Defined in: packages/core/src/ecs/system.ts:60
Inherited from
cleanupFuncs
readonlycleanupFuncs: () =>void[]
Defined in: packages/core/src/ecs/system.ts:63
Returns
void
Inherited from
config
config:
SystemConfigSignals<S>
Defined in: packages/core/src/ecs/system.ts:48
Inherited from
createEntity()
createEntity: () =>
Entity
Defined in: packages/core/src/ecs/system.ts:69
Returns
Entity
Inherited from
globals
globals:
Record<string,any>
Defined in: packages/core/src/ecs/system.ts:53
Inherited from
input
readonlyinput:XRInputManager
Defined in: packages/core/src/ecs/system.ts:58
Inherited from
isPaused
isPaused:
boolean
Defined in: packages/core/src/ecs/system.ts:47
Inherited from
player
readonlyplayer:XROrigin
Defined in: packages/core/src/ecs/system.ts:57
Inherited from
priority
priority:
number
Defined in: packages/core/src/ecs/system.ts:52
Inherited from
queries
queries:
Record<keyofQ,Query>
Defined in: packages/core/src/ecs/system.ts:49
Inherited from
queryManager
queryManager:
QueryManager
Defined in: packages/core/src/ecs/system.ts:51
Inherited from
renderer
readonlyrenderer:WebGLRenderer
Defined in: packages/core/src/ecs/system.ts:61
Inherited from
scene
readonlyscene:Scene
Defined in: packages/core/src/ecs/system.ts:59
Inherited from
visibilityState
readonlyvisibilityState:Signal<VisibilityState>
Defined in: packages/core/src/ecs/system.ts:62
Inherited from
world
world:
World
Defined in: packages/core/src/ecs/system.ts:50
Inherited from
xrFrame
xrFrame:
XRFrame
Defined in: packages/core/src/ecs/system.ts:55
Inherited from
xrManager
xrManager:
WebXRManager
Defined in: packages/core/src/ecs/system.ts:54
Inherited from
Methods
init()
init():
void
Defined in: packages/core/src/layers/xr-layer-system.ts:97
Returns
void
Overrides
play()
play():
void
Defined in: packages/core/src/ecs/system.ts:67
Returns
void
Inherited from
stop()
stop():
void
Defined in: packages/core/src/ecs/system.ts:68
Returns
void
Inherited from
update()
update():
void
Defined in: packages/core/src/layers/xr-layer-system.ts:122
Returns
void