Darkness Light Renderer
DarknessRenderer & LightRenderer
El sistema de iluminación del motor se compone de dos componentes que trabajan conjuntamente:
DarknessRenderer y LightRenderer.
DarknessRenderer dibuja una máscara de oscuridad que puede cubrir parcial o totalmente una zona de la pantalla.
LightRenderer define fuentes de luz que iluminan áreas específicas dentro de esa oscuridad.
DarknessRenderer
El componente DarknessRenderer crea una máscara de oscuridad con forma rectangular.
Puede configurarse con color, opacidad, dimensiones y capa de renderizado.
Propiedades
| Propiedad | Tipo | Descripción |
|---|---|---|
width |
number |
Ancho de la oscuridad en píxeles. |
height |
number |
Alto de la oscuridad en píxeles. |
color |
string |
Color de la oscuridad. |
opacity |
number |
Opacidad entre 0 y 1. |
layer |
string |
Capa de renderizado. |
Ejemplo
const darknessRenderer = new DarknessRenderer({
width: 100,
height: 50,
color: "#000000",
opacity: 0.5,
layer: "Default",
});
LightRenderer
El componente LightRenderer define una fuente de luz circular.
Estas luces afectan visualmente a los DarknessRenderer que compartan la misma capa.
Propiedades
| Propiedad | Tipo | Descripción |
|---|---|---|
radius |
number |
Radio de la luz. |
smooth |
boolean |
Si true, suaviza los bordes de la luz. |
layer |
string |
Capa de renderizado (debe coincidir con la del DarknessRenderer). |
intensity |
number |
Intensidad de la luz entre 0 y 1. |
Ejemplo
const lightRenderer = new LightRenderer({
radius: 100,
smooth: true,
layer: "Default",
intensity: 0.8,
});
Ejemplo combinado
const darkness = new DarknessRenderer({
width: 500,
height: 500,
color: "#000000",
opacity: 0.7,
layer: "Game",
});
const light = new LightRenderer({
radius: 120,
smooth: true,
layer: "Game",
intensity: 1,
});
Notas
- Para que una luz afecte a una oscuridad, ambos componentes deben compartir el mismo valor de
layer. - Puedes tener múltiples
LightRendereriluminando un mismoDarknessRenderer. - El parámetro
smoothenLightRendererpermite transiciones suaves entre luz y sombra. - La intensidad (
intensity) controla qué tan fuerte es el efecto de la luz sobre la oscuridad. - Todo el cálculo de iluminación (mezcla de luces con la oscuridad) es gestionado por el sistema de renderizado. Los componentes solo definen atributos visuales.