Создание реалистичного винтажного кассетного плеера с помощью Substance 3D и UE5
Луиза Уайк рассказала нам о проекте «Устройство записи CTR-85», обсудив моделирование и текстурирование реалистичного винтажного кассетного плеера с тремя вариантами отделки в программах Maya, Substance 3D Painter, Marmoset Toolbag и Unreal Engine.


Введение
Здравствуйте, я Луиза Уайк, художник по персонажам из Швеции. В 2020 году я поступила в The Game Assembly, школу в Мальмё, Швеция, чтобы изучить разработку игр. После окончания учёбы я работала в Massive Entertainment, студии Ubisoft, над такими играми, как Star Wars: Outlaws и The Division 2.

Я начала этот проект, чтобы продолжать совершенствовать своё мастерство, и знала, что хочу расширить своё портфолио, создав детализированный и реалистичный реквизит, одновременно улучшая свои навыки работы с твёрдыми поверхностями и текстурированием.
Плейер CTR-85 показался мне интересным проектом, поскольку у него было несколько сложных деталей, которые подходили друг другу и работали вместе, а также с другими объектами, такими как кассеты и батарейки, которые я решила смоделировать.
В основном я находила референсные изображения плеера и кассетных лент на сайтах аукционов и продажи подержанных вещей, на страницах сообществ Reddit и форумах коллекционеров винтажных устройств. Я также использовала чертежи, руководства пользователя и видеоролики о реставрации на YouTube, показывающие запасные части, которые пригодились, когда я выясняла, как соединить детали и можно ли их упростить.

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

Моделирование
Что касается рабочего процесса, я решила делать всё моделирование в Maya, highpoly и lowpoly, и использовать шейдер Bevel в Marmoset Toolbag 5, чтобы иметь плавающую геометрию в highpoly и при этом получать хорошо выглядящие запечённые текстуры.
В видео показано, как в Marmoset Toolbag выглядит высокополигональная сетка, как включить функцию скоса в материале и увидеть его, а также как можно отрегулировать размер скоса в материале:
Измените настройку Material Surface высокополигональной сетки на Bevel, изменив рендеринг на Ray Tracing, и вы можете решить размер скоса между двумя пересекающимися объектами с помощью ползунка.
Я начинаю с большого, а затем перехожу к малому. Учитывая размеры проигрывателя, я установила простой куб и выровняла справочные изображения по плоскостям изображения. Я делаю набросок, вырезая куб, вырезая размеры вещей из основного блока. Дело в том, чтобы убедиться, что все части находятся там, где они должны быть на этом этапе, правильно подобрать формы и исправить топологию позже.


Я выделила полигоны, представляющие будущую экструзию или отдельную деталь, с помощью материалов разных цветов на раннем этапе. Это показало мне, куда пойдёт батарейный отсек, куда подойдёт сетка динамика и какие ещё детали нужно вырезать из базового блока, оставаясь при этом гибкими.
Чтобы убедиться, что крышки идеально подходят к своим гнёздам, я теперь могла использовать отмеченные области и просто извлечь грани, чтобы получить идеально выровненные поверхности на разных частях.
В видео показано, как извлечение выбранных граней отделяет их от сетки и упрощает работу с более мелкими деталями, которые должны идеально сочетаться друг с другом:
По мере того как большой блок разделяется на более мелкие части, я назначаю им блестящий материал Blinn, чтобы можно было легче обнаружить неровности и любые неровные поверхности по мере дальнейшего уточнения.
Переходя к блокировке механики внутри устройства, я начала с вырезания форм из плоскостей, выдавливая всю деталь, чтобы придать ей толщину, только когда была уверена, что размещение деталей работает вместе.
Эволюция от больших к маленьким формам при уточнении конструкции проигрывателя и всех деталей:
Эволюция от больших к маленьким формам с акцентом на кнопки проигрывателя:
Я работала над проигрывателем и кассетой одновременно, чтобы убедиться, что оба объекта подходят друг другу на каждом этапе. Дублируя деталь и используя экземпляр, чтобы увидеть, как кассета выглядит, когда она помещена в проигрыватель, я могла держать сетку посередине мира для облегчения моделирования и изменения на протяжении всего процесса.
Видео показывает, как работа с экземпляром позволяет вносить изменения в объект, расположенный в слоте (например, в кассете), при этом сохраняя сетку в начале координат и упрощая внесение изменений:
Сколько мог, я работал только с половиной кассеты, а потом зеркально отражал её, чтобы сэкономить время. Чтобы ещё больше ускорить процесс, я повторно использую сетку блока из этапа создания среднеполигональной модели, на основе которой создаются как высокополигональная, так и, позже, низкополигональная модели.
Моделирование батареи было выполнено таким же образом. Я знал, что хочу, чтобы в финальной версии было много разбросанных батареек, и решил, что самый быстрый способ — это симуляция гравитации. Я позволил куче батареек упасть в более ограниченной области, сократил время симуляции, и в результате получилась куча батареек, выглядящая естественно разбросанной.
Разным материалам были назначены случайные батарейки в куче, я экспортировал всё вместе как одну большую сетку, чтобы получить желаемый вид на финальном изображении.

Я выполнил ретопологизацию в Maya и вместо того, чтобы начинать с нуля, начал с того же блока, который использовал для создания высокополигональной модели, чтобы начать создание низкополигональной модели, сосредоточив внимание на том, где нужны скосы для улавливания бликов.
Для UV-развёртки я в основном использовал плоское UV-картирование, чтобы получить детали с каждого угла прямыми и выровненными, либо сначала выбирая грани, а затем используя плоское, либо сначала используя плоское, а затем разрезая детали по углам сетки. Затем я развернул острова в направлении, которое работало лучше всего, дополнительно выпрямляя при необходимости и раскладывая их.
Видео показывает, как я использовал функции плоского и цилиндрического отображения, чтобы получить детали UV с разных ракурсов и сэкономить время, делая каждый остров довольно прямым, прежде чем разрезать его на более мелкие части:
Текстурирование
В Marmoset Toolbag я запекаю нормали, идентификатор материала, кривизну, Ambient Occlusion, карты положения и толщины.
Для текстурирования я использовал Substance 3D Painter и начал с изменения тонального отображения на ACES, чтобы получить лучшее представление о том, как это будет выглядеть в Unreal Engine 5. Чтобы ещё больше помочь с получением представления об окончательном виде на раннем этапе, я изменил карту окружения в Substance 3D Painter на ту же карту HDRI, которую использовал в Unreal Engine для сцены разработки внешнего вида. Нейтральный естественный свет с источником снаружи очень помогает при создании правильного вида материалов, и я рекомендую Poly Haven для поиска подходящей карты для проекта.


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

Всякий раз, когда я добавляю более сильную высоту с помощью текстурирования, например, для текста рядом с аудиоразъёмами, я использую декали для микровысоты или микронормали на генераторах. Точка привязки также используется для добавления или вычитания из определённых слоёв и помогает контролировать вид грязи, пыли или жира вокруг предметов с поддельной высотой в материале.
Большинство текстов и логотипов я сделал сам в Affinity Photo и разместил в Substance Painter через альфы. С помощью WhatTheFont Font я мог использовать справочные изображения, чтобы найти действительно похожие шрифты и ввести любые тексты, которые мне нужны были для батареек, кассет и диктофона соответственно.

После первого прохода по текстурированию я настроил материалы в Unreal Engine, следуя рабочему процессу PBR, и заранее создал сцену LookDev, чтобы понять, как материал будет выглядеть. Сделать так, чтобы пластик выглядел как пластик, может быть непросто, поэтому наличие настроенного LookDev, где свет откалиброван заранее, очень помогает. Если ассет хорошо выглядит в сцене LookDev, значит, проблема не в текстуре, а в свете.
Как только диктофон выглядит так, будто он помещён в реальный мир, и тени и свет работают хорошо, даже с базовым серым материалом в LookDev, вы можете сосредоточиться на текстурировании и создании этого реалистичного вида исключительно в Substance 3D Painter в течение довольно длительного времени.

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



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

Освещение, рендеринг и постобработка
При настройке освещения диктофона CTR-85 я был вдохновлён вступительной сценой «Охотника за разумом». Простой фон, по цвету похожий на ассет, помог создать ощущение минимализма, которое позволило ассету занять центральное место. Чтобы одновременно показать переднюю и заднюю части диктофона, я настроил больше съёмки продукта.
Я использую плагин Atlux для создания базовой сцены с трёхточечным освещением как для крупных планов, так и для более широких снимков. Для большего контроля над каждым кадром я дублировал основную сцену, чтобы иметь возможность внести некоторые коррективы в освещение, и настроил каждый кадр для получения крутых бликов.

Из-за различной презентации и блестящей природы батареек я использовал трёхточечные софтбоксы с более низким углом и верхний свет.

Камеры Atlux экономят мне много времени, когда дело доходит до настройки и уточнения параметров рендеринга. Они также поставляются с лёгкими в управлении настройками постобработки.
Я оставил настройки очень простыми, немного поэкспериментировав с шумоподавителем в трассировке пути и настроив LUT для небольшого образа в стиле Финчера непосредственно в Unreal Engine, прежде чем перенести их в Da Vinci Resolve для дальнейшей обработки.
В Da Vinci Resolve:
Я добавил немного хроматической аберрации для объектива и немного зернистости плёнки, чтобы получить более органичный и аналоговый вид, в целом, чтобы было больше похоже на кино. В целом, я немного увеличил контрастность. Поскольку рендеры были в основном в монохромной палитре, я усилил некоторые цвета, чтобы они выделялись, добавил виньетку, чтобы немного больше внимания привлечь к ассету, и общий фильтр резкости.
Весь проект занял у меня около двух месяцев и действительно научил меня важности начинать с большого и переходить к малому, особенно учитывая все части, которые должны были сочетаться друг с другом.
Сложность заключалась в изучении технических основ. Было много тестирования, возвращений назад и вперёд, и достижения места, где я мог понимать проблемы и устранять их, не полагаясь на учебные пособия, чтобы объяснить или исправить проблему.
Самая приятная часть — это, безусловно, текстурирование и наблюдение за тем, как детали собираются вместе, придание обычному объекту особого вида через личность и историю его материалов, а затем его демонстрация. Самым большим уроком для меня стало сохранение согласованности управления цветовым профилем на протяжении всего проекта.
К счастью, у меня был потрясающий наставник — Ричард Трув, технический консультант Blizzard Entertainment.
Луиза Уайк, художник по персонажам
Автор: Louise Wyke
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.