Luz
Descripción
Este componente hace que una entidad emita luz.
Propiedades
Propiedad | Tipo | Por defecto | Descripción |
---|---|---|---|
tipo (Obligatorio) | cadena | direccional | Los tipos admitidos son: "direccional", "puntual" y "ambiental". |
castShadow | booleano | verdadero | Si la fuente de luz proyecta sombras. |
intensidad | número | 0.5 | La fuerza de emisión. |
r | número (0-255) | 255 | La cantidad de rojo que emite la luz. |
g | número (0-255) | 255 | La cantidad de verde que emite la luz. |
b | número (0-255) | 255 | La cantidad de azul que emite la luz. |
shadowBias | número | -0.005 | Cuánto sumar o restar a la profundidad normalizada cuando se decide si una superficie está en sombra. |
shadowNormalBias | número | 0 | Cuánto se desplaza la posición utilizada para consultar el mapa de sombras a lo largo de la normal del objeto. |
radio de sombra | número | 1 | El radio de la sombra |
shadowAutoUpdate | booleano | verdadero | La sombra debe calcularse y actualizarse automáticamente |
shadowBlurMuestras | número | 8 | La cantidad de muestras a utilizar cuando se calcula el Mapa de Sombras Virtual. |
shadowMapSizeHeight | número | 1024 | La altura del Mapa de Sombras. (Los valores deben ser potencias de 2) |
shadowMapSizeWidth | número | 1024 | La anchura del Mapa de Sombras. (Los valores deben ser potencias de 2) |
shadowCameraNear | número | 0.5 | Panel cercano al frustum de la cámara para calcular las sombras |
shadowCameraFar | número | 200 | Panel lejano del frustum de la cámara para calcular las sombras |
shadowCameraLeft | número | -50 | Panel izquierdo del frustum de la cámara para calcular las sombras |
shadowCameraRight | número | 50 | Panel derecho del frustum de la cámara para calcular las sombras |
shadowCameraBottom | número | -50 | Panel inferior de la cámara para calcular las sombras |
shadowCameraTop | número | 50 | Panel superior del frustum de la cámara para calcular las sombras |
objetivoX | número | 0 | Coordenada X del objetivo de la luz (sólo direccional) |
objetivoY | número | 0 | Coordenada Y del objetivo de la luz (sólo direccional) |
objetivoZ | número | 0 | Coordenada 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)