Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

Опыт использования Substance Painter от технического арт-директора CD Projekt RED.

Технический арт-директор CD Projekt RED Кшиштоф Кшищцин в блоге Substance Painter рассказал о процессе текстурирования в Cyberpunk 2077. Разработчики не использовали традиционные текстуры — вместо этого они применили многослойные шейдеры, которые позволяют менять облик материалов при помощи специальных масок. Мы выбрали из текста главное.

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

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

Команде пришлось полностью пересмотреть свой подход к созданию окружения. В The Witcher 3 доминировали природные ландшафты, а в Cyberpunk 2077 представлен огромный город с плотной застройкой. Из-за этого студия полностью изменила процесс сборки окружения и создания ассетов.

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

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

По словам Кшищцина, студия стремилась развить традиционный визуальный стиль киберпанка. Постоянный дождь, ночь и неоновые огни — это культовый образ, который прочно ассоциируется с эстетикой киберпанка, но команда хотела найти нечто иное. Разработчик рассказал, что стиль Cyberpunk 2077 дополняется впечатляющими рассветами, грязным туманом, окружающим внушительные здания, палящем солнцем в пустыне — всё это неотъемлемая часть эстетики игры. Также студия стремилась сделать каждый район уникальным, поэтому в каждом из них доминирует определённая цветовая палитра и свой набор форм.

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

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

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

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

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

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

Кшищцин также рассказал, какие программы разработчики используют в своей работе: Helix и Perforce для хранения данных, а Visual Studio для кода и скриптов — всё это управляется собственной системой. Houdini применяется для моделирования, а также создания процедурного контента и эффектов. Художники в основном работают в Maya и 3ds Max. Substance Painter и Remote Browser нужны для многослойного метода, а шаблоны материалов настраиваются и редактируются с помощью собственного инструмента Material Library Manager.

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

По словам разработчика, библиотека материалов почти полностью создана в Substance Designer. Каждый шаблон материала включает в себя информацию об альбедо, нормали и гладкости. Также команда сделала microblend-текстуры, которые содержат карту высот и карту нормалей.

Изначально разработчики создали только несколько простых материалов — бетон, пластик, кирпич. Затем они отладили процесс и сделали множество других материалов. При этом художникам не нужно создавать отдельные вариации одного и того же материала — достаточно иметь лишь базовую версию, к примеру, металл или ржавчина, а затем модифицировать её с помощью microblend-масок. Поэтому в ходе разработки вообще не нужно менять оригинальные ассеты — достаточно лишь изменить маски.

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

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

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

Также команда разработала инструмент Remote Browser, который связывает Substance Painter с REDengine и позволяет редактировать слои: загружать слои материала, менять его цвет и внешние условия.

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

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

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

К примеру, весь транспорт, находящийся вдалеке, рендерится в виде billboard-полигонов — спрайтов, которые всегда направлены в сторону камеры. Это значит, что 3D-модели заменяются на обычные спрайты, а это позволяет одновременно визуализировать тысячи машин. Разработчики объединили этот подход с иерархическим упрощением для всей геометрии мира, что дало возможность показывать нужные детали только вблизи игрока.

Высокодетализированный Найт-Сити: применение многослойных шейдеров для создания материалов в Cyberpunk 2077

В заключение Кшищцин дал несколько советов, которые могут помочь художникам. Также их дополнил старший художник по персонажам Марцин Клики и старший художник по окружению Марк Форман.

  • применение тайловых текстур значительно ускоряет процесс работы, поэтому постарайтесь использовать их при любой возможности;
  • уделите особое внимание организации и хранению своих работ. Иногда вам потребуется вернуться к какому-то материалу через несколько недель или месяцев после его создания;
  • пишите комментарии к своим работам, чтобы вы могли объяснить свои решения даже через несколько месяцев;
  • если вы замечаете, что слишком часто используете определённые ноды, превратите их в кастомные ноды. Это сэкономит время в следующий раз;
  • создавайте собственные генераторы в Substance Painter, если не получаете нужных результатов с помощью доступных средств;
  • вы можете в некоторых случаях разукрашивать объекты вручную, но это неэффективно, если вы работаете с огромным количеством ассетов. В этом случае чаще используйте генераторы для экономии времени.
270270
104 комментария

Комментарий недоступен

145
Ответить

в пикселях там все поверхности, если ты не в 4к не играешь. 

5
Ответить

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

5
Ответить

Виниловые шмотки типа юбок с эффектом прозрачности, это очень круто, не припомню чтобы видел еще где-то такое.

79
Ответить

Окружение в Cyberpunk 2077 наполнено множеством деталей, что хорошо видно благодаря перспективе от первого лица.Как раз таки такая детализация ИЗ-ЗА первого лица) К играм от третьего ниже требования, т.к. не видно объекты вплотную)

30
Ответить

И об этом свидетели гта5 забывают 

10
Ответить