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 (основное)
Об игре




Если вы обнаружили ошибку/искажение содержимого/отсутствие контента в новости: Выделите место с ошибкой, нажмите ctrl+Enter и изложите проблему

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

Интересно

Онлайн

Сейчас на сайте: 77
Гостей: 72

Пользователи: 

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

MOD Forge For Me
TotenkopfRUS, Сегодня, 15:38
Эм, мод крошечный, и поэтому я его для себя перевел. Если надо, могу выложить языковой файл. Не то,...
Prophesy of Pendor 3.9
Akawirec, Сегодня, 15:29
Dormidont, можно в таверне, из 2 штук "барахла", обоз с едой делать, на 150 кажется....
Prophesy of Pendor 3.9
Dormidont, Сегодня, 14:51
Tissimir, Cпасибо) ...
Prophesy of Pendor 3.9
epilect, Сегодня, 14:21
Продавать,если память не изменяет,оно нормально стоит.Другого применения у него нет....
Prophesy of Pendor 3.9
Tissimir, Сегодня, 14:14
Dormidont, приветствую на сайте. Играл очень давно, но, кажется, его просто продать можно. Подожди,...
Prophesy of Pendor 3.9
Dormidont, Сегодня, 13:46
А что делать с "разное барахло"? Пол инвентаря уже в этом барахле. Куда его девать? ...
MOD CA - Eagle Rising - Dawn of an Empire
TotenkopfRUS, Сегодня, 12:18
Все же, римский мод на варбанд пока на порядок лучше. Тем не менее, буду наблюдать за этим...
MOD Take Both
TotenkopfRUS, Сегодня, 12:17
Да, мод добавляет тебе второй навык, даже если первый уже был взят до установки мода. То же самое...
MOD 12TH
Andyboi, Сегодня, 10:55
1) список НПС, которых не нашел (нажми F4 и напиши имена, которых нет в отряде)  2) скину видео...