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.
Checking the stable version of the documentation...
AreaLight3D
Hérite de : Light3D < VisualInstance3D < Node3D < Node < Object
Une lumière de zone, comme un tube de néon ou un écran.
Description
An area light is a type of Light3D node that emits light over a two-dimensional area, in the shape of a rectangle. The light is attenuated throughout the distance. This attenuation can be configured by changing the energy, area_attenuation, and area_range.
Light is emitted in the -Z direction of the node's global basis. For an unrotated light, this means that the light is emitted forwards, illuminating the front side of a 3D model (see Vector3.FORWARD and Vector3.MODEL_FRONT).
Area lights can cast soft shadows using PCSS, which you can control by tweaking the size parameter. The shadow map is drawn from the center of the light.
Note: Area lights have limited support in the Mobile and Compatibility renderers. In the Mobile renderer, the size of the penumbra doesn't vary as it should with PCSS. In Compatibility, area lights cannot cast shadows.
Warning: Shadows cast by an area light may look incorrect if the object casting shadows doesn't have enough subdivisions and it's very close to the area light. This is the same limitation as the Dual Paraboloid shadow mode on an OmniLight3D.
Performance: Area lights are more demanding on the GPU compared to omni and spot lights. In Forward+, there is an additional GPU cost on all rendered objects as soon as one area light is present in the view frustum (due to the nature of clustered lighting). Consider using them only for cinematics or when targeting high-end devices.
Tutoriels
Propriétés
|
||
|
||
|
||
|
||
light_size |
|
|
shadow_normal_bias |
|
Descriptions des propriétés
float area_attenuation = 1.0 🔗
Contrôle la fonction d'atténuation de distance pour les lumières de zone.
Une valeur de 0.0 maintiendra une luminosité constante à travers la plupart de la plage, mais atténuera doucement la lumière au bord de l'intervalle. Utilisez une valeur de 2.0 pour des lumières physiquement précises, car cela entraîne une atténuation carrée inverse appropriée.
Note : Définir l'atténuation à 2.0 ou plus peut résulter en des objets distants recevant une lumière minimale, même dans l'intervalle. Par exemple, avec un intervalle de 4096, un objet à 100 unités est atténué par un facteur de 0.0001. Avec une luminosité par défaut de 1, la lumière ne serait pas visible à cette distance.
Note : L'utilisation de valeurs négatives ou supérieures à 10.0 peut entraîner des résultats inattendus.
bool area_normalize_energy = true 🔗
Définit si l'énergie est normalisée (divisée) par la zone de surface de la lumière. Si ajustée à vrai, la modification de la taille n'affecte pas l'énergie totale émise, et n'altère pas fortement la luminosité de la scène.
L'intervalle de zone est en mètres. Ceci détermine la distante maximale de n'importe quel point de la zone dans laquelle elle peut continuer d'émettre de la lumière.
Vector2 area_size = Vector2(1, 1) 🔗
L'étendue (largeur et hauteur) de la zone est en mètres.
Une texture optionnelle à utiliser comme source lumineuse. La modification de la texture en exécution peut impacter la performance, comme elle doit être dessinée sur la carte de la lumière avec des mipmaps filtrés.
Si aucune texture n'est attribuée, la lumière de zone émet une lumière uniforme au travers sa surface.
Note : Les textures de la lumière de zone ne sont supportées que dans les méthodes pour les rendus Forward+ et Mobile, pas pour Compatibilité. Afin de réduire l'impact sur la performance sur la bascule de texture en exécution, assurez-vous que chaque dimension de la texture de zone est un multiple de 128 pixels, ou une puissance de deux. Cela évite le besoin de transmettre une échelle, ce qui ralentit les changement de texture. Les textures n'ont pas besoin d'être nécessairement carrées pour être idéales. Les exemples de tailles de textures idéales incluent 32x64, 128x128 et 256x384.