Всадники Кальрадии

Разное => Том 2: Mount & Blade 2: Bannerlord => Учебник (руководство) => Статьи => О сайте и форуме => Раздел 2. Инструменты мододела => Тема начата: Vanok от 27 Октября, 2020, 13:55

Название: Редактор сцен. Предварительная передача освещения (GI)
Отправлено: Vanok от 27 Октября, 2020, 13:55
Автор: Дима Гончар (https://forum.commando.com.ua/threads/redaktor-scen.360/)

Мы представляем новую систему глобального освещения (GI) нашего движка. Она основана на предварительно приготовленной системе, называемой «Precomputed Radiance Transfer» (далее - PRT). Этот метод позволяет создать локальную среду (освещения) в сцене и оптимизировать ее поведение во время работы игры. Эти данные не зависят от atmospheres (погоды в сцене). Таким образом, мы можем осветить сцену одними и теми же заготовленными данными для каждой атмосферы. Освещение в такой сцене состоит из зондов - точечных источников света, разбросанных по сцене.

(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603703997_prt_ss_gi-min.png)
Сцена с GI

(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603703949_prt_ss_sky_access-min.png)
Сцена без GI

Процедура подготовки


Подготовка сцены разделена на пару частей:

    Во-первых, нужно разместить border probes (границы зондов), чтобы определить границы GI сцены.

Примечание 1: если вы минимизируете границы GI в максимально возможной степени (не расширяя их до отдаленных мест, где нельзя перемещаться), вы можете уменьшить размеры сетки и, таким образом, у вас будет более точное освещение внутри города, где это наиболее важно. Для городских сцен мы обычно используем сетку размером 1,5 метра в ширину и 2,5 метра в высоту.

Примечание 2: для пикселей за пределами границ GI мы используем fallback probe (резервные зонды) из сцены. По умолчанию это самый высокий активный зонд рядом с левым углом порядка GI. Сценодел может выбрать любой другой зонд из сцены, сначала выбрав зонд и установив флажок «Fallback Probe» в пользовательском интерфейсе.

(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603704031_grid1.png)
(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603703991_grid2.png)

Далее создаются зонды GI. Начальные положения зондов вычисляются автоматически с использованием навигационного меша сцены. С помощью навигационного меша мы размещаем зонды там, где агенты могут перемещаться, а также везде, где видны эти точки навигации. Зонды создаются в трехмерной сетке. Направленные данные окружения рассчитываются для каждого положения зонда. Используя эти значения окружающего света, каждый пиксель на экране освещается 8-ю ближайшими зондами. В некоторых случаях, когда освещение между соседними зондами имеет очень большую разницу, может возникнуть утечка света или тени. Чтобы исправить эти проблемы, мы рендерим карты теней от зондов таким же образом, как точечные источники света. Зонды с картами теней называются «Зондами Видимости». Существует предел для этих датчиков видимости, который составляет 2048, из-за проблем, связанных с использованием памяти. На этапе автоматического размещения система также пытается найти наиболее вероятные места утечки и назначить местные зонды в качестве Зондов Видимости, учитывая разницу в окружающем освещении. Для дополнительных исправлений утечек, система оставляет последние 5% предела Зонда Видимости пустым, чтобы сценодел мог исправить оставшиеся проблемы с утечками.

(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603703954_prt_probes-min.png)
(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603703943_diffuse_ambient-min.png)

Файлы PRT


Как и система данных редактирования сцены, данные PRT делятся на две части. prt_data.bin находится внутри папки SceneObj и представляет собой сжатую версию, в которой отсутствуют какие-либо данные для редактирования. Этот файл следует отправить в управление источником (source control). Другой файл - это файл данных редактирования. Он очень большой (около 2–3 ГБ) и автоматически отправляется в папку Edit Data внутри Network (сети). После открытия предварительно заготовленной сцены в редакторе загружаются только сжатые данные. Чтобы иметь возможность редактировать данные заготовки, вы должны загрузить данные редактирования с помощью кнопки «Load» на панели «General Info» в PrtInspector.

Важное примечание: после любых изменений данных prt не забудьте сохранить данные с помощью кнопки «Save» на панели «General Info» в PrtInspector.

PRT операции


(https://rusmnb.ru/img2/rukovodstvo/bannerlord/editor/1603704114_gi_operations_tab.png)
Параметры размещения зонда:
Инструменты выделения:
Для быстрого и плавного редактирования зондов реализованы различные инструменты выделения.
(https://commando.com.ua/uploads/posts/2020-10/thumbs/1603704025_lasso-min.png)

Инструменты видимости
Примечание: Эта система отображает только ближайшие 100 зондов относительно камеры.

Полезные горячие клавиши