Zum Hauptinhalt springen

Licht

Beschreibung

Diese Komponente lässt eine Entität Licht ausstrahlen.

Eigenschaften

EigenschaftTypStandardBeschreibung
type (erforderlich)StringRichtungsweisendUnterstützte Typen sind: "gerichtet", "Punkt" und "Umgebung".
castShadowbooleantrueWenn die Lichtquelle Schatten werfen soll.
IntensitätNummer0.5Die Emissionsstärke.
rNummer (0-255)255Die Menge an Rot, die das Licht ausstrahlt.
gNummer (0-255)255Die Menge an Grün, die das Licht ausstrahlt.
bNummer (0-255)255Die Menge an blauem Licht, die das Licht ausstrahlt.
shadowBiasNummer-0.005Wie viel von der normalisierten Tiefe addiert oder subtrahiert werden soll, wenn entschieden wird, ob eine Fläche im Schatten liegt.
shadowNormalBiasNummer0Wie stark die Position, die zur Abfrage der Schattenkarte verwendet wird, entlang der Objektnormalen versetzt ist.
shadowRadiusNummer1Der Radius des Schattens
shadowAutoUpdatebooleantrueSoll der Schatten automatisch berechnet und aktualisiert werden?
shadowBlurSamplesNummer8Die Anzahl der Samples, die für die Berechnung der virtuellen Schattenkarte verwendet werden sollen.
shadowMapSizeHeightNummer1024Die Höhe der Schattenkarte. (Werte müssen Potenzen von 2 sein)
shadowMapSizeWidthNummer1024Die Breite der Schattenkarte. (Werte müssen Potenzen von 2 sein)
shadowCameraNearNummer0.5Kamerastumpf in der Nähe des Fensters für die Schattenberechnung
shadowCameraFarNummer200Kamerastumpf-Fernausschnitt für die Berechnung von Schatten
shadowCameraLeftNummer-50Linker Bereich des Kamerastumpfes für die Schattenberechnung
shadowCameraRightNummer50Rechter Kamerastumpf für die Schattenberechnung
shadowCameraBottomNummer-50Unterer Bereich des Kamerastumpfes für die Berechnung von Schatten
shadowCameraTopNummer50Oberer Bereich des Kamerastumpfes für die Schattenberechnung
ZielXNummer0Die Ziel-X-Koordinate des Lichts (nur Richtungslicht)
ZielYNummer0Die Y-Zielkoordinate des Lichts (nur Richtungslicht)
ZielZNummer0Die Ziel-Z-Koordinate des Lichts (nur Richtungslicht)

Funktionen

Get

Returns a read-only reference.

Example

ecs.Licht.get(world, component.eid)

Set

Ensures the component exists on the entity, then assigns the (optional) data to the component.

Example

ecs.Licht.set(world, component.eid, {
type: 'directional',
castShadow: true,
intensity: 0.5,
r: 255,
g: 255,
b: 255,
shadowBias: -0.005,
shadowNormalBias: 0,
shadowRadius: 1,
shadowAutoUpdate: true,
shadowBlurSamples: 8,
shadowMapSizeHeight: 1024,
shadowMapSizeWidth: 1024,
shadowCameraNear: 0.5,
shadowCameraFar: 200,
shadowCameraLeft: -50,
shadowCameraRight: 50,
shadowCameraBottom: -50,
shadowCameraTop: 50,
targetX: 0,
targetY: 0,
targetZ: 0
})

Mutate

Perform an update to the component within a callback function. Return true to indicate no changes made.

Example

ecs.Licht.mutate(world, component.eid, (cursor) => {
cursor.intensity = 1.0;
cursor.castShadow = false;
return false;
})

Remove

Removes the component from the entity.

Example

ecs.Licht.remove(world, component.eid)

Has

Returns true if the component is present on the entity.

Example

ecs.Licht.has(world, component.eid)

Reset

Adds, or resets the component to its default state.

Example

ecs.Licht.reset(world, component.eid)

Advanced Functions

Cursor

Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.

Example
ecs.Licht.cursor(world, component.eid)

Acquire

Same behavior as cursor, but commit must be called after the cursor is done being used.

Example
ecs.Licht.acquire(world, component.eid)

Commit

Called after acquire. An optional third argument determines whether the cursor was mutated or not.

Example
ecs.Licht.commit(world, component.eid)
ecs.Licht.commit(world, component.eid, false)

Dirty

Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.

Example
ecs.Licht.dirty(world, component.eid)