SpotLight3D
Прожектор, например, рефлекторный прожектор или фонарь.
Прожектор, например, рефлекторный прожектор или фонарь.
Прожектор — это тип узла Light3D, который излучает свет в определённом направлении в форме конуса. Свет ослабевает с увеличением расстояния. Это ослабление можно настроить, изменив параметры энергии, радиуса и затухания Light3D.
Свет излучается в направлении -Z глобального базиса узла. Для невращённого источника света это означает, что свет излучается вперёд, освещая переднюю сторону 3D-модели (см. Vector3.Forward и Vector3.ModelFront).
Примечание: При использовании метода мобильного рендеринга на каждом ресурсе сетки может отображаться только 8 прожекторов. Попытка отобразить более 8 прожекторов на одном ресурсе сетки приведёт к мерцанию прожекторов при движении камеры. При использовании метода рендеринга Compatibility по умолчанию на каждом ресурсе сетки может отображаться только 8 точечных источников света, но это значение можно увеличить, изменив параметр ProjectSettings.rendering/limits/opengl/max_lights_per_object.
Примечание: При использовании методов рендеринга Mobile или Compatibility точечные источники света будут корректно воздействовать только на те сетки, видимость которых AABB пересекается с AABB источника света. При использовании шейдера для деформации сетки таким образом, что она выходит за пределы AABB, необходимо увеличить параметр GeometryInstance3D.ExtraCullMargin сетки. В противном случае источник света может быть не виден на сетке.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
SpotLight3DКонструктор
public SpotLight3D();Свойства4
SpotAngleСвойство
public float SpotAngle { get; set; }Угол раскрытия конуса прожектора в градусах. Совместно с SpotRange и направлением определяет освещаемую область; это не Euler-поворот Entity. Пример направляет источник через LookAt.
SpotAngleAttenuationСвойство
public float SpotAngleAttenuation { get; set; }Угловая кривая затухания прожектора. См. также SpotLight3D.SpotAttenuation.
SpotAttenuationСвойство
public float SpotAttenuation { get; set; }Управляет функцией затухания на расстоянии для прожекторов.
Значение 0.0 будет поддерживать постоянную яркость на протяжении большей части диапазона, но плавно ослаблять свет на краю диапазона. Используйте значение 2.0 для физически точного освещения, так как это приводит к правильному обратному квадрату затухания.
Примечание: Установка затухания на 2.0 или выше может привести к тому, что удаленные объекты будут получать минимальный свет, даже в пределах диапазона. Например, при диапазоне 4096 объект на 100 единиц ослабляется с коэффициентом 0.0001. При яркости по умолчанию 1 свет не будет виден на этом расстоянии.
Примечание: Использование отрицательных или значений выше 10.0 может привести к неожиданным результатам.
SpotRangeСвойство
public float SpotRange { get; set; }Дальность влияния прожектора. Геометрия также должна находиться внутри конуса SpotAngle и разрешённых визуальных слоёв. Увеличение энергии не исправляет неверное направление прожектора.