Поделиться через


Освещение сцены

По умолчанию удаленно визуализированные объекты освещаются небесным светом. Для большинства приложений статический свет неба уже достаточно, но вы можете добавить в сцену дополнительные динамические источники света.

Важно!

Источники света влияют только на материалы 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

Следующие шаги