Освещение сцены
По умолчанию удаленно визуализированные объекты освещаются небесным светом. Для большинства приложений статический свет неба уже достаточно, но вы можете добавить в сцену дополнительные динамические источники света.
Важно!
Источники света влияют только на материалы PBR. Цветовые материалы и облака точек всегда отображаются полностью яркими.
Примечание.
Отбрасывание теней в настоящее время не поддерживается. Удаленная отрисовка Azure оптимизирован для рендеринга огромных объемов геометрии с использованием при необходимости нескольких графических процессоров. Традиционные подходы к отбрасыванию теней в таких сценариях не работают.
Общие свойства световых компонентов
Все типы источников света являются производными от абстрактного базового класса LightComponent
и имеют следующие свойства:
Цвет: цвет света в гамма-пространстве. Альфа игнорируется.
Интенсивность: яркость освещения. Для точечных и точечных источников интенсивность также определяет, насколько далеко светит свет.
Точечный свет
В Удаленной отрисовке Azure PointLightComponent
может излучать свет не только из одной точки, но и из небольшой сферы или маленькой трубки, чтобы имитировать более мягкие источники света.
Свойства PointLightComponent
Радиус: радиус по умолчанию равен нулю, и в этом случае источник света действует как точечный источник света. Если радиус больше нуля, он действует как сферический источник света, который изменяет внешний вид зеркальных бликов.
Длина: если оба
Length
иRadius
не равны нулю, освещение выступает в качестве лампочки. Это сочетание можно использовать для имитации неоновых труб.AttenuationCutoff: если оставить значение (0,0), ослабление света зависит только от его
Intensity
. Однако вы можете указать настраиваемые минимальные/максимальные расстояния, на которых интенсивность света линейно масштабируется до 0. Эта функция может использоваться для усиления меньшего диапазона влияния определенного света.ProjectedCubemap: если задана допустимая кубическая карта, текстура проецируется на окружающую геометрию источника света. Цвет кубической карты модулируется цветом света.
Прожектор
SpotLightComponent
похож на PointLightComponent
, но свет ограничен формой конуса. Ориентация конуса определяется отрицательной осью z сущности-владельца.
Свойства SpotLightComponent
Радиус: такой же, что и для
PointLightComponent
.SpotAngleDeg: этот интервал определяет внутренний и внешний угол конуса, измеряемый в градусах. Все внутри внутреннего угла освещено с полной яркостью. Спад применяется к внешнему углу, что создает эффект полутени.
FalloffExponent: определяет, насколько резко переход спада между внутренним и внешним углом конуса. Чем выше значение, тем резче переход. Значение по умолчанию 1.0 приводит к линейному переходу.
AttenuationCutoff: такая же, как для
PointLightComponent
.Projected2dTexture: если задана допустимая 2D-текстура, изображение проецируется на геометрию, на которую светит свет. Цвет текстуры модулируется цветом света.
Направленное освещение
DirectionalLightComponent
имитирует бесконечно удаленный источник света. Свет падает в направлении отрицательной оси z сущности владельца. Положение сущности игнорируется.
Нет дополнительных свойств.
Замечания, связанные с быстродействием
Источники света существенно влияют на производительность отрисовки. Используйте их осторожно и только в том случае, если этого требует приложение. Любые статические глобальные условия освещения, включая статический направленный компонент, могут быть достигнуты с помощью настраиваемой текстуры неба без дополнительных затрат на рендеринг.
Документация по API
- C# LightComponentBase класс
- C# PointLightComponent класс
- C# SpotLightComponent класс
- C# DirectionalLightComponent класс
- C++ LightComponentBase класс
- C++ PointLightComponent класс
- C++ SpotLightComponent класс
- C++ DirectionalLightComponent класс