Licht
Beschreibung
Diese Komponente lässt eine Entität Licht ausstrahlen.
Eigenschaften
Eigenschaft | Typ | Standard | Beschreibung |
---|---|---|---|
type (erforderlich) | String | Richtungsweisend | Unterstützte Typen sind: "gerichtet", "Punkt" und "Umgebung". |
castShadow | boolean | true | Wenn die Lichtquelle Schatten werfen soll. |
Intensität | Nummer | 0.5 | Die Emissionsstärke. |
r | Nummer (0-255) | 255 | Die Menge an Rot, die das Licht ausstrahlt. |
g | Nummer (0-255) | 255 | Die Menge an Grün, die das Licht ausstrahlt. |
b | Nummer (0-255) | 255 | Die Menge an blauem Licht, die das Licht ausstrahlt. |
shadowBias | Nummer | -0.005 | Wie viel von der normalisierten Tiefe addiert oder subtrahiert werden soll, wenn entschieden wird, ob eine Fläche im Schatten liegt. |
shadowNormalBias | Nummer | 0 | Wie stark die Position, die zur Abfrage der Schattenkarte verwendet wird, entlang der Objektnormalen versetzt ist. |
shadowRadius | Nummer | 1 | Der Radius des Schattens |
shadowAutoUpdate | boolean | true | Soll der Schatten automatisch berechnet und aktualisiert werden? |
shadowBlurSamples | Nummer | 8 | Die Anzahl der Samples, die für die Berechnung der virtuellen Schattenkarte verwendet werden sollen. |
shadowMapSizeHeight | Nummer | 1024 | Die Höhe der Schattenkarte. (Werte müssen Potenzen von 2 sein) |
shadowMapSizeWidth | Nummer | 1024 | Die Breite der Schattenkarte. (Werte müssen Potenzen von 2 sein) |
shadowCameraNear | Nummer | 0.5 | Kamerastumpf in der Nähe des Fensters für die Schattenberechnung |
shadowCameraFar | Nummer | 200 | Kamerastumpf-Fernausschnitt für die Berechnung von Schatten |
shadowCameraLeft | Nummer | -50 | Linker Bereich des Kamerastumpfes für die Schattenberechnung |
shadowCameraRight | Nummer | 50 | Rechter Kamerastumpf für die Schattenberechnung |
shadowCameraBottom | Nummer | -50 | Unterer Bereich des Kamerastumpfes für die Berechnung von Schatten |
shadowCameraTop | Nummer | 50 | Oberer Bereich des Kamerastumpfes für die Schattenberechnung |
ZielX | Nummer | 0 | Die Ziel-X-Koordinate des Lichts (nur Richtungslicht) |
ZielY | Nummer | 0 | Die Y-Zielkoordinate des Lichts (nur Richtungslicht) |
ZielZ | Nummer | 0 | Die 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)