Class: EnvironmentSystem
Defined in: packages/core/src/environment/environment-system.ts:70
Unified background and image‑based lighting system.
Remarks
- Background is driven by DomeTexture (HDR/LDR equirect) or DomeGradient (procedural sphere) and writes to
scene.background. - IBL is driven by IBLTexture ("room" or HDR/LDR equirect via PMREM) or IBLGradient (PMREM of a gradient scene) and writes to
scene.environment. - Rotation and intensity hooks forward to
scene.backgroundRotation,scene.backgroundIntensity, andscene.environmentRotation,scene.environmentIntensity. - In immersive AR, background visuals are hidden while environment lighting remains active.
- PMREM targets are regenerated only when sources change; the dome mesh and geometry are reused.
Example
// Background: HDR skybox; IBL: Room environment
const root = world.activeLevel!.value;
root.addComponent(DomeTexture, { src: '/envs/sky.hdr', intensity: 0.9 });
root.addComponent(IBLTexture, { src: 'room', intensity: 1.2 });
// Rotate background 45° around Y; rotate IBL 90°
root.setValue(DomeTexture, 'rotation', [0, Math.PI / 4, 0]);
root.setValue(IBLTexture, 'rotation', [0, Math.PI / 2, 0]);
root.setValue(DomeTexture, '_needsUpdate', true);
root.setValue(IBLTexture, '_needsUpdate', true);Extends
System<SystemSchema, {domeGradients: {required:Component<{ }>[]; };domeTextures: {required:Component<{ }>[]; };iblGradients: {required:Component<{ }>[]; };iblTextures: {required:Component<{ }>[]; }; },this>
Constructors
Constructor
new EnvironmentSystem(
_w,_qm,_p):EnvironmentSystem
Defined in: node_modules/.pnpm/elics@3.3.0/node_modules/elics/lib/system.d.ts:73
Parameters
_w
_qm
QueryManager
_p
number
Returns
EnvironmentSystem
Inherited from
createSystem({ domeTextures: { required: [DomeTexture, LevelRoot] }, domeGradients: { required: [DomeGradient, LevelRoot] }, iblTextures: { required: [IBLTexture, LevelRoot] }, iblGradients: { required: [IBLGradient, LevelRoot] }, }).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/environment/environment-system.ts:81
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/environment/environment-system.ts:98
Returns
void