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
readonly
camera:PerspectiveCamera
Defined in: packages/core/src/ecs/system.ts:60
Inherited from
cleanupFuncs
readonly
cleanupFuncs: () =>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
readonly
input: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
readonly
player: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
readonly
renderer:WebGLRenderer
Defined in: packages/core/src/ecs/system.ts:61
Inherited from
scene
readonly
scene:Scene
Defined in: packages/core/src/ecs/system.ts:59
Inherited from
visibilityState
readonly
visibilityState: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