Skip to content

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, and scene.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

ts
// 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

World

_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

System.camera


cleanupFuncs

readonly cleanupFuncs: () => void[]

Defined in: packages/core/src/ecs/system.ts:63

Returns

void

Inherited from

System.cleanupFuncs


config

config: SystemConfigSignals<S>

Defined in: packages/core/src/ecs/system.ts:48

Inherited from

System.config


createEntity()

createEntity: () => Entity

Defined in: packages/core/src/ecs/system.ts:69

Returns

Entity

Inherited from

System.createEntity


globals

globals: Record<string, any>

Defined in: packages/core/src/ecs/system.ts:53

Inherited from

System.globals


input

readonly input: XRInputManager

Defined in: packages/core/src/ecs/system.ts:58

Inherited from

System.input


isPaused

isPaused: boolean

Defined in: packages/core/src/ecs/system.ts:47

Inherited from

System.isPaused


player

readonly player: XROrigin

Defined in: packages/core/src/ecs/system.ts:57

Inherited from

System.player


priority

priority: number

Defined in: packages/core/src/ecs/system.ts:52

Inherited from

System.priority


queries

queries: Record<keyof Q, Query>

Defined in: packages/core/src/ecs/system.ts:49

Inherited from

System.queries


queryManager

queryManager: QueryManager

Defined in: packages/core/src/ecs/system.ts:51

Inherited from

System.queryManager


renderer

readonly renderer: WebGLRenderer

Defined in: packages/core/src/ecs/system.ts:61

Inherited from

System.renderer


scene

readonly scene: Scene

Defined in: packages/core/src/ecs/system.ts:59

Inherited from

System.scene


visibilityState

readonly visibilityState: Signal<VisibilityState>

Defined in: packages/core/src/ecs/system.ts:62

Inherited from

System.visibilityState


world

world: World

Defined in: packages/core/src/ecs/system.ts:50

Inherited from

System.world


xrFrame

xrFrame: XRFrame

Defined in: packages/core/src/ecs/system.ts:55

Inherited from

System.xrFrame


xrManager

xrManager: WebXRManager

Defined in: packages/core/src/ecs/system.ts:54

Inherited from

System.xrManager

Methods

init()

init(): void

Defined in: packages/core/src/environment/environment-system.ts:81

Returns

void

Overrides

System.init


play()

play(): void

Defined in: packages/core/src/ecs/system.ts:67

Returns

void

Inherited from

System.play


stop()

stop(): void

Defined in: packages/core/src/ecs/system.ts:68

Returns

void

Inherited from

System.stop


update()

update(): void

Defined in: packages/core/src/environment/environment-system.ts:98

Returns

void

Overrides

System.update