Как создать металлическую лампу с износом при помощи Substance 3D Painter
Дмитрий Бели рассказал нам о проекте «Промышленный светильник», обсудив моделирование изношенного промышленного светильника и текстурирование металла и стекла в программах Blender, ZBrush и Substance 3D Painter.


От наставничества к лекциям и созданию промышленной лампы
Введение
Привет! Меня зовут Дмитрий Бели, я старший 3D-художник. Я работал над Halo Infinite, Battlefield 2042, PayDay 3, Project Baxter и другими проектами. Недавно я активно занимался наставничеством. Я помогаю начинающим 3D-художникам довести свои навыки до уровня AAA-проектов.
Со временем я понял, что хочу делать что-то более системное, поэтому решил записать свой собственный 3D-курс, чтобы больше людей могли освоить мои навыки. Я выбрал модель Handplane и полностью записал производство, а также дополнительные видео с комментариями по конкретным частям.

После публикации этот курс был замечен в FutureGames. Это ведущая игровая и художественная школа в Швеции (а теперь и в Польше). Представителю понравился подход и качество, и они предложили провести серию лекций для студентов программы Intermediate Game Art по 3D-искусству на твёрдой поверхности.

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

Чтобы студенты FutureGames могли не только наблюдать за процессом, но и работать с активом, изучать структуру сцены и применять приёмы на практике, не копируя мой проект полностью, я собрал доску Pinterest с похожими лампами. Они отличаются по сложности, но принцип работы тот же.

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

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

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

Далее я делаю высокополигональную модель, добавляя фаски, микродетали, переходы и слияния. В этом проекте я частично использовал ZBrush для добавления логотипов, надписей и для придания краям более повреждённого вида, но из-за плотного графика я не смог потратить на скульптинг столько времени, сколько хотелось бы.
Я также не рекомендую применять небольшие шумы в ZBrush, так как тогда вы не сможете гибко редактировать их в Painter (например, масштабировать их под TD), и если вам нужно будет внести изменения в базовый шум, вам придётся вернуться в ZBrush, а это занимает много времени.

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

UV Sharps & Seams
Я всегда начинаю с затенения. Очень важно, чтобы уже на этом этапе затенение выглядело правильно. Хорошее затенение на low-poly так же важно, как и на high-poly. Я назначаю все острые края вручную; это даёт мне максимальный контроль.

После того как затенение настроено, я помечаю все острые края как швы, чтобы избежать артефактов запекания. Затем я завершаю UV, добавляя дополнительные швы там, где это необходимо.
Для UV я использую мост между Blender и RizomUV. Я экспортирую модель, и там я делаю релаксацию и финальную упаковку.

Baking
Я запекаю все свои карты в Marmoset Toolbag. Это один из самых надёжных и быстрых инструментов для запекания, особенно когда нужно визуально отслеживать результат и быстро корректировать клетку и перекосы. Painter недавно улучшил свой инструментарий и также известен более качественным запеканием Curvature, но пока я отдаю приоритет скорости и удобству.
У меня довольно классический процесс. Я всегда запекаю по группам и по именам. Я всегда делаю тестовые запекания даже до того, как придумываю имена, чтобы выявить проблемы на UV и low-poly.
У меня также есть учебник по запеканию и разбор распространённых ошибок.
Затем я устанавливаю правильные суффиксы, чтобы упростить назначение текстур в нужные слоты в Painter. Я рекомендую ознакомиться с этим материалом, чтобы улучшить рабочий процесс.

Запекаю следующие карты:
- Normal
- Normal World Space (Object)
- Position
- Curvature
- AO
- AO2
- Object ID
Также стоит увеличить качество лучей в AO Maps как минимум до 2048. Я рекомендую поэкспериментировать с параметром Search Distance, так как он влияет на плотность распределения лучей и, как следствие, на окончательный AO.

Texturing
Я сосредоточился на металле. Я выбрал металлическую референцию с другого изображения, потому что оригинал очень скучный. Он занимает большую часть поверхности, и большинство нюансов сосредоточено на нём: грязь, сколы, блики, царапины. Здесь я добавил больше ручных масок, разбавляя процедурные текстуры, чтобы добиться естественного ритма деталей. Ручная маскировка даёт вам больше контроля над контрастом и акцентами. Но вам не обязательно делать всё вручную. Нам всё равно важно закончить ассет быстрее, чем за месяц.
Крайне важно проработать маски. Я использую генераторы для основы, затем добавляю дополнительные детали с помощью слоёв заливки. После этого я всё доработал с помощью пользовательских граунджей. У меня есть любимая кисть под названием Ink Random. Она позволяет мне вручную подправить мелкие детали. Стоит уделить больше внимания стыкам при проработке материалов.

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

Я экспортировал финальные текстуры в формате ORM (Occlusion-Roughness-Metallic), который удобен для большинства современных рендер-движков и вьюеров. Это упрощает настройку и ускоряет тестирование результата, но следует учесть, что при экспорте Occlusion встречается редко. Поэтому вместо ORM можно использовать BC-R и NM-M. В этом случае вам понадобится всего две текстуры вместо трёх.

Я также добавил метки, маркировки и слегка выжженный эффект краски на металле, чтобы усилить повествование об активе. В моём случае я спроецировал отсканированную декаль старой бумаги. Затем я доработал её, чтобы она соответствовала проекту.
Финальная сцена и рендеринг
Этап рендеринга требует столько же времени и внимания, сколько моделирование и текстурирование. В моём случае полировка рендера заняла столько же времени, сколько и остальная часть производства ассета. Стоит учесть это при подготовке работы для портфолио.
Освещение
В целом я использую стандартную трёхточечную структуру освещения (схему освещения с ключевым, контурным и заполняющим светом). Я заменяю заполняющий, а иногда и контурный/ключевой свет HDRi. И тогда у меня появляется больше времени для идеальной настройки ключевого света.
Камера
Очень важно использовать правильные цветовые коррекции. В новой версии добавили Helix. Рекомендую попробовать. Он избавляет от распространённой проблемы при использовании ACES: слишком сильного затемнения изображения и чрезмерного контраста.

Пост-обработка
Главное — подчеркнуть немного контраста и резкости, не переусердствуя. На этот раз я также использовал коррекцию LUT, чтобы поэкспериментировать и потенциально ускорить рабочий процесс.

Я также начал использовать CapCut. В одном кадре я добавил лёгкую анимацию подчёркивания формы. Это не только помогает с визуалом, но и даёт больше гибкости в презентации.
Сейчас я активно записываю курс по рендерингу реквизитов, чтобы каждый мог довести свои рендеры до хорошего уровня практически с нуля. Как только он будет готов, я опубликую информацию о нём на моей ArtStation. Подпишитесь, чтобы не пропустить.
Выводы и советы
Трудности были, как и в любом проекте: где-то не хватило времени на доработку мелких деталей. Но всё это был отличный опыт, особенно в учебной среде, где важно показать не только идеальный результат, но и логику принятия решений на работе.
Если вы только начинаете, делайте простые, но аккуратные вещи. Не гонитесь за сложностью, а стремитесь к точности и правильности. И обязательно оставляйте место для радости от процесса и хвалите себя.
Сейчас индустрия переживает непростые времена: многие художники потеряли работу, студии сокращают команды, а для младших специалистов установлен высокий порог входа. Это неприятно, но важно не сдаваться даже в условиях кризиса.
Благодарности
В заключение хочу выразить особую благодарность Джоэлу Фällbom, всей команде FutureGames и студентам, с которыми у нас был по-настоящему живой и вдохновляющий опыт. Это был один из самых приятных образовательных проектов, в которых я участвовал.
Я также хотел бы поблагодарить редакцию 80 Level за приглашение рассказать эту историю. Надеюсь, мой опыт будет полезен тем, кто только начинает заниматься моделированием твёрдых поверхностей или ищет вдохновение для своих проектов.
Дмитрий Белы, 3D-художник
Автор: Dmitriy Bely
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.