Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

DirectionalLight3D

Hérite de : Light3D < VisualInstance3D < Node3D < Node < Object

Une lumière directionnelle à une certaine distance, comme pour le soleil.

Description

Une lumière directionnelle est un type de nœud Light3D qui modélise un nombre infini de rayons parallèles couvrant toute la scène. Elle est utilisée pour les lumières à forte intensité qui sont situées loin de la scène pour modéliser la lumière du soleil ou le clair de lune.

La lumière est émise dans la direction -Z de la base globale du nœud. Pour une lumière non-pivotée, cela signifie que la lumière est émise vers l'avant, illuminant la face d'avant d'un modèle 3D (voir Vector3.FORWARD et Vector3.MODEL_FRONT). La position du nœud est ignorée, seule la base est utilisée pour déterminer la direction de la lumière.

Tutoriels

Propriétés

bool

directional_shadow_blend_splits

false

float

directional_shadow_fade_start

0.8

float

directional_shadow_max_distance

100.0

ShadowMode

directional_shadow_mode

2

float

directional_shadow_pancake_size

20.0

float

directional_shadow_split_1

0.1

float

directional_shadow_split_2

0.2

float

directional_shadow_split_3

0.5

SkyMode

sky_mode

0


Énumérations

enum ShadowMode: 🔗

ShadowMode SHADOW_ORTHOGONAL = 0

Rend la carte de l’ombre de toute la scène d’un point de vue orthogonal. C’est le mode d’ombre directionnelle le plus rapide. Peut entraîner des ombres plus floues sur les objets proches.

ShadowMode SHADOW_PARALLEL_2_SPLITS = 1

Divise le frustum de vue en 2 zones, chacune avec sa propre shadow map. Ce mode d'ombre est un compromis en terme de performances entre SHADOW_ORTHOGONAL et SHADOW_PARALLEL_4_SPLITS.

ShadowMode SHADOW_PARALLEL_4_SPLITS = 2

Divise le frustum de vue en 4 zones, chacune avec sa propre shadow map. Il s'agit du mode d'ombre directionnelle le plus lent.


enum SkyMode: 🔗

SkyMode SKY_MODE_LIGHT_AND_SKY = 0

Rend la lumière visible dans l'éclairage de la scène et dans le rendu du ciel.

SkyMode SKY_MODE_LIGHT_ONLY = 1

Rend la lumière visible uniquement dans l'éclairage de la scène (y compris l'éclairage direct et l'illumination globale). Lors de l'utilisation de ce mode, la lumière ne sera pas visible depuis les shaders de ciel.

SkyMode SKY_MODE_SKY_ONLY = 2

Rend la lumière visible aux shaders du ciel seulement. Lors de l'utilisation de ce mode, la lumière n'éclairera pas la scène (par éclairage direct ou par illumination globale), mais peut être accédée par les shaders du ciel. Cela peut être utile, par exemple, lorsque vous voulez contrôler les effets du ciel sans éclairer la scène (pendant un cycle de nuit, par exemple).


Descriptions des propriétés

bool directional_shadow_blend_splits = false 🔗

  • void set_blend_splits(value: bool)

  • bool is_blend_splits_enabled()

Si true, le détail des ombres est sacrifié pour obtenir des transitions plus lisses entre les fractions. Activer cette option a également un coût modéré sur les performances. Ceci est ignoré lorsque directional_shadow_mode est SHADOW_ORTHOGONAL.


float directional_shadow_fade_start = 0.8 🔗

Proportion de directional_shadow_max_distance auquel point l'ombre commence à disparaître. À directional_shadow_max_distance, l'ombre disparaîtra. La valeur par défaut est un équilibre entre disparition lisse et visibilité des ombres distantes. Si la caméra se déplace rapidement et que directional_shadow_max_distance est faible, envisagez de diminuer directional_shadow_fade_start sous 0.8 pour rendre les transitions d'ombres moins visibles. D'un autre côté, si vous avez utilisé directional_shadow_max_distance pour couvrir l'ensemble de la scène, vous pouvez définir directional_shadow_fade_start à 1.0 pour empêcher l'ombre de disparaître au loin (elle sera soudainement coupée à la place).


float directional_shadow_max_distance = 100.0 🔗

La distance maximale pour les divisions des ombres. Augmenter cette valeur rendra visible les ombres directionnelles de plus loin, mais affichera moins de détails des ombres et de moins bonnes performances (puisque plus d'objets doivent être inclus dans le rendu des ombres directionnelles).


ShadowMode directional_shadow_mode = 2 🔗

L'algorithme de rendu des ombre de la lumière.


float directional_shadow_pancake_size = 20.0 🔗

Définit la taille du pancake des ombres directionnelles. Le pancake décalera le début du frustum de caméra de l'ombre pour fournir une plus haute résolution de profondeur pour l'ombre. Cependant, une grande taille de pancake peut causer des artéfacts dans les ombres des grands objets qui sont proches du bord du frustum. Réduire la taille du pancake peut aider. Définir la taille à 0 désactive l'effet de pancaking.


float directional_shadow_split_1 = 0.1 🔗

La distance de la caméra à la division 1 de l'ombre. Relative à directional_shadow_max_distance. Seulement utilisée lorsque directional_shadow_mode vaut SHADOW_PARALLEL_2_SPLITS ou SHADOW_PARALLEL_4_SPLITS.


float directional_shadow_split_2 = 0.2 🔗

La distance de la division 1 à la division 2 de l'ombre. Relative à directional_shadow_max_distance. Seulement utilisée lorsque directional_shadow_mode vaut SHADOW_PARALLEL_4_SPLITS.


float directional_shadow_split_3 = 0.5 🔗

La distance de la division 2 à la division 3 de l'ombre. Relative à directional_shadow_max_distance. Seulement utilisée lorsque directional_shadow_mode vaut SHADOW_PARALLEL_4_SPLITS.


SkyMode sky_mode = 0 🔗

Si cette DirectionalLight3D est visible dans le ciel, dans la scène, ou dans le ciel et dans la scène.