Карты освещения
Lightmapping is a static global illumination technique using precalculated textures (lightmaps) that store brightness and reflected color of lit surfaces. By using lightmapping you can avoid heavy computations of lighting in primarily static scenes.Лайтмаппинг – это метод статического глобального освещения с использованием предварительно рассчитанных текстур (карт освещения), которые хранят яркость и цвет света, отраженного освещенными поверхностями. Используя лайтмаппинг, можно избежать тяжелых вычислений освещения, особенно если речь идет о статичных сценах.
Lightmapping is the most efficient solution enabling to achieve realistic diffuse lighting and keep the high performance. It is capable of giving high-detailed global illumination combined with simulation of many light bounces. The number of bounces is the key aspect of creating realistic lighting in bright scenes. When you use lightmapping it doesn’t matter how many rays, bounces or light sources are there, as everything is calculated once and then baked in textures. These textures are then simply projected onto the surfaces of objects, creating a realistic look.Карты освещения – наиболее эффективное решение, позволяющее добиться максимально реалистичного рассеянного освещения при сохранении производительности. Оно позволяет обеспечить высокодетальное глобальное освещение в сочетании с имитацией множества переотражений. Количество отскоков – это ключевой аспект создания реалистичного освещения в ярких сценах. При использовании карт освещения, количество лучей, отражений или источников света не имеет значения, поскольку все рассчитывается один раз, а затем запекается в текстурах.Текстуры эти затем просто проецируются на поверхности объектов, придавая им реалистичный вид.
UNIGINE provides an integrated GPU-accelerated Lightmapper tool available in the Bake Lighting window.В UNIGINE есть интегрированный инструмент Lightmapper с GPU-ускорением, а находится он в окне Bake Lighting.
Baking correct lightmaps requires proper and non-overlapping UV coordinates for all scene geometry. If your assets do not have such UV coordinates (for example, CAD models), use the automatic UV unwrapping option when importing the model.Чтобы запечь корректные карты освещения, нужно иметь корректную (без перекрытий) UV-развертку для всей геометрии сцены, для которой будет использоваться лайтмаппинг. Если у ваших моделей нет такой UV-развертки (например, CAD-модели), можно воспользоваться автоматической UV-разверткой при импорте объектов.
In the Import Settings for FBX, CAD models and UNIGINE *.mesh assets, select the UV Channel and Target Resolution to be used for lightmaps (it directly affects the map quality and baking time) and, if needed, toggle UV channels for unwrapping. Traditionally, UV Channel 0 is used for texturing and Channel 1 is for lightmapping. В настройках импорта для моделей (FBX,CAD,*.mesh) выберите UV-канал, который будет использоваться для карт освещения и их разрешение (оно непосредственно влияет на качество карт и время запекания), при необходимости, выберите UV-каналы, для авторазвертки. Традиционно Канал 0 UV используется для текстурирования, а Канал 1 – для карты освещения.
For all surfaces of static objects that are intended to be lightmapped, the following Lightmaps parameters are to be adjusted: Для всех поверхностей статических объектов, для которых планируется использование лайтмаппинга, в группе Lightmaps нужно настроить следующие параметры:
- Toggle the Enabled flag to enable the feature.Включите флажок Enabled.
- Select Bake Unique Texture if you want to bake a new lightmap (if you want to use an already generated map, select the Use Custom Texture mode).Выберите Bake Unique Texture, если хотите запечь новую карту освещения (если у вас есть готовая карта – выберите режим Use Custom Texture).
- Moreover, you can specify the lightmap Texture generated in a third-party software. Select the Use Custom Texture mode for this purpose.Кроме того, вы можете указать текстуру карты освещения, созданную в стороннем программном обеспечении. Для этого выберите режим Use Custom Texture.
For a surface to contribute to the lightmap, it must have the Cast Global Illumination option enabled (this option should be disabled for dynamic objects). Чтобы поверхность учитывалась при запекании, у нее должна быть включена опция Cast Global Illumination (у динамических объектов эта опция должна быть отключена).
Prepare light sources: set the Static mode for the sources that should contribute to lightmapping (these light sources are to be enabled during the baking process), in order to bake direct and reflected light from emissive surfaces (with the enabled Emission state in the material parameters) enable the Emission Bake GI option.Подготовьте источники освещения: выберите режим Static для тех, свет от которых нужно запечь (во время запекания источники должны быть включены), чтобы запечь прямой и отраженный свет от эмиссионных поверхностей (с включенным состоянием Emission в параметрах материала) включите опцию Emission Bake GI.
Baking ProcessПроцесс запекания#
- Enable the Lightmap buffer: Rendering -> Buffers -> Lightmap.Включите буфер Lightmap: Rendering -> Buffers -> Lightmap.
- Open the Bake Lighting window.Откройте окно Bake Lighting.
-
Enable Bake Lightmaps for Surfaces. Adjust the baking settings:Включите Bake Lightmaps for Surfaces и отрегулируйте настройки запекания:
- Set up Baking Viewport Masks.Настройте Baking Viewport Masks – для селективного запекания источников света и поверхностей.
- Select the baking Quality: Draft is suitable for quick iterations, and Ultra provides the maximum quality.Установить качество запекания (Quality): Draft подходит для быстрых итераций, а Ultra обеспечит максимальное качество.
- Adjust Far Clipping Distance for clipping the light rays.Настройте Far Clipping Distance для отсечения световых лучей.
- Set the number of light ray bounces (higher values will result in a brighter lighting).Укажите число отскоков светового луча (чем больше, тем ярче освещение).
- Start the baking process for all objects by clicking Bake All Lighting and wait for it to finish. Live preview of the process is available (the number of samples counted per frame can be adjusted during the baking process).Запустите процесс запекания для всех объектов, нажав Bake All Lighting, и дождитесь его завершения. Процесс генерации можно наблюдать в реальном времени (количество сэмплов просчитываемых за кадр можно регулировать в процессе запекания).
- The generated lightmaps are saved to the bake_lighting/lightmaps folder and applied to the corresponding surfaces.По завершении сгенерированные карты освещения сохраняются в папку bake_lighting/lightmaps и применяются к соответствующим поверхностям.
- To improve the quality, you can also enable Lightmap Cubic Filtering in the material settings of the surfaces with the light map.Для улучшения качества можно также включить Lightmap Cubic Filtering в настройках материалов поверхностей с картой освещения.
- The result can be checked by selecting the Indirect Lighting mode in the Rendering Debug menu.Полученный результат можно проверить, выбрав режим Indirect Lighting в меню Rendering Debug.
Lightmaps can be combined with Voxel Probes and Environment Probes.Карты освещения можно комбинировать с воксельным освещением Voxel Probes и Environment Probes.