Ir al contenido principal

Luz

Descripción

Este componente hace que una entidad emita luz.

Propiedades

PropiedadTipoPor defectoDescripción
tipo (Obligatorio)cadenadireccionalLos tipos admitidos son: "direccional", "puntual" y "ambiental".
castShadowbooleanoverdaderoSi la fuente de luz proyecta sombras.
intensidadnúmero0.5La fuerza de emisión.
rnúmero (0-255)255La cantidad de rojo que emite la luz.
gnúmero (0-255)255La cantidad de verde que emite la luz.
bnúmero (0-255)255La cantidad de azul que emite la luz.
shadowBiasnúmero-0.005Cuánto sumar o restar a la profundidad normalizada cuando se decide si una superficie está en sombra.
shadowNormalBiasnúmero0Cuánto se desplaza la posición utilizada para consultar el mapa de sombras a lo largo de la normal del objeto.
radio de sombranúmero1El radio de la sombra
shadowAutoUpdatebooleanoverdaderoLa sombra debe calcularse y actualizarse automáticamente
shadowBlurMuestrasnúmero8La cantidad de muestras a utilizar cuando se calcula el Mapa de Sombras Virtual.
shadowMapSizeHeightnúmero1024La altura del Mapa de Sombras. (Los valores deben ser potencias de 2)
shadowMapSizeWidthnúmero1024La anchura del Mapa de Sombras. (Los valores deben ser potencias de 2)
shadowCameraNearnúmero0.5Panel cercano al frustum de la cámara para calcular las sombras
shadowCameraFarnúmero200Panel lejano del frustum de la cámara para calcular las sombras
shadowCameraLeftnúmero-50Panel izquierdo del frustum de la cámara para calcular las sombras
shadowCameraRightnúmero50Panel derecho del frustum de la cámara para calcular las sombras
shadowCameraBottomnúmero-50Panel inferior de la cámara para calcular las sombras
shadowCameraTopnúmero50Panel superior del frustum de la cámara para calcular las sombras
objetivoXnúmero0Coordenada X del objetivo de la luz (sólo direccional)
objetivoYnúmero0Coordenada Y del objetivo de la luz (sólo direccional)
objetivoZnúmero0Coordenada Z del objetivo de la luz (sólo direccional)

Funciones

Get

Returns a read-only reference.

Example

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

Set

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

Example

ecs.Luz.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.Luz.mutate(world, component.eid, (cursor) => {
cursor.intensidad = 1,0;
cursor.castShadow = false;
return false;
})

Remove

Removes the component from the entity.

Example

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

Has

Returns true if the component is present on the entity.

Example

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

Reset

Adds, or resets the component to its default state.

Example

ecs.Luz.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.Luz.cursor(world, component.eid)

Acquire

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

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

Commit

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

Example
ecs.Luz.commit(world, component.eid)
ecs.Luz.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.Luz.dirty(world, component.eid)