MOUNT AND BLADE 2 BANNERLORD: глобальное освещение


Bannerlord 

Приветствую воинов Кальрадии!

Освещение - чрезвычайно важный аспект любой современной игры. При плохом освещении самые детализированные модели и текстуры кажутся тусклыми и безжизненными, в то время как хорошее освещение помогает объединять различные визуальные элементы на экране, обеспечивая более реалистичную и эстетически привлекательную полировку. Это то, что мы хорошо знаем, и именно это привело к появлению Global Illumination (GI) в нашем игровом движке некоторое время назад (о чем мы кратко упоминали в то время в нашем блоге "Обновление движка 1.4").

 

В последнее время мы работали над улучшением и интенсивной оптимизацией этой функции движка, поэтому нам хотелось потратить время на то, чтобы расширить эту тему и немного подробнее обсудить GI, охватывая наши требования, работу системы и затрагивая некоторые из трудностей, с которыми мы столкнулись при его реализации.

Итак, что такое GI? Проще говоря, GI - это система, которая моделирует, как свет отражается от поверхностей на другие поверхности, или, другими словами, непрямое освещение. Это позволяет свету, излучаемому источником, например факелом, взаимодействовать с окружающими объектами более естественным образом, при этом часть света поглощается объектом, а остальная часть отражается на других объектах. Конечный результат - гораздо более реалистичное представление о том, как свет действует в реальном мире.

В Bannerlord мы решили использовать решение GI, которое может работать с различными средами освещения, может работать на широком спектре аппаратного обеспечения, имеет низкое использование памяти и жесткого диска и требует меньше ручной работы для каждой сцены. С учетом этих требований мы решили использовать статическое решение, обеспечивающее передачу освещения в заранее определенных точках зонда.

 

Для нашей реализации мы черпали вдохновение из нескольких методов. В основном алгоритме освещения используется метод из предварительно рассчитанной передачи излучения для рендеринга в реальном времени в условиях динамического освещения низкой частоты (Sloan, et al, 2002). В дополнение к этому мы внедрили в игру офлайн трассировщик лучей, чтобы обеспечить правильное освещение в соответствии с основной правдой. После этого мы изменили некоторые уравнения, чтобы на игровой процесс не оказывалось негативного влияния (например, увеличивая окружающий свет факелов).

При использовании методов на основе зондов, таких как тот, который использует наш движок, основной проблемой является утечка света, которая может резко снизить качество изображения. Чтобы решить эти проблемы с утечками, мы используем алгоритм карты теней, описанный в слайде «Облучение и освещение» на слайде «Видимость» (Morgan McGuire, 2017). Однако наиболее сложной и трудоемкой задачей было внедрение процесса, который может автоматизировать размещение зонда, размещение карты теней световых утечек и процесс выпекания.

Во-первых, мы не хотели размещать зонды повсюду, так как это сэкономило бы огромное количество памяти и использование жесткого диска, что было одним из наших начальных требований к дизайну. Таким образом, для достижения желаемого визуального результата, при этом не забывая об использовании аппаратного обеспечения, наш автоматизированный процесс выпечки использует навигационную сетку для поиска позиций, которые могут пройти агенты. Затем из этих позиций отбрасываются лучи, чтобы найти видимые точки на сцене. Для всех этих точек автоматический процесс затем размещает датчики в виде сетки. После этого автоматический процесс назначает функции карты теней тем, которые могут привести к утечкам. Например, внешний зонд, который воздействует как на внутреннюю часть дома, так и на внешнюю, отобразит карту теней, чтобы предотвратить утечку. Наконец, функция передачи освещения рассчитывается для каждого размещенного зонда. Этот процесс выполняется для каждой комбинации уровней для городов и один раз для многопользовательских и внутренних карт.

Этот автоматический процесс выпечки может быть запущен через редактор или нашу внутреннюю систему интеграции, что экономит огромное количество времени для наших дизайнеров сцен! И хорошая новость в том, что это также будет доступно для мододелов и так же просто, как нажатие кнопки в редакторе сцены. Кроме того, дополнительное время редактирования оптимизируется многими расширенными операциями редактирования, такими как операции лассо и геометрического выделения и ярлыки в редакторе.

 

Мы очень довольны окончательными результатами. Наша реализация GI, безусловно, улучшает визуальные эффекты игры, добавляя некоторую визуальную глубину к сценам и делая среду более реалистичной, и все это с минимальным влиянием на производительность!

MOUNT BLADE 2 BANNERLORD (основное)
Об игре




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

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

Друг сообщества
Дима Гончар
Титул: Король Британии
Офлайн 9 ноября 2019 00:27 поделиться
Блох после сушки: Теперь освещение в сценах делается нажатием одной кнопки в редакторе и имеет очень хорошую оптимизацию


Царь
syabr
Титул: Главный динозавр и ГГ сайта
Офлайн 9 ноября 2019 00:54 поделиться
Ужасно. Тоесть, если мне надо будет осветить один угол в каком-нибудь логове или пещере, осветится всё пространство?((( Ааа, верните обратно ручное управление! smile18 


Танки грязи не боятся, сама отвалится
Я на Всадниках Кальрадии: https://rusmnb.ru/index.php?action=profile;u=18932
Офлайн 9 ноября 2019 07:54 поделиться
syabr, факел в помощь)


Друг сообщества
Дима Гончар
Титул: Король Британии
Офлайн 9 ноября 2019 08:49 поделиться
syabr, да, факел поставь. Теперь не надо возиться с "лампочками" разных видов


Царь
syabr
Титул: Главный динозавр и ГГ сайта
Офлайн 9 ноября 2019 10:57 поделиться
Старый Пердун 23,Дима Гончар, вся прелесть лампочек в том, что можно сделать разный по насыщенности свет. Сам факел без лампочки освещать не будет. Можно было сделать ярче или "теплее", а теперь видимо будет одинаково((


Танки грязи не боятся, сама отвалится
Я на Всадниках Кальрадии: https://rusmnb.ru/index.php?action=profile;u=18932
Дружинник
Alkov
Офлайн 10 ноября 2019 12:20 поделиться
может еще доработают.....


Мододел
Гончий Пёс
Офлайн 11 ноября 2019 10:31 поделиться
 А блог про освещение вроде уже был..


Царь
syabr
Титул: Главный динозавр и ГГ сайта
Офлайн 11 ноября 2019 12:14 поделиться
Так у них всё по второму разу, а осады аж по третьему)


Танки грязи не боятся, сама отвалится
Я на Всадниках Кальрадии: https://rusmnb.ru/index.php?action=profile;u=18932
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 97
Гостей: 95

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

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

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
передайте идиотам что руссификаторы делали чтобы перед презентацией сами проверяли их. Я только...
Быстрый перевод мода Warband гуглом
kitel, 1 декабря 2024 20:28
я перевел файл но перевод какой то странный. строки с командами отправились под конец диалога. это...
MOD Armor Mod for Viking Conquest
Halfdown, 30 ноября 2024 14:17
Еще можно установить его?  Переходя по ссылке выдает это The mod requested could not be found. We...
Технические проблемы с игрой
timur karsli, 30 ноября 2024 12:34
Добры день. Возникла проблема в игре, выдаёт ошибку "Microsoft visual c++ runtime library error " в...
MOD A World of Ice and Fire
timur karsli, 30 ноября 2024 03:12
Доброго вечера. Подскажите, пожалуйста, как решить проблему появление ошибки "Microsoft visual c++...