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
Наследует: Light3D < VisualInstance3D < Node3D < Node < Object
Светильник, освещающий большую площадь, например, неоновая лампа или экран.
Описание
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.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
light_size |
|
|
shadow_normal_bias |
|
Описания свойств
float area_attenuation = 1.0 🔗
Управляет функцией ослабления света на расстоянии для этого источника света.
Значение 0.0 обеспечит постоянную яркость на большей части диапазона, но плавно ослабит свет на краю диапазона. Используйте значение 2.0 для физически точных источников света, так как это обеспечивает правильное ослабление света в обратном квадратичном выражении.
Примечание: Установка ослабления на 2.0 или выше может привести к тому, что удаленные объекты будут получать минимальное количество света, даже находясь в пределах диапазона. Например, при диапазоне 4096 объект на расстоянии 100 единиц будет ослаблен в 0.0001. При яркости по умолчанию 1 свет не будет виден на этом расстоянии.
** Примечание: Использование отрицательных значений или значений выше 10.0 может привести к неожиданным результатам.
bool area_normalize_energy = true 🔗
Определяет, нормируется ли энергия (делится) на площадь поверхности источника света. Если установлено значение true, изменение размера не влияет на общую выходную энергию и не приводит к существенному изменению яркости сцены.
Диапазон зоны в метрах. Он определяет максимальное расстояние от любой точки на области, на котором область все еще может излучать свет.
Vector2 area_size = Vector2(1, 1) 🔗
Размеры (ширина и высота) площади в метрах.
Дополнительная текстура для использования в качестве источника света. Изменение текстуры во время выполнения может повлиять на производительность, поскольку она должна быть отрисована в атласе источников света с фильтрованными мипмапами.
Если текстура не назначена, источник света излучает равномерный свет по всей своей поверхности.
Примечание: Текстуры источников света поддерживаются только в методах рендеринга Forward+ и Mobile, а не в Compatibility. Чтобы уменьшить влияние на производительность при переключении текстур во время выполнения, убедитесь, что каждый размер текстуры области либо кратен 128 пикселям, либо является степенью двойки. Это устраняет необходимость в проходе масштабирования, который замедляет изменение текстур. Текстуры не обязательно должны быть квадратными для оптимальной производительности. Примеры оптимальных размеров текстур включают 32x64, 128x128 и 256x384.