Коротко
- GPU Lightmass заранее запекает данные об освещении от источников с типом подвижности Static или Stationary в текстуры lightmap.
- Для GPU Lightmass требуются DirectX 12 и поддержка аппаратной трассировки лучей; виртуальные текстуры используются для интерактивного предпросмотра.
- Острова Lightmap UV не должны перекрываться; между ними нужно оставлять зазоры, чтобы уменьшить утечки света.
- Epic обозначает GPU Lightmass как бета-функцию и рекомендует осторожно использовать её в проектах, готовящихся к выпуску.
В Unreal Engine GPU Lightmass заранее рассчитывает сложные взаимодействия статического или стационарного освещения и сохраняет их в текстурах lightmap, применяемых к геометрии сцены. Описанный в официальной документации Epic рабочий процесс позволяет рассчитывать данные об освещении на GPU и повторно вычислять их прямо во время работы над сценой. В документации также подчёркивается, что для корректного отображения запечённого света Lightmap UV необходимо подготовить отдельно. GPU Lightmass помечен как бета-функция; при использовании в проектах, готовящихся к выпуску, следует соблюдать осторожность. В документации не указана конкретная версия Unreal Engine; поскольку на странице Lightmap UV встречаются формулировки, относящиеся к UE4, ниже описаны шаги без привязки к номеру версии.
1. Включение GPU Lightmass
Перед началом настройки проверьте тип подвижности источников света в сцене. GPU Lightmass запекает данные от источников с типом подвижности Static или Stationary. В проектах, использующих только динамическое освещение, подготавливать lightmap для статических мешей не требуется.
Откройте вкладку Plugins через меню
Edit > Plugins. В категорииBuilt-In > Editorвключите плагин GPU Lightmass. Если появится уведомление о необходимости перезапустить редактор, сначала настройте параметры проекта, а затем перезапустите его.Откройте
Edit > Project Settingsи перейдите в разделEngine > Rendering. Включите параметрыHardware Ray Tracing > Support Hardware Ray Tracing,Virtual Textures > Enable Virtual Texture SupportиVirtual Textures > Enable Virtual Texture Lightmaps.В разделе
Platforms > Windowsзадайте дляTargeted RHIs > Default RHIзначение DirectX 12. Затем перезапустите редактор.Откройте меню
Buildна панели инструментов редактора уровней и выберите панель GPU Lightmass. Настройте параметры и нажмитеBuild Lighting, чтобы начать запекание света.
Для работы GPU Lightmass требуется трассировка лучей, однако дополнительные эффекты реального времени — например, тени, ambient occlusion или отражения с трассировкой лучей — не обязательны. Если они не используются в проекте, их можно отключить. В документации для отключения всех эффектов трассировки лучей приведена следующая консольная команда:
r.RayTracing.ForceAllRayTracingEffects 0Чтобы применить ту же настройку при запуске проекта, добавьте следующую строку в раздел [/Script/Engine.RendererSettings] файла DefaultEngine.ini:
[/Script/Engine.RendererSettings]
r.RayTracing.ForceAllRayTracingEffects=02. Требования к памяти и рабочий процесс предпросмотра
Во время запекания GPU Lightmass требуется достаточно видеопамяти, чтобы хранить меши сцены с LOD наивысшего качества; LOD не учитываются при запекании. Система виртуальных текстур также может потреблять дополнительную память в зависимости от размера и сложности сцены. Для всех созданных lightmap потребуется и оперативная память. Как правило, DX12 может использовать больше видеопамяти, чем DX11, поэтому в сценах, где её запас ограничен, важно проверить настройки и детализацию ресурсов. Если памяти не хватает, документация Epic рекомендует уменьшить детализацию геометрии или текстур либо использовать GPU с большим объёмом памяти.
Виртуальные текстуры lightmap не являются обязательным условием для самого запекания света. Однако они нужны, чтобы данные освещения обновлялись в реальном времени в окне просмотра и чтобы можно было редактировать сцену во время запекания. При включённом Viewport Realtime доступен этот интерактивный процесс; при отключённом запекание GPU Lightmass заметно ускоряется.
Предусмотрено два режима запекания. Full Bake рассчитывает каждый объект сцены с полным разрешением lightmap; результат становится виден после завершения процесса. Bake What You See (BWYS) отдаёт приоритет областям и объектам в окне просмотра, рассчитывая видимые в данный момент части с соответствующим разрешением. При включённом отображении в реальном времени этот режим позволяет пересчитывать свет по мере внесения изменений. Поэтому BWYS может быть удобен при настройке освещения вблизи отдельного угла интерьера, а Full Bake — когда нужны готовые данные для всей сцены. Это практическая интерпретация описанных в документации режимов работы.
| Параметр | Рекомендуемое значение | Эффект |
|---|---|---|
| Default RHI | DirectX 12 | Использует графический интерфейс, необходимый GPU Lightmass. |
| Hardware Ray Tracing | Включено | Обеспечивает необходимую GPU Lightmass поддержку трассировки лучей. |
| Virtual Texture Support и Virtual Texture Lightmaps | Включить, если нужен интерактивный предпросмотр | Позволяет следить за обновлением lightmap в окне просмотра в реальном времени. |
| Зазор между островами Lightmap UV | Обычно не менее 4 texel | Помогает избежать артефактов утечки света и теней. |
3. Правильная подготовка Lightmap UV
Lightmap UV — это UV-развёртка статических поверхностей меша, в которой хранятся запечённые данные об освещении и тенях. В отличие от UV для текстур, каждому полигону требуется собственная неперекрывающаяся область. В UV для текстур допустимо накладывать друг на друга одинаковые поверхности, но в lightmap такой подход может смешивать данные освещения. Зазоры между островами также важны для уменьшения артефактов утечки, возникающих из-за компрессии.
Автоматическую генерацию Lightmap UV при импорте можно использовать, если она не отключена в окне FBX Import Options. Система создаёт новую lightmap-развёртку на основе UV-канала с размещением текстур, а затем перепаковывает острова без пересечений и сворачивания, оставляя зазоры с учётом целевого разрешения. Для большинства статических мешей это быстрый способ начать работу. Инструмент перепаковывает острова, но не разрезает их на части. Если геометрия не позволяет получить подходящую автоматическую развёртку, подготовьте собственную на этапе моделирования или редактирования UV.
В пользовательской развёртке старайтесь по возможности размещать на одном острове поверхности, которые логически связаны: так свет будет плавно переходить между ними. Глубокие углубления и выемки, напротив, могут быть подходящими местами для разделения островов. Для сложных или состоящих из множества частей мешей может потребоваться больше островов и зазоров; при этом для сохранения того же качества может понадобиться увеличить разрешение lightmap. Практическое значение, приведённое в документации Epic, — обычно оставлять между островами не менее четырёх texel. Формула для UV-сетки использует обратное значение целевого разрешения lightmap; для разрешения 64 в документации приводится расчёт 1 / 62 с вычетом одного пикселя отступа с каждой стороны.
4. Рабочий процесс архитектурной визуализации и частые ошибки
GPU Lightmass может заинтересовать команды архитектурной визуализации, которым важно дорабатывать изображение, итеративно запекая освещение. Однако выбор оборудования зависит не только от мощности GPU: на результат влияют также объём видеопамяти, оперативной памяти, сложность сцены и использование виртуальных текстур. Поддержка нескольких GPU требует Windows 10 версии 2004 или новее, а также GPU NVIDIA с поддержкой трассировки лучей, объединённых с помощью SLI. В тестовом примере Epic сообщается о среднем ускорении примерно в 1,7 раза при использовании двух RTX-2080TI в сценах среднего масштаба, где объёмные lightmap применяются не слишком активно. Этот показатель не гарантирован и зависит от сцены.
Частые ошибки
Считать Lightmap UV обычной UV-развёрткой текстур и накладывать острова друг на друга: в Lightmap UV у каждого полигона должна быть собственная область.
Не оставлять достаточные зазоры между островами: это может привести к утечке света или теней; документация обычно рекомендует не менее четырёх texel.
Не включать виртуальные текстуры lightmap, хотя нужен интерактивный предпросмотр: GPU Lightmass сможет запекать свет, но для редактирования сцены в реальном времени эта система необходима.
Не учитывать расход памяти при переходе на DX12: DX12 и виртуальные текстуры могут требовать дополнительной видеопамяти.
Сразу переносить GPU Lightmass в рабочий процесс для проектов, готовящихся к выпуску, не учитывая предупреждение о бета-статусе: Epic рекомендует соблюдать осторожность.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных бюро в Турции основная практическая ценность GPU Lightmass — возможность следить за изменениями изображения во время запекания света. Команды, которые дорабатывают отдельные участки сцены итерациями, могут оценить режим BWYS. Однако такая гибкость не означает, что результат автоматически будет быстрее в каждой сцене: требования к памяти зависят от геометрии, текстур и использования виртуальных текстур.
Перед принятием решения о вложениях стоит протестировать имеющуюся видеопамять и сцены проекта, а также учесть бета-статус функции и риски перед выпуском. Чистая подготовка Lightmap UV с самого начала — это ещё один недорогой способ повысить качество, не связанный с обновлением оборудования. Поскольку заявленный прирост скорости при использовании нескольких GPU зависит от условий, лучше всего провести измерения на собственных сценах.
Частые вопросы
Какие настройки нужны для GPU Lightmass в Unreal Engine?
В документации Epic указаны DirectX 12 в качестве Default RHI, поддержка Hardware Ray Tracing и включённый плагин GPU Lightmass. Для интерактивного предпросмотра также нужно включить Virtual Texture Support и Virtual Texture Lightmaps.
Какой зазор оставлять между островами Lightmap UV?
Согласно документации Epic, чтобы избежать утечки света и теней, обычно требуется зазор не менее четырёх texel. Острова Lightmap UV также не должны перекрываться.
Работает ли GPU Lightmass без виртуальных текстур?
Да, виртуальная текстуризация не обязательна для самого запекания света. Но для интерактивного предпросмотра в реальном времени необходимы Virtual Texture и Virtual Texture Lightmaps.



