Class: DepthSensingSystem
Defined in: packages/core/src/depth/depth-sensing-system.ts:58
DepthSensingSystem - Manages WebXR depth sensing and occlusion.
Remarks
- Automatically retrieves and processes depth data from WebXR sessions.
- Supports both CPU-optimized and GPU-optimized depth sensing.
- Enables occlusion of virtual objects behind real-world surfaces.
- Requires WebXR session feature: 'depth-sensing'. NOTE: The depth occlusion feature may not be compatible with custom shaders.
Examples
// Configure world with depth sensing
World.create(document.getElementById('scene-container'), {
xr: {
sessionMode: SessionMode.ImmersiveAR,
features: {
depthSensing: { usage: 'gpu-optimized', format: 'float32' }
},
}
})
// Add the depth sensing system
world.registerSystem(DepthSensingSystem)const cube = world.createTransformEntity(cubeObject)
cube.addComponent(DepthOccludable) // Will be occluded by real-world geometrySee
Extends
System<{blurRadius: {default:number;type:Float32; };enableDepthTexture: {default:true;type:Boolean; };enableOcclusion: {default:true;type:Boolean; };useFloat32: {default:true;type:Boolean; }; }, {occludables: {required:Component<{mode: {default:string;enum: {HardOcclusion:string;MinMaxSoftOcclusion:string;SoftOcclusion:string; };type:Enum; }; }>[]; }; },this>
Constructors
Constructor
new DepthSensingSystem(
_w,_qm,_p):DepthSensingSystem
Defined in: node_modules/.pnpm/elics@3.4.2/node_modules/elics/lib/system.d.ts:76
Parameters
_w
_qm
QueryManager
_p
number
Returns
DepthSensingSystem
Inherited from
createSystem( { occludables: { required: [DepthOccludable] }, }, { enableOcclusion: { type: Types.Boolean, default: true }, enableDepthTexture: { type: Types.Boolean, default: true }, useFloat32: { type: Types.Boolean, default: true }, blurRadius: { type: Types.Float32, default: 20.0 }, }, ).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
cpuDepthData
cpuDepthData:
XRCPUDepthInformation[] =[]
Defined in: packages/core/src/depth/depth-sensing-system.ts:72
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
gpuDepthData
gpuDepthData:
XRWebGLDepthInformation[] =[]
Defined in: packages/core/src/depth/depth-sensing-system.ts:73
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
Accessors
rawValueToMeters
Get Signature
get rawValueToMeters():
number
Defined in: packages/core/src/depth/depth-sensing-system.ts:85
Get the raw value to meters conversion factor.
Returns
number
Methods
init()
init():
void
Defined in: packages/core/src/depth/depth-sensing-system.ts:94
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/depth/depth-sensing-system.ts:341
Returns
void