Предварительная передача освещения - система 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

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

Онлайн

Сейчас на сайте: 89
Гостей: 88

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

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

MOD 457 AD
Vito, Вчера, 05:49
jager_391,Так-же в городе Ravenna, есть сундук с лутом спрятанный в соломе в закоулке в +- центре...
Upgraded steampunk clothes pack
the_raven, 22 декабря 2024 18:28
Ссылки на оригинальные файлы битые(...
MOD Distinguished Service
Максим Шевченко, 20 декабря 2024 03:31
Добрый, заранее извиняюсь. может за глупый вопрос. Установил данный мод на игру с модом "Игры...
MOD 457 AD
Vito, 20 декабря 2024 02:28
Приветствую, подскажите пожалуйста по квесту "Меч Марса". Я на стадии где по просьбе матери Аттилы,...
MOD 457 AD
zhenshen667, 15 декабря 2024 19:42
Некультурно со стороны администрации писать "(Его нет, ждите перевод или делайте сами)"....
Технические проблемы с игрой
Чикабой, 11 декабря 2024 23:18
timur karsli, Ты именно это переустановил? "Microsoft visual c++"?, или драйвера видеокарты? там...
MOD A World of Ice and Fire
Чикабой, 11 декабря 2024 23:15
timur karsli, Переустановить библиотеку визуалов, ибо там повреждены файлы....
MOD 1429 : la Guerre de Cent Ans - Steel Edition
kitel, 11 декабря 2024 09:04
Цитата: kitelпередайте тем кто руссификаторы делал чтобы перед презентацией сами проверяли их. Я...
MOD 1429 : la Guerre de Cent Ans - Steel Edition
kitel, 10 декабря 2024 16:45
передайте идиотам что руссификаторы делали чтобы перед презентацией сами проверяли их. Я только...