Предварительная передача освещения - система GI


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

С GIБЕЗ GI




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

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

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

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



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


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

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

PRT операции

  • Load: загружает данные редактирования с сервера.
  • Save: сохраняет текущие данные редактирования на сервере.
  • Auto Height Boundary: автоматически регулирует высоту граничных зондов PRT до минимума/максимума сцены.
  • Bake Single Level: заготавливает сцену с текущими уровнями, следует использовать для внутренних сцен.
  • Bake All Levels: заготавливает сцену с заранее определенными комбинациями нескольких уровней (а именно: level-1/level-2/level-3 and siege/civilian).

Параметры размещения зонда:
  • Grid Width: ширина сетки, определяет размер ячейки сетки датчика в плоскости XY. Для городов можно использовать 1.5. Для сцен с интерьером вы можете использовать от 0,5 до 1,0.
  • Grid Height: высота сетки, определяет высоту ячейки сетки датчика. Для городов следует использовать значение около 2,5. Для сцен с интерьером вы можете использовать от 0,5 до 1,0.

Инструменты выделения:
Для быстрого и плавного редактирования зондов реализованы различные инструменты выделения.
  • Select All: выделяет все зонды.
  • Grow: увеличивает выделение, чтобы включить соседние зонды в плоскости XY.
  • Shrink: сжимает выделение, чтобы включить только внутренние соседние зонды в плоскости XY.
  • Fill: Находит внутренние зонды текущей выбранной группы зондов и выделяет их.
  • Select Border: Находит и выбирает границы зондов текущего выделения.
  • Select Inner Border: Находит и выбирает внутренней границы текущего выделения.
  • Select Outer Border: Находит и выбирает внешней границы текущего выделения.
  • Lasso Tool: мы реализовали инструмент лассо для легкого выбора группы зондов. Его можно запустить, нажав «R», и выключить двойным кликом, или снова нажав «R».




Инструменты видимости
  • Show Active Probes: показывает всех активных зондов.
  • Show Deactive Probes: показывает неактивные зонды.
  • Show Visibility Probes: показывает датчики видимости (те, которые рассчитаны для предотвращения утечки).
  • Level To Show: выбор уровня Z для отображения. -1 означает все уровни.
  • Show Probe Radius: определяет радиус зонда для отладки визуализации.
  • Box Tool: включает режим, в котором вы находитесь.

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

Полезные горячие клавиши
  • Left Ctrl + X: включить/отключить выбранные зонды.
  • Левый Ctrl + C: переключает статус «Видимость зонда».
  • Левый Alt + ЛКМ: выбирает зонды, которые влияют на пиксель (очень удобный инструмент для устранения проблемы утечки, выберите пиксель и используйте горячую клавишу выше, чтобы исправить проблему)





- используйте эту кнопку если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости или если хотите сообщить администрации о выходе новой версии мода и т.п.

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 51
Гостей: 49

Пользователи: 
- отсутствуют

Последние комментарии

MOD Napoleon: Conquest Europe
kitel, 8 октября 2024 20:54
вопрос такой. А чем выделился этот мод по сравнению с орлом? я понимаю что этот мод давно заброшен...
Mount & Blade II: Bannerlord - лошади
Ivamar, 7 октября 2024 08:35
Играю на коне, прокачал верховую езду на 270, каждый день битвы но сидя в городе заметил: за неделю...
MOD Between Empires
Onsl, 6 октября 2024 23:43
kitel,  Заходишь в папку Modules,выбираешь нужный тебе мод,нажимаешь на него,находишь потом папку...
MOD Between Empires
kitel, 5 октября 2024 12:48
нет а где их найти чтобы удалить?...
MOD Between Empires
Onsl, 5 октября 2024 10:39
kitel, Удалял файлы font.data и font.dds?...
MOD WB: Restart!
Sparta_azazel, 4 октября 2024 13:41
Версия 2.6 выглядит очень неиграбельно. Постоянные вылеты в любой точке карты...
MOD Between Empires
kitel, 4 октября 2024 13:13
поставил руссификатор но вместо слов точки или пустота. в чем дело?...
Прохождение мода A CLASH OF KINGS
Чикабой, 28 сентября 2024 23:17
Павел Романов, Обычно такое если праздники, либо  у фракций 1 город остался, и они не могут...
Mount & Blade - Эпоха турниров (Warband) 1.174
Чикабой, 28 сентября 2024 23:16
зашел я на сервер Триолдов в нативе, этоже надо так было угробить сервак, чтобы сделать ограничение...