Лекция
PBR (физически корректный рендеринг) — это методика визуализации, основанная на физических законах поведения света и материалов. Основная идея заключается в том, чтобы добиться фотореалистичного освещения независимо от сцены или условий.
Основные характеристики PBR-материалов:
Альбедо (Albedo): базовый цвет материала без теней и освещения.
Металличность (Metalness): указывает, является ли поверхность металлической.
Гладкость/шероховатость (Roughness): определяет, как сильно рассеян свет.
Нормали (Normal Map): симулируют мелкие детали и неровности поверхности без изменения геометрии.
PBR стал стандартом в современных игровых движках, таких как Unreal Engine и Unity, так как он обеспечивает предсказуемые и реалистичные результаты.

Unreal Engine предоставляет широкие возможности для работы со светом:
Основные типы источников света :
Directional Light — имитирует солнечный свет.
Point Light — точечный источник света, излучающий свет во все стороны.
Spot Light — направленный свет с конусной областью действия.
Rect Light — прямоугольный источник света, особенно полезен для интерьеров.
Дополнительные инструменты:
Lightmass — система глобального освещения, используемая при запекании света.
Post Process Volume — управление общим видом сцены (контраст, насыщенность, цветовая температура и др.).
Lightmap Resolution — контроль над качеством запекаемых теней.

Отражения в Unreal реализуются через:
Screen Space Reflections (SSR) — отражения на основе экрана (ограничены видимыми объектами).
Reflection Capture Actors — специальные объекты, захватывающие отражения в зоне действия.
Альбедо — важный параметр. Он должен быть в пределах 30%–80% отражательной способности, чтобы избежать переосвещения или “грязных” текстур. В PBR workflow важно, чтобы значения были физически корректны — например, чисто белый цвет встречается в природе крайне редко.
Перед настройкой освещения необходимо:
Оптимизировать геометрию:
Убедиться, что объекты, получающие запеченный свет, статичны.
Объединить мелкие детали, чтобы сократить количество объектов.
Настроить UV-развертку для Lightmaps:
Для корректного запекания света необходимо, чтобы каждая поверхность имела уникальную UV-развертку без пересечений.
Разместить Reflection Capture Actors и Lightmass Importance Volume вокруг важной геометрии.
Динамическое освещение:
Реагирует в реальном времени.
Используется для подвижных объектов, смены времени суток.
Требует больше ресурсов.
Статическое освещение:
"Запекается" в текстуры на этапе компиляции сцены.
Быстрое выполнение, не требует затрат на рендеринг в реальном времени.
Идеально подходит для статичных объектов и окружения.
Смешанный режим: позволяет использовать оба подхода. Например, тени запекаются, а источник света остается динамическим.
LUT — это таблица соответствия цветовых значений, используемая для цветокоррекции.
В Unreal LUT применяется через Post Process Volume:
Можно создать LUT в любом графическом редакторе (например, Photoshop) или специальном ПО (DaVinci Resolve).
Далее LUT импортируется и настраивается в движке через параметр Color Grading LUT.
Это позволяет управлять атмосферой сцены: создать “киношный” стиль, теплый закат, холодную тень и т.д.
Запекание света (Light Baking) — это процесс записи освещения в текстуры (lightmaps), чтобы уменьшить нагрузку на рендер в реальном времени.
Этапы запекания в UE:
Назначьте объектам тип Static или Stationary.
Добавьте Lightmass Importance Volume вокруг важной части карты.
Настройте разрешение lightmap'ов.
Используйте Build Lighting для запекания.
Метод значительно экономит ресурсы компьютера, поскольку приложению не приходится рассчитывать падение света в режиме реального времени. По реалистичности результат использования данного метода значительно превосходит использование динамического освещения, при котором падение света и тени рассчитываются перед каждым кадром. Это связано с тем, что большинство 3D-приложений при создании карт освещения учитывают отражения света и их дальнейшее падение на другие поверхности, подобно тому, как свет ведет себя в реальном мире. Однако данный метод допустим только в случае со статическими объектами. Карты освещения для движущихся моделей создают только в случаях, если источник света присоединен к движущейся модели и результат ее освещения не зависит от ее перемещения и вращения.
Почти всегда карты освещения выравниваются с обычными текстурами полигонов, и каждый тексел карты соответствует 4-32 текселам текстуры. Размеры карты определяются размерами минимального, ограничивающего полигон прямоугольника, стороны которого параллельны текстурным векторам.
В том или ином виде карты освещения используются практически во всех современных 3D-приложениях реального времени. Этот метод применяется для создания всего статического освещения сцены. Освещение генерируется для статической геометрии до начала цикла рендеринга, и во время рендеринга в основном не изменяется. На современном оборудовании реализация полностью динамического освещения с использованием карт освещения невозможна из-за большой ресурсоемкости процесса создания лайтмэпов. Этот подход рассматривается как основа для большинства других алгоритмов рендеринга теней в реальном времени.

При создании карта заполняется черными пикселями. Далее, для каждого тексела карты освещения находятся трехмерные координаты точки на полигоне. Для этой точки необходимо построить список всех источников света, которые влияют на ее освещение: вектора из данной точки до источников света проверяются на пересечение с геометрией сцены, и если пересечение имеет место — то этот источник света не освещает точку (относительно него точка в тени). Остальные источники увеличивают значение тексела лайтмэпа на величину, зависящую от используемой модели освещения и положения источника света относительно точки. В целях улучшения внешнего вида картинки к картам освещения часто применяется билинейная фильтрация. Эти операции повторяются для каждого освещаемого полигона сцены.
Во время рендеринга карты освещения могут накладываться вторым проходом, с использованием альфа-блендинга. При наличии мультитекстурного оборудования можно накладывать текстуру и карту освещения за один проход.
Данный метод освещения поддерживается такими игровыми движками, как id Tech, Unreal Engine, Lithtech, GoldSrc, Xash3D, Source, X-Ray, Unity.
Важно: Запеченный свет не реагирует на изменение объектов в реальном времени, но позволяет добиться реалистичной картинки без потерь производительности.
При расстановке источников света придерживайтесь следующих рекомендаций:
Главный источник (Directional Light) — для имитации солнца или луны.
Дополнительные Point/Spot Lights — для акцентов: фонари, лампы, факелы.
Rect Lights — для мягкого равномерного освещения интерьеров.
Используйте IES-профили для имитации реального поведения света в бытовых источниках.
Не перегружайте сцену источниками света. Особенно избегайте большого количества динамических источников — они могут негативно повлиять на производительность.

Освещение — это один из важнейших элементов визуальной части игры. Грамотная работа со светом, отражениями, материалами и цветовой коррекцией позволяет не только улучшить визуальное восприятие сцены, но и оптимизировать ее работу. Unreal Engine предоставляет мощные инструменты, и понимание принципов PBR, запекания и типов освещения — ключ к качественной визуализации игровых миров.
Комментарии
Оставить комментарий
Освещение локаций в играх и кинематографе
Термины: Освещение локаций в играх и кинематографе