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
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн

Сейчас на сайте: 110
Гостей: 108

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

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

ПРОХОЖДЕНИЕ A WORLD OF ICE AND FIRE
Samiraldos, Сегодня, 07:18
Простейший квест в деревне на обучение крестьян для защиты в версии 9.3 не работает :) Надо...
MOD A World of Ice and Fire
Samiraldos, Сегодня, 06:46
Чит-магазин к 9.0 от Тура не работает на версии мода 9.3...
MOD 1812-1815 Сингальный наполеоник варс
kitel, Вчера, 17:42
у меня черный экран. Что делать?...
Diplomacy 4.3 - Mrcmod and bugfixes
Kirito Kirita, 13 ноября 2024 19:37
Здравствуйте, а нет патча или возможности, чтоб работали ачивки?...
ГАЙД ПО ПРОХОЖДЕНИЮ МОДА PERISNO 0.8
Комсорг, 12 ноября 2024 11:02
Dik Richardson, В замке столицы Элинтора есть непись который расскажет тебе об этой битве...
Гайд по добавлению вещей в мод
Alan Marhenko, 8 ноября 2024 16:28
Подскажите ребят, как добавить геральдическую броню, вот кажется все сделал как надо, а вышла все...
MOD Perisno
Onsl, 8 ноября 2024 15:52
Комсорг, У Сябра есть свой отряд,он должен следовать за тобой.Доводишь его до города Форде,говоришь...
MOD Perisno
Комсорг, 7 ноября 2024 19:09
До какого города нужно Сябра довести? 1. Его нет у меня в пати 2. Капитан форта, если туда вести...
ГАЙД ПО ПРОХОЖДЕНИЮ МОДА PERISNO 0.8
Комсорг, 7 ноября 2024 19:08
До какого города нужно Сябра довести? 1. Его нет у меня в пати 2. Капитан форта, если туда вести...