Table of Contents

Class DirectionalLight3D

Directional light from a distance, as from the Sun.

Inheritance
DirectionalLight3D

Remarks

A directional light is a type of Light3D node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight3D transform (origin) is ignored. Only the basis is used to determine light direction.

See Also

Properties

directional_shadow_blend_splits

If true, shadow detail is sacrificed in exchange for smoother transitions between splits. Enabling shadow blend splitting also has a moderate performance cost. This is ignored when directional_shadow_mode is DirectionalLight3D.SHADOW_ORTHOGONAL.

var directional_shadow_blend_splits : bool = false

Property Value

bool

Remarks

  • void set_blend_splits(bool value)
  • bool is_blend_splits_enabled

directional_shadow_fade_start

Proportion of directional_shadow_max_distance at which point the shadow starts to fade. At directional_shadow_max_distance, the shadow will disappear. The default value is a balance between smooth fading and distant shadow visibility. If the camera moves fast and the directional_shadow_max_distance is low, consider lowering directional_shadow_fade_start below 0.8 to make shadow transitions less noticeable. On the other hand, if you tuned directional_shadow_max_distance to cover the entire scene, you can set directional_shadow_fade_start to 1.0 to prevent the shadow from fading in the distance (it will suddenly cut off instead).

var directional_shadow_fade_start : float = 0.8

Property Value

float

Remarks

directional_shadow_max_distance

The maximum distance for shadow splits. Increasing this value will make directional shadows visible from further away, at the cost of lower overall shadow detail and performance (since more objects need to be included in the directional shadow rendering).

var directional_shadow_max_distance : float = 100.0

Property Value

float

Remarks

directional_shadow_mode

The light's shadow rendering algorithm. See ShadowMode.

var directional_shadow_mode : int = 2

Property Value

int

Remarks

  • void set_shadow_mode(int value)
  • int get_shadow_mode

directional_shadow_pancake_size

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.

var directional_shadow_pancake_size : float = 20.0

Property Value

float

Remarks

directional_shadow_split_1

The distance from camera to shadow split 1. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is DirectionalLight3D.SHADOW_PARALLEL_2_SPLITS or DirectionalLight3D.SHADOW_PARALLEL_4_SPLITS.

var directional_shadow_split_1 : float = 0.1

Property Value

float

Remarks

directional_shadow_split_2

The distance from shadow split 1 to split 2. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is DirectionalLight3D.SHADOW_PARALLEL_4_SPLITS.

var directional_shadow_split_2 : float = 0.2

Property Value

float

Remarks

directional_shadow_split_3

The distance from shadow split 2 to split 3. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is DirectionalLight3D.SHADOW_PARALLEL_4_SPLITS.

var directional_shadow_split_3 : float = 0.5

Property Value

float

Remarks

sky_mode

Set whether this DirectionalLight3D is visible in the sky, in the scene, or both in the sky and in the scene. See SkyMode for options.

var sky_mode : int = 0

Property Value

int

Remarks

  • void set_sky_mode(int value)
  • int get_sky_mode