This page has been translated automatically.
Основы UNIGINE
1. Введение
2. Виртуальные миры и работа с ними
3. Подготовка 3D моделей
4. Материалы
6. Реализация логики приложения
7. Создание кат-сцен и запись видео
8. Подготовка проекта к релизу
9. Физика
10. Основы оптимизации
11. ПРОЕКТ2: Шутер от первого лица
12. ПРОЕКТ3: Аркадная гонка по пересеченной местности от 3-го лица
13. ПРОЕКТ4: VR приложение с простым взаимодействием

Глобальное освещение

In addition to lightmaps, UNIGINE has a static GI method — voxel-based global illumination. Essentially, it projects a precalculated 3D lightmap onto parts of surfaces into a box-shaped voxel volume. This approach uses spatial modulation, so UV coordinates are not required. Voxel GI is based on the use of multiple Voxel Probe sources, which opens up many possibilities. You can combine low-detail voxels with high-detail voxels (insets), you can turn them on and off one by one, mix them as you see fit in order to achieve the desired result. Voxel Probe is mainly applied in ambient lighting. When baked, Voxel Probe illuminates everything inside its volume with ambient light, providing a pretty good simulation of global illumination, including ambient occlusion, light bounces, and diffuse reflections. Of course, voxels will never be as realistic as lightmaps, nor can they provide the same density due to a number of factors, but voxel-based GI is suitable for any high-polygon and low-polygon geometry, does not require UV maps, and can be used for dynamic objects (which is clearly beyond lightmapping). The great thing is that these two techniques can be combined, and you can choose any of them depending on the requirements of a particular project (for example, lightmaps are the best option for high-quality lighting in a static scene, but if you need dynamics, you can just add voxels where needed).Помимо карт освещения в UNIGINE есть метод статического GI – глобальное освещение на основе вокселей. Суть его заключается в проецировании предварительно рассчитанной трехмерной карты освещения на части поверхностей внутри прямоугольного объема вокселей. В этом подходе используется пространственная модуляция, поэтому UV-координаты не нужны. Воксельное GI основано на использовании отдельных источников типа Voxel Probe, что открывает много возможностей. Можно комбинировать низкодетальные воксели с высокодетальными (инсеты), можно включать и выключать их по одному, смешивать их по своему усмотрению для достижения желаемого результата. Основное применение Voxel Probe – окружающее освещение. При запекании Voxel Probe освещает все в своем объеме окружающим освещением, обеспечивая весьма неплохую имитацию глобального освещения, включая ambient occlusion, отскоки света и диффузные отражения. Воксели, конечно, никогда не будут такими же реалистичными, как карты освещения, и не смогут обеспечить такую же плотность в силу ряда факторов, но воксельное GI подходит для любой высокополигональной и низкополигональной геометрии, не требует UV-карт и может использоваться для динамических объектов (что явно выходит за рамки лайтмаппинга). Самое замечательное, что эти две техники можно комбинировать, а также выбирать любую из них под требования конкретного проекта (например, лайтмапы – лучший вариант для качественного освещения в статичной сцене, но если вам нужна динамика, можно просто добавить вокселей где нужно).

Global Illumination is baked using the same Bake Lighting tool. Before baking, you need to pre-configure objects and lighting sources as we did for lightmaps: turn on Cast Global Illumination for static surfaces (turn it off for dynamic ones).Запекание глобального освещения выполняется тем же инструментом Bake Lighting. Для запекания потребуется преднастроить объекты и источники освещения аналогично тому, что мы делали для карт освещения: включаем для статических поверхностей Cast Global Illumination (у динамических – выключаем).

Select the Static mode for the sources to be baked, and enable the Emission Bake GI option for surfaces with emission.У запекаемых источников выбираем режим Static, а для эмиссионных поверхностей включаем опцию Emission Bake GI.

Create and place one or more Voxel Probes in areas where illumination is relatively static (e.g. interiors, street buildings, immovable objects).Создайте и разместите один или несколько Voxel Probes в местах, где освещение остается относительно статичным (например, в интерьерах, уличных зданиях, неподвижных объектах).

Примечание
Place some Voxel Probes inside other Voxel Probes to create insets that define areas of higher detail. Note that Voxel Probe with the Additive Blending mode enabled cannot be used for this purpose, because instead of replacing each other, they will blend together.Поместите одни источники Voxel Probes внутри других, чтобы создать инсеты, определяющие области с более высокой детализацией. Обратите внимание, что Voxel Probes с включенным режимом аддитивного смешивания (Additive Blending) нельзя использовать для этой цели,поскольку вместо того, чтобы замещать друг друга, они будут смешиваться.

Set the general Voxel Probe settings, such as Box Size and Voxel Size, which define the resolution of the voxel grid and the video memory consumed.Задайте общие настройки Voxel Probe, например, Box Size и Voxel Size, определяющие разрешение сетки вокселей и потребляемую видеопамять.

Baking Process
Процесс запекания
#

  1. Enable the Lightmap buffer (Rendering → Buffers → Lightmap).Включите буфер Lightmap (Rendering → Buffers → Lightmap).
  2. Open the Bake Lighting window.Откройте окно Bake Lighting.
  3. Enable Bake Voxel Probes and adjust Voxel Size Multiplier, if necessary:Включите Bake Voxel Probes, при необходимости отрегулируйте Voxel Size Multiplier:

    • Configure Baking Viewport Masks to select the light sources and surfaces that should be baked.Настройте Baking Viewport Masks – для селективного запекания источников света и поверхностей.
    • Set 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 для отсечения световых лучей.
  4. Set the number of light ray bounces (higher values will result in a brighter lighting).Укажите число отскоков светового луча (чем больше, тем ярче освещение).
  5. Start 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, и дождитесь его завершения. Процесс генерации можно наблюдать в реальном времени (количество сэмплов просчитываемых за кадр можно регулировать в процессе запекания).

  6. The generated lightmaps are saved to the bake_lighting/voxel_probes folder and applied to the corresponding Voxel Probes.По завершении сгенерированные карты освещения сохраняются в папку bake_lighting/voxel_probes и назначаются соответствующему Voxel Probes.
  7. 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 в настройках материалов поверхностей с картой освещения.
  8. The result can be checked by selecting the Indirect Lighting mode in the Rendering Debug menu.Полученный результат можно проверить, выбрав режим Indirect Lighting в меню Rendering Debug.

Additive Blending
Аддитивное смешивание
#

More flexibility in lighting control is available with the Additive Blending mode. You can use it to blend lighting of several Voxel Probes together and control them separately (e.g. make a separate Voxel Probe for an indoor lamp and blend it with another Voxel Probe with lighting baked from the sky, having the ability to enable and disable them separately).Больше гибкости в управлении освещением обеспечивает режим Additive Blending. Его можно использовать для смешивания освещения от нескольких Voxel Probes вместе и управления ими по отдельности (например, создать отдельный Voxel Probe для какой-нибудь лампы в помещении и смешать его с другим Voxel Probe с освещением, запеченным от неба, имея возможность включать и отключать их по отдельности).

Последнее обновление: 18.01.2024
Build: ()