Under The Hood: улучшенная система материалов
В обновлении 1.60 мы представили улучшенную систему материалов для некоторых грузовиков в Euro Truck Simulator 2 и American Truck Simulator. Сегодня мы расскажем вам о том, как появилась эта функция!
Над этой функцией работают два основных специалиста — наши коллеги Дэниел и Мартин, которые внедряли и продолжают внедрять систему для грузовиков в обеих играх, а также для легковых автомобилей в готовящемся проекте Road Trip для American Truck Simulator.
Дэниел — технический руководитель по автомобилям
"Я работаю в SCS Software более тринадцати лет. Я начинал как 3D-специалист широкого профиля, затем работал 3D-художником по автомобилям и руководителем группы по автомобилям. Сегодня я занимаю должность технического руководителя по автомобилям.
Моя работа устраняет разрыв между графическими и техническими аспектами разработки. Я сотрудничаю с программистами, чтобы внедрять в движок функции транспортных средств, а также помогаю художникам выстраивать эффективные рабочие процессы. Кроме того, я разрабатываю новые инструменты и технические усовершенствования.
Моя задача в системе улучшенных материалов состояла в том, чтобы определить проблему, предложить решение и сотрудничать с программистами над его внедрением в движок. Затем нам нужно было настроить практический рабочий процесс для команды разработчиков, чтобы систему можно было последовательно использовать на других автомобилях. Программисты создали необходимую поддержку в движке и шейдерах. Затем графические дизайнеры преобразовали и доработали материалы для конкретных грузовиков ".
Мартин - старший дизайнер 3D-графики
"Я работаю старшим дизайнером 3D-графики, специализирующимся на транспортных средствах. Я также работал руководителем отдела контента в проекте Road Trip. Я участвовал в выборе транспортных средств и их конкретных вариантов, занимался исследованиями и подготовкой к производству, предоставлял экспертные консультации, а затем работал над непосредственным созданием транспортных средств. Я также помогал Дэну вносить изменения в систему материалов.
Автомобили — моя давняя страсть, особенно спортивные и классические автомобили, особенно американские. Благодаря этому я смог привнести в проект свой опыт и знания об американской автомобильной культуре, истории и техническом развитии отдельных моделей.
Моей главной задачей был Ford Mustang 1967 года и все, что связано с его визуальной и содержательной подготовкой. Я участвовал в выборе конкретного автомобиля и его модификации, проводил исследования, собирал референсы, консультировал при сборе данных и непосредственно занимался созданием модели и материалов.
При разработке новой системы материалов я подготовил и доработал отдельные поверхности Mustang. Вместе с Дэном мы использовали этот автомобиль, чтобы проверить, как новое техническое решение работает на практике и какие значения обеспечивают наиболее точные результаты ".
Как начался этот проект?
"Разработка началась, когда мы работали над проектом Road Trip. Интерьеры легковых автомобилей меньше и темнее, чем у грузовиков, поэтому недостатки оригинальной системы были в них более заметны.
Помимо прямого освещения, оригинальная система не имела возможности передавать свет в интерьеры. В реальном мире большая часть визуальных эффектов состоит из так называемого непрямого, или отраженного, света (GI). Однако игра вообще не работала с этой концепцией и не была для этого предназначена. Мы понимали, что это нужно как-то менять.
Вторая проблема заключалась в том, что в интерьерах грузовиков используется множество различных материалов: ткань, кожа, пластик, окрашенные поверхности, металл и стекло. Исходная система не могла точно отобразить их, особенно при непрямом освещении; все выглядело очень плоским.
«Road Trip предоставил нам подходящую изолированную среду для разработки и тестирования. Однако с самого начала мы проектировали систему так, чтобы ее можно было использовать и в грузовиках», — говорит Дэниел.
Что вам нужно было сделать, прежде чем приступить к внедрению усовершенствованной системы?
«Нам нужно было детально изучить сами автомобили и материалы, используемые в их интерьерах, проведя обширное исследование. Я изучал журналы, фотографии, доступную документацию и отдельные комплектации». Собирая данные, мы имели возможность лично осмотреть конкретный автомобиль, поговорить с его владельцем и подробно задокументировать его конструкцию и внешний вид.
Было недостаточно просто определить, что та или иная часть салона сделана, например, из пластика, кожи или металла. Нам также нужно было изучить текстуру поверхности, степень блеска, то, как материал отражает свет, степень его износа, оттенок цвета и различия между отдельными деталями.
Это исследование заложило основу, на которой мы впоследствии смогли оценить, соответствуют ли материалы в игре реальному автомобилю», — рассказал нам Мартин.
«Нам также нужно было решить, в каком направлении двигаться. Одним из ключевых требований была сохранение производительности, поэтому мы искали подходы, не требующие сложных вычислительных операций, и методы, которые позволили бы добиться хороших результатов с минимальными изменениями в вычислительной сложности. Я считаю, что результатом наших усилий стало заметное улучшение графики при минимальном влиянии на производительность», — поделился с нами Дэниел.
Как проходил процесс внедрения новой системы в игру?
«Нам нужно было внести изменения в движок, касающиеся того, как игра загружает и обрабатывает отражающие текстуры. Отражающая текстура — это, по сути, куб, каждая грань которого отражает свет в другом направлении относительно игрока. Ее использование значительно эффективнее, чем расчет реальных отражений света с помощью трассировки лучей. Мы внесли несколько изменений в код, чтобы получить прямой доступ к отдельным мипмапам. Мипмап — это уменьшенная копия исходного изображения, которая обычно используется, когда текстурированный объект находится дальше от игрока, чтобы устранить неприятное наложение текстур. Однако в нашем конкретном случае более низкое разрешение автоматически приводит к более мягкому отражению, что можно использовать для материалов, у которых поверхность не идеально гладкая, а физически более шероховатая, из-за чего отражение на материале получается более рассеянным.
Таким образом, мы создали несколько различных уровней гладкости отражения: от идеально глянцевых поверхностей, таких как хром, до более гладких отражений, как на кожаных сиденьях, и до грубых, почти не отражающих свет материалов, таких как ткани, где одна сторона куба отражения имеет размер всего 2x2 пикселя. В нашем случае она заменяет карту Iradience, то есть в основном служит для проецирования окружающей световой палитры на данный материал (цветной оттенок). Игра уже сама рассчитывала мипмапы, а значит, это изменение практически никак не сказалось на производительности — и это главная причина, по которой мы решили использовать такой подход.
Помимо изменений в материалах, нам также нужно было сбалансировать контрастность и освещение по всей игре, чтобы убрать слишком темные участки и добиться более реалистичного освещения.
В отличие от первоначального решения, при котором светоотражающие текстуры использовались только для материалов с высокой отражающей способностью, в частности металлов, в обновленной системе светоотражающая текстура применяется к каждому отдельному материалу в салоне автомобиля. Однако они различаются по степени выраженности отражения на итоговом изображении и по мягкости отражения. Это позволяет даже менее отражающим материалам, особенно пластику, передавать ощущение отраженного света, цветовой оттенок и улучшенный контраст, особенно в затененных участках салона. Теперь игроки заметят, что весь интерьер грузовика реагирует на окружающую обстановку. Например, когда грузовик проезжает мимо деревьев, часть салона возле окон приобретает едва заметный зеленый оттенок. Это делает игру намного реалистичнее, чем раньше, даже без затратного с точки зрения вычислений глобального освещения (GI).
Когда технология была готова, нам нужно было определить, как настроить отдельные материалы в новых условиях. Поскольку теперь каждый материал включает в себя отражающую составляющую, нам пришлось полностью перебалансировать все настройки для каждого материала. Чтобы существующие текстуры корректно работали с новыми настройками, нам также пришлось привести их цветовые и зеркальные компоненты в соответствие со стандартными значениями, которые мы установили в ходе тщательного тестирования.
Последним шагом перед развертыванием системы в масштабах всей организации было создание библиотеки материалов, чтобы нам не приходилось настраивать каждый тип материала отдельно для каждого транспортного средства», — объясняет Дэниел.
С какими трудностями вы столкнулись при внедрении системы?
«Самой большой проблемой было разнообразие транспортных средств. Отдельные грузовики создавались в разное время, с использованием разных исходных данных, текстур и методов рендеринга. Не существует единого способа преобразования, который подходил бы для всех грузовиков. Каждый готовый интерьер имеет свою структуру и требует индивидуального подхода», — говорит Дэниел.
Кроме того, отдельные свойства материалов влияют друг на друга. Изменение коэффициента отражения или шероховатости может улучшить внешний вид одной поверхности, но в то же время привести к тому, что материал будет плохо выглядеть при другом освещении. Или же материал, который выглядел хорошо при прямом дневном свете, может оказаться слишком блестящим в тёмном интерьере или вести себя неестественно во время ночной езды. Поэтому необходимо было постоянно искать баланс между реалистичностью, заметностью и единообразием поведения. Цель состояла не в том, чтобы сделать все поверхности более заметными или блестящими, а в том, чтобы точно передать различия между ними.
В процессе разработки мы несколько раз дорабатывали многие из этих этапов. Однако результатом стали не только материалы для одного конкретного автомобиля, но и опыт, а также рекомендации, которые значительно облегчат работу над будущими машинами.
Процесс был непростым. Недостаточно было просто задать несколько параметров в соответствии с заранее подготовленной таблицей. Многие значения нам пришлось вычислять самостоятельно, и мы с Дэном неоднократно тестировали их прямо в игре», — добавил Мартин.
Как вам удалось внести изменения, не повлияв на производительность?
«Наши игроки используют разнообразное оборудование. Мы не хотели создавать визуальные улучшения, которые значительно снизили бы производительность игры или даже сделали бы ее недоступной для некоторых игроков. Поэтому система не основана на новой ресурсоемкой моделировании освещения. Она расширяет существующий конвейер рендеринга и более эффективно использует уже имеющиеся данные.
В процессе разработки мы постоянно отслеживали производительность. Целью было добиться заметного улучшения при минимальном воздействии на видеокарту и память». Кроме того, система настроена на работу с определенным компромиссом даже при средних или низких настройках. В таких случаях отражения не рендерятся в реальном времени, и некоторые преимущества, такие как реалистичная передача цвета окружающей среды, теряются, но сами материалы по-прежнему выглядят реалистично и отличаются друг от друга», — говорит Дэниел.
На данный момент мы внедрили улучшенную систему материалов в четырех грузовиках ETS2 и ATS. Вместо того чтобы заставлять сообщество ждать, пока будут обновлены все грузовики, мы продолжим постепенно внедрять улучшенную систему материалов в другие грузовики, чтобы вы могли пользоваться улучшениями в некоторых машинах уже сейчас, пока мы дорабатываем остальные. Как объясняет Дэниел:
«Каждый грузовик требует индивидуальной настройки, визуального осмотра и тестирования всех вариантов при дневном свете, ночью, в дождь и в пасмурную погоду». Поэтому не было возможности обновить весь автопарк сразу. Эта небольшая начальная группа позволит нам проверять весь производственный процесс, поддерживать качество и собирать отзывы игроков ".
Мы надеемся, что вам понравился этот подробный обзор того, как мы работаем над усовершенствованной системой материалов. Не забудьте также добавить Ford Car Pack и RAM & Dodge Car Pack в свой список пожеланий Steam, чтобы вы могли воспользоваться этой функцией в cars, когда мы их выпустим.
Не забудьте подписаться на наши TikTok, Bluesky, Facebook*, Instagram*, X/Twitter*, и YouTube, чтобы получать новости о наших играх прямо в ленту! Или подпишитесь на нашу рассылку, чтобы быть в курсе. До новых встреч, счастливого пути!
*Запрещен на территории РФ.
Подготовлено и переведено Azverin Driving.
