DirectionalLight3D
Hereda: Light3D < VisualInstance3D < Node3D < Node < Object
Luz direccional desde una distancia, como desde el Sol.
Descripción
Una luz direccional es un tipo de nodo Light3D que modela un número infinito de rayos paralelos que cubren toda la escena. Se utiliza para luces de gran intensidad que se ubican lejos de la escena para modelar la luz del sol o la luz de la luna.
La luz se emite en la dirección -Z de la base global del nodo. Para una luz sin rotar, esto significa que la luz se emite hacia adelante, iluminando la parte frontal de un modelo 3D (véase Vector3.FORWARD y Vector3.MODEL_FRONT). La posición del nodo se ignora; solo se usa la base para determinar la dirección de la luz.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Enumeraciones
enum ShadowMode: 🔗
ShadowMode SHADOW_ORTHOGONAL = 0
Renderiza el mapa de sombras de toda la escena desde un punto de vista ortogonal. Este es el modo de sombra de dirección más rápida. Puede dar lugar a sombras más borrosas en objetos cercanos.
ShadowMode SHADOW_PARALLEL_2_SPLITS = 1
Divide la vista del frustum en 2 áreas, cada una con su propio mapa de sombras. Este modo de sombra es un compromiso entre SHADOW_ORTHOGONAL y SHADOW_PARALLEL_4_SPLITS en términos de rendimiento.
ShadowMode SHADOW_PARALLEL_4_SPLITS = 2
Divide el frustum de la vista en 4 áreas, cada una con su propio mapa de sombras. Este es el modo de sombra direccional más lento.
enum SkyMode: 🔗
SkyMode SKY_MODE_LIGHT_AND_SKY = 0
Hace que la luz sea visible tanto en la iluminación de la escena como en la renderización del cielo.
SkyMode SKY_MODE_LIGHT_ONLY = 1
Hace que la luz sea visible solo en la iluminación de la escena (incluida la iluminación directa y la iluminación global). Al usar este modo, la luz no será visible desde los shaders del cielo.
SkyMode SKY_MODE_SKY_ONLY = 2
Hace que la luz sea visible solo para los shaders del cielo. Al usar este modo, la luz no proyectará luz en la escena (ya sea a través de iluminación directa o a través de iluminación global), pero se puede acceder a ella a través de los shaders del cielo. Esto puede ser útil, por ejemplo, cuando quieres controlar los efectos del cielo sin iluminar la escena (durante un ciclo nocturno, por ejemplo).
Descripciones de Propiedades
bool directional_shadow_blend_splits = false 🔗
Si es true, el detalle de la sombra se sacrifica a cambio de transiciones más suaves entre divisiones. Habilitar la división de mezcla de sombras también tiene un costo moderado en el rendimiento. Esto se ignora cuando directional_shadow_mode es SHADOW_ORTHOGONAL.
float directional_shadow_fade_start = 0.8 🔗
Proporción de directional_shadow_max_distance en la que la sombra comienza a desvanecerse. En directional_shadow_max_distance, la sombra desaparecerá. El valor predeterminado es un equilibrio entre el desvanecimiento suave y la visibilidad de la sombra a distancia. Si la cámara se mueve rápido y directional_shadow_max_distance es baja, considera reducir directional_shadow_fade_start por debajo de 0.8 para hacer que las transiciones de sombra sean menos notorias. Por otro lado, si ajustaste directional_shadow_max_distance para cubrir toda la escena, puedes establecer directional_shadow_fade_start en 1.0 para evitar que la sombra se desvanezca en la distancia (en su lugar, se cortará repentinamente).
float directional_shadow_max_distance = 100.0 🔗
La distancia máxima para las divisiones de sombra. Aumentar este valor hará que las sombras direccionales sean visibles desde más lejos, a costa de un menor detalle general de la sombra y rendimiento (ya que se deben incluir más objetos en la renderización de la sombra direccional).
ShadowMode directional_shadow_mode = 2 🔗
void set_shadow_mode(value: ShadowMode)
ShadowMode get_shadow_mode()
El algoritmo de renderizado de sombras de la luz.
float directional_shadow_pancake_size = 20.0 🔗
Sets the size of the directional shadow pancake. The pancake offsets the start of the shadow's camera frustum to provide a higher effective depth resolution for the shadow. However, a high pancake size can cause artifacts in the shadows of large objects that are close to the edge of the frustum. Reducing the pancake size can help. Setting the size to 0 turns off the pancaking effect.
float directional_shadow_split_1 = 0.1 🔗
La distancia desde la cámara hasta la primera división de sombra. Relativo a directional_shadow_max_distance. Solo se usa cuando directional_shadow_mode es SHADOW_PARALLEL_2_SPLITS o SHADOW_PARALLEL_4_SPLITS.
float directional_shadow_split_2 = 0.2 🔗
La distancia desde la división de sombra 1 a la división 2. Relativo a directional_shadow_max_distance. Solo se usa cuando directional_shadow_mode es SHADOW_PARALLEL_4_SPLITS.
float directional_shadow_split_3 = 0.5 🔗
La distancia desde la división de sombra 2 a la división 3. Relativo a directional_shadow_max_distance. Solo se usa cuando directional_shadow_mode es SHADOW_PARALLEL_4_SPLITS.
Si esta DirectionalLight3D es visible en el cielo, en la escena, o en ambos, en el cielo y en la escena.