Внутреннее устройство: Улучшенная система материалов

Внутреннее устройство: Улучшенная система материалов

Прокомментировать Просмотры: 0

В обновлении 1.60 мы добавили улучшенную систему материалов для выбранных грузовиков в Euro Truck Simulator 2 и American Truck Simulator. А сегодня мы предлагаем вам заглянуть за кулисы и узнать, как эта функция воплощалась в жизнь!

Главными создателями этой функции стали наши коллеги Даниэль и Мартин, которые внедряли и продолжают внедрять новую систему для грузовиков в обеих играх, а также для автомобилей в готовящемся проекте Road Trip для American Truck Simulator.

Даниэль — технический руководитель автомобильного направления

«Я работаю в SCS Software уже более тринадцати лет. Начинал как универсальный 3D-специалист, затем работал над транспортными средствами в качестве художника и руководителя команды. Сегодня моя должность — технический руководитель автомобильного направления.

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

Моей задачей в рамках работы над улучшенной системой материалов было выявить проблему, предложить решение и совместно с программистами реализовать его в движке. Затем нам нужно было настроить практический рабочий процесс для команды художников, чтобы систему можно было стабильно применять и к остальным машинам. Программисты создали необходимую поддержку в движке и шейдерах, после чего графические дизайнеры адаптировали и доработали материалы для конкретных грузовиков».

Мартин — старший 3D-художник-оформитель

«Я работаю старшим 3D-художником, специализирующимся на транспорте. Я также занимал должность руководителя контентного отдела в проекте Road Trip: участвовал в отборе автомобилей и их конкретных модификаций, занимался исследованиями и препродакшеном, давал экспертные консультации, а впоследствии работал над непосредственным созданием машин. Кроме того, я помогал Дану дорабатывать изменения в системе материалов.

Автомобили — моя давняя страсть, особенно спорткары и классика, особенно американская. Благодаря этому я смог принести в проект собственный опыт и знания об американской автомобильной культуре, истории и техническом развитии отдельных моделей.

Моей главной задачей был Ford Mustang 1967 года и всё, что связано с его визуальной и контентной подготовкой. Я участвовал в выборе конкретной машины и её версии, проводил исследования, собирал референсы, консультировал при сборе данных, а также создавал саму модель и материалы.

В процессе разработки новой системы материалов я подготавливал и настраивал отдельные поверхности Мустанга. Вместе с Даном мы использовали эту машину, чтобы проверить, как новое техническое решение ведёт себя на практике и какие параметры дают наиболее точный результат».

С чего начался этот проект?

«Разработка стартовала, когда мы трудились над проектом Road Trip. Салоны легковых машин меньше и темнее грузовых, поэтому недостатки старой системы в них бросались в глаза сильнее.

Помимо прямого света, оригинальная система никак не умела просчитывать свет внутри интерьеров. В реальном мире значительная доля визуального восприятия строится на так называемом непрямом, или отраженном свете (GI). Однако игра с этой концепцией вообще не работала и под неё не проектировалась. Мы понимали, что это нужно как-то менять.

Вторая проблема заключалась в том, что интерьеры грузовиков включают множество разнообразных материалов: ткань, кожу, пластик, крашеные поверхности, металл и стекло. Старая система не могла отображать их достоверно, особенно при непрямом освещении — всё выглядело очень плоским.

Проект Road Trip предоставил нам подходящую изолированную среду для разработки и тестирования. Тем не менее, с самого начала мы проектировали систему так, чтобы её можно было использовать и для грузовиков», — рассказывает Даниэль.

Что вам пришлось сделать перед тем, как приступить к внедрению улучшенной системы?

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

Было недостаточно просто определить, что какая-то деталь салона сделана, например, из пластика, кожи или металла. Требовалось также изучить фактуру поверхности, степень глянца, то, как материал отражает свет, следы износа, цветовой оттенок и различия между отдельными элементами. Это исследование заложило фундамент, опираясь на который мы впоследствии могли оценивать, соответствуют ли внутриигровые материалы реальному автомобилю», — поделился Мартин.

«Нам также предстояло определиться с направлением движения. Одним из ключевых требований было сохранение производительности, поэтому мы искали подходы, не требующие сложных вычислительных операций, и добивались хороших результатов при минимальном росте трудоемкости вычислений. Я считаю, что плоды наших стараний вылились в заметное улучшение графики при минимальном влиянии на производительность», — добавил Даниэль.

Как выглядел процесс интеграции новой системы в игру?

«Нам потребовалось внести изменения в движок касательно того, как игра загружает отражающие текстуры и работает с ними. Отражающая текстура — это, по сути, куб, каждая грань которого показывает отражение в определенном направлении относительно игрока. Её использование значительно эффективнее расчета реальных световых отражений с помощью трассировки лучей. Мы внесли ряд изменений в код, чтобы получить прямой доступ к отдельным мипмапам. Мипмап — это уменьшенная копия исходного изображения, обычно применяемая, когда текстурированный объект находится далеко от игрока, чтобы избавиться от неприятной ряби. Однако в нашем конкретном случае более низкое разрешение автоматически дает более мягкое отражение. Его можно использовать для материалов, обладающих не стопроцентно глянцевой, а более физически шероховатой поверхностью, из-за чего отражение на ней становится более рассеянным.

Таким образом мы создали несколько уровней гладкости отражений: от идеально глянцевых поверхностей вроде хрома до более мягких отражений на коже сидений и шероховатых, почти не отражающих материалов вроде ткани, где одна сторона текстурного куба имеет размер всего 2х2 пикселя. В нашем случае это заменяет карту освещенности (Irradiance map), то есть в первую очередь служит для проецирования палитры окружающего света на конкретный материал (придавая ему цветовой оттенок). Игра и так рассчитывала сами мипмапы, а значит, это изменение стоит нам практически нулевых затрат по производительности — именно это стало главной причиной выбора такого подхода.

Помимо правок материалов, нам нужно было перебалансировать контрастность и освещение во всей игре, чтобы убрать чересчур темные зоны и добиться более реалистичного восприятия света.

В отличие от прежнего решения, где отражающие текстуры применялись только к сильно отражающим поверхностям (в основном металлам), обновленная система использует отражающую текстуру для каждого отдельного материала в интерьере машины. При этом они различаются силой проявления отражения на итоговой картинке и его мягкостью. Это гарантирует, что даже менее отражающие материалы — в особенности пластик — передают ощущение отраженного света, цветового нюанса и улучшенной контрастности, особенно в затененных частях салона. Теперь игроки заметят, что весь интерьер буквально реагирует на окружение грузовика: например, при проезде мимо деревьев часть салона около окон приобретает едва уловимый зеленый оттенок. Благодаря этому игра ощущается гораздо реалистичнее, чем раньше, даже без ресурсоемкого просчета глобального освещения (GI).

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

Финальным шагом для внедрения системы во всю игру стало создание библиотеки материалов, чтобы не настраивать каждый тип поверхности заново для каждой машины», — поясняет Даниэль.

Каковы были главные трудности при внедрении системы?

«Самой большой сложностью оказалось разнообразие техники. Отдельные грузовики создавались в разное время и использовали разные исходные данные, текстуры и методы рендеринга. Не существует универсального способа конвертации, который подошел бы ко всем грузовикам. У каждого готового интерьера своя структура, требующая индивидуального подхода», — говорит Даниэль.

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

Многие из этих шагов по ходу разработки переделывались по нескольку раз. Тем не менее, итогом стали не просто материалы для одной конкретной машины, но и опыт с наработками, которые существенно облегчат работу над будущим транспортом.

Процесс не был прямолинейным. Недоставало просто выставить пару параметров по готовой таблице. Множество значений нам пришлось вычислять самостоятельно и вместе с Даном многократно проверять прямо в игре», — добавляет Мартин.

Как вам удалось внедрить изменения без ущерба для производительности?

«Наши игроки используют самое разное «железо». Мы не хотели создавать визуальные улучшения, которые существенно уронили бы кадровую частоту или вообще сделали бы игру неиграбельной для части аудитории. Именно поэтому система построена не на новом ресурсоемком симуляторе освещения. Она расширяет существующий пайплайн рендеринга и более эффективно задействует уже доступные данные.

Производительность замерялась непрерывно на протяжении всей разработки. Целью было добиться видимого улучшения при минимальной нагрузке на видеокарту и память. Более того, система настроена так, чтобы сохранять компромисс даже на средних или низких настройках графики: в таких случаях отражения не просчитываются в реальном времени, а некоторые плюсы вроде реалистичного окрашивания от окружения теряются, но сами материалы всё равно выглядят реалистично и отличаются друг от друга», — говорит Даниэль.

На данный момент мы внедрили улучшенную систему материалов на четырех грузовиках в ETS2 и ATS. Вместо того чтобы заставлять сообщество ждать обновления всего парка техники сразу, мы будем постепенно переводить на нее остальные грузовики, позволяя вам наслаждаться улучшениями на уже готовых машинах, пока мы доделываем остальные. Как объясняет Даниэль:

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

Надеемся, вам понравился этот подробный рассказ о том, как мы работаем над улучшенной системой материалов. Обязательно добавьте Ford Car Pack и RAM & Dodge Car Pack в свой список желаемого в Steam, чтобы оценить эту функцию на легковых автомобилях сразу после их выхода.

Не забывайте подписываться на наши страницы в X/Twitter, Instagram, Facebook, Bluesky, TikTok и YouTube, чтобы получать новости об играх прямо в свою ленту! Или подпишитесь на нашу рассылку, чтобы оставаться в курсе. До скорой встречи, счастливых дорог!

https://store.steampowered.com/app/3793200/American_Truck_Simulator__Ford_Car_Pack/https://store.steampowered.com/app/3793190/American_Truck_Simulator__RAM__Dodge_Car_Pack/


Источник

Поделиться:

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов