Создание 3D-оружия из прозрачного пластика в Blender & Substance 3D
Брайан Селлорс показал нам процесс работы над проектом NUMA LP55, рассказав о создании игрового ассета оружия с такими тонкими деталями, как гравировки и прозрачный пластиковый материал. Для этого он использовал инструменты Plasticity, Blender, Substance 3D Painter и Marmoset Toolbag.


Введение
Меня зовут Брайан Селльорс, и я занимаюсь 3D-искусством уже более 8 лет. Впервые я открыл для себя 3D, работая в Национальном совете кинематографии Канады в Монреале. В то время я в основном занимался моушн-графикой, пока мой друг Дэн Торнхилл не познакомил меня с Cinema 4D. Вскоре после этого я наткнулся на полигональное моделирование, и это меня просто поразило. У меня возникло осознание: «Вау, я могу сделать что угодно».
В то время я работал полный рабочий день в качестве инструктора-дизайнера, поэтому большую часть вечеров я посвящал изучению 3D. Я выработал привычку каждый вечер уделять время совершенствованию, будь то прохождение онлайн-курсов, посещение мастер-классов или работа с наставниками. Моим первым настоящим наставником был Марио Брадич из Elementza, чьё руководство сформировало мой ранний подход к моделированию SubD. Одна вещь, которой меня научил Марио, — это повторение. Когда вы что-то делаете и вам это не нравится, сделайте это снова. Повторение развивает понимание и, в конце концов, мастерство. Никогда не бойтесь делать что-то снова и пробовать другой подход; в конце концов, в этом и заключается суть обучения, так что дайте себе пространство для этого. Со временем я перешёл с Cinema 4D на Maya, а затем на Blender в качестве основного инструмента. Я также изучал программное обеспечение CAD, начиная с MOI, затем Fusion 360 и, совсем недавно, Plasticity. В качестве примечания: все эти инструменты не имеют значения; навыки, которые вы приобретаете в полигональном моделировании, топологии и подходах, основанных на булевых операциях, могут быть применены в любом программном обеспечении, которое их поддерживает.
В какой-то момент я посмотрел на своё портфолио и почувствовал, что мне нужно заняться чем-то более масштабным и значимым. Как и многие художники, я часто смотрел на свою работу и думал: «Это недостаточно хорошо». Большинство моих проектов были сосредоточены на создании реквизита, и я хотел взяться за что-то более амбициозное. Это привело меня к воссозданию «Пузырчатого корабля» Дэниела Саймона из «Обливиона». Это стало поворотным моментом, доказав себе, что я могу справиться с крупномасштабной сложной работой, уделяя при этом внимание дизайну и деталям. Зная, что Саймон построил оригинальный корабль в CAD, я использовал Fusion 360, и на завершение проекта ушло около шести месяцев. Этот опыт научил меня тому, как важно выбирать проекты, которые бросают мне вызов, и доводить их до конца, подобно ежедневной практике игры на музыкальном инструменте.
Одним из проектов, которыми я особенно горжусь, является Point Linden, вдохновлённый «Электрическим государством» Симона Стэленхага. Я сотрудничал с двумя талантливыми художниками, моим братом Джейсоном Селльорсом и Николя Ганноном-Пикаром, над их заключительной дипломной работой в NAD (École des arts numériques, de l'animation et du design) в Монреале. Участие в этом проекте было одновременно полезным и вдохновляющим, и оно укрепило моё понимание того, как важно работать вместе с увлечёнными и творческими людьми. И Ник, и Джейсон получили работу в Ubisoft и до сих пор там работают.
Начало работы
Пару лет назад меня уволили с работы в Национальном совете кинематографии Канады, и я решил дать себе год, чтобы попробовать пробиться в 3D профессионально, потому что мне это так нравилось. Одним из проектов, которые я намеревался завершить для своего портфолио, был NUMA LP55. Моя цель состояла в том, чтобы взять существующую сложную концепцию и создать её полностью готовую к игре версию. Я хотел, чтобы этот предмет демонстрировал чистую топологию и выделял каждую деталь оружия.
В конце концов, я отправил более 300 заявок в 3D-компании в Монреале, но так и не получил ни одного ответа. Даже несмотря на то, что в конце концов я перестал активно искать работу в 3D, я был полон решимости закончить пистолет. Была и другая причина; знаете, как бывает, когда тебе надоедает то, над чем ты работаешь? У меня было такое чувство, что это занимает слишком много времени... Может быть, я взял на себя больше, чем мог осилить. Чувствуют ли себя другие художники так же? Вам надоедает то, над чем вы работаете?
В любом случае, я считаю, что художнику очень важно отдавать должное тем, кто внёс свой вклад в работу. Модель NUMA LP55 основана на фантастической работе Филиппо Убертино. Я использовал несколько референсов из этого проекта, чтобы помочь мне создать пистолет с нуля. Первый — это вид сбоку, который помог мне начать работу над основной формой.

Я начал этот проект в Fusion 360, а примерно на середине перешёл на Plasticity. На то не было особой причины, кроме того, что я не хотел платить за полную лицензию Fusion 360 и выбрал более доступное решение CAD, ориентированное на художников. Кадровый снимок пистолета можно импортировать в Fusion 360 в качестве эталона, а затем я буквально начал создавать формы из эскизов. Если вы никогда не использовали программное обеспечение CAD, вы можете нарисовать силуэты, а затем выдавить их в трёхмерную форму. Ещё одним полезным эталоном был «разрез» пистолета. Этот вид помог мне смоделировать внутреннюю часть оружия.

Ещё одним эталоном для этого пистолета, который я нашёл в интернете, была игрушечная версия. Вы можете купить такую вещь на Amazon. Я понятия не имею, основан ли этот пистолет на 3D-версии Филиппо или Филиппо был вдохновлён им. В любом случае, я обнаружил, что детали довольно похожи, и использовал их, чтобы понять форму, а также пластиковые материалы.

Моделирование
Я начал моделировать оружие в Fusion 360 и закончил в Plasticity. Опять же, на то не было особой причины, кроме более высокой цены Fusion 360 и того, что мне понравилась атмосфера в Plasticity. Итак, по сути, CAD используется для создания модели. Ниже представлен скриншот моей истории, воспроизводимой в Fusion 360.
При моделировании важно ограничить небольшие фаски или то, что называется микрофасками. Если фаска не «изменяет форму», не делайте её в CAD, а оставьте для ZBrush и высокополигональной модели. Основная причина этого заключается в том, что экспорт низкополигональной модели из Plasticity с крошечными фасками делает процесс очистки в Blender болезненным, а этот процесс и так довольно трудоёмкий.
На представленном ниже виде вы можете немного увидеть процесс создания оболочки. Мне сложно получить более чёткое представление, но, по сути, я скопировал твёрдую версию пистолета, масштабировал её и разместил внутри, используя другой материал, чтобы увидеть, сколько места я оставляю. Я хотел убедиться, что оболочка всё ещё имеет реалистичную толщину после вырезания внутренней части.
Для высокополигональной модели я следовал методу Азии Рендон, с которым вы можете ознакомиться здесь, но давайте кратко рассмотрим этот процесс. Я экспортирую модель из Plasticity, настраивая параметр максимальной ширины на значение от 0,001 до 0,003. Вам нужно много топологии, чтобы сетка выглядела гладкой в ZBrush. Импортируйте экспортированный OBJ в ZBrush, перетащите его в окно просмотра, нажмите «редактировать», сделайте polymesh 3D, DynaMesh примерно на 2500, и, наконец, выберите деформацию и отполируйте острые края, и ваша высокополигональная модель готова. Этот процесс добавляет микрофаски ко всей модели. Затем вы можете уменьшить количество полигонов сетки, следя за тем, чтобы на плоских участках топология была ниже. Этот последний шаг — оптимизация высокополигональной сетки. Этот процесс в ZBrush значительно экономит время и позволяет получить готовую высокополигональную модель за несколько кликов. То, что я описал здесь, и есть привлекательность этого подхода. И моделирование оружия, и высокополигональная модель создаются очень быстро; медленная часть — это создание низкополигональной версии. Текстурирование также требует времени, но я считаю это увлекательным занятием.
Процесс создания высокополигональной модели. Здесь вы можете увидеть, как появляются микрофаски на рукоятке.

Вот как выглядит уменьшенная высокополигональная модель в ZBrush. У вас высокая плотность в изгибах и фасках, но плоские участки должны быть намного ниже. Я никогда не думал об оптимизации своей высокополигональной модели, но это так. Всё об этом процессе мне рассказал Коэн Броули. Он — фантастический учитель и рад поделиться своими рабочими процессами. Коэн по-прежнему предлагает наставничество, если вам это интересно.
Разрез в Blender
Для создания low poly используется другой процесс. Для этого мы снова экспортируем модель из Plasticity с такими приблизительными настройками.

Мы выбираем четырёхугольники и оставляем всё по умолчанию. Вы, безусловно, можете немного изменить эти настройки, чтобы добавить или убрать топологию. Как только это будет сделано, вы можете начать очистку в Blender или любом другом программном обеспечении, которое поддерживает полигональное моделирование (3ds Max, Maya, C4D). Очистка в Blender означает проработку меша и сокращение количества лишних вершин, рёбер и граней, а также общее улучшение геометрии.
Другой вариант — ретопология, которую я пробовал, но для этой модели это заняло слишком много времени. Вот как это выглядело для одной части рукоятки.

Ретопология и развертка
Одна из вещей, которую вы можете сделать с low poly, — удалить любые отверстия или мелкие детали в Plasticity перед экспортом и запечь их с high poly. Если вы стремитесь к готовому для игры ассету, это стандартный подход. Это также значительно упрощает очистку. В моём случае, поскольку это было для портфолио, я оставил больше таких деталей в low poly. У меня также было слишком много отдельных мешей, поэтому я не стал проводить полную очистку.
Что касается UV-развёртки, то всё довольно просто. Я обычно выбираю жёсткие рёбра в импортированном low poly и отмечаю швы. Это даёт мне примерно 80% результата. После этого я добавляю дополнительные швы там, где это необходимо, а затем группирую меша по типу материала. Для всего процесса работы с low poly, очистки, UV-развёртки, организации и нанесения материалов я использовал Blender.
Текстурирование
Текстурирование было выполнено в Substance 3D Painter. Основное внимание было уделено тому, чтобы прозрачные пластиковые элементы всегда отличались от непрозрачных частей. Для этого я сгруппировал близлежащие компоненты оружия, создав в общей сложности 32 группы и материала. Такой подход позволил мне работать с разными секциями, изолируя их, в то время как прозрачные секции могли либо использовать один и тот же материал, либо быть экземплярами по всему оружию для повышения эффективности. Я мог бы оптимизировать всё это гораздо больше, разделив оружие пополам и текстурировав только одну половину, а затем отразив её, но в итоге я сделал каждую сторону уникальной. Давайте внесём ясность: нет ничего оптимального в наличии 32 наборов текстур, но я могу признать, что зашёл слишком далеко, и конечный результат ни в коем случае не готов для игры. Буквально более половины текстур не видны, если оставить только внешнюю часть оружия.
Давайте поговорим о прозрачном материале. Настройка проста и типична для материала, использующего канал непрозрачности. В Substance 3D я создал новый экземпляр шейдера и выбрал PBR Metal Rough with Alpha Blending, который позволяет контролировать непрозрачность оружия. Базовая непрозрачность была установлена немного ниже средней на уровне 0,4440.
При текстурировании в Substance 3D я также настроил всю сцену в Marmoset Toolbag. Я импортировал оружие, настроил освещение и создал все материалы, чтобы можно было предварительно просмотреть рендеры, экспортируя материалы из Substance 3D и обновляя сцену в Marmoset. Я экспортировал только один или два материала за раз, чтобы ускорить процесс. Результат в Substance не всегда выглядел так же в Marmoset, поэтому я вносил коррективы на основе того, что видел там.
Такой рабочий процесс занимает немного больше времени, но предотвращает сюрпризы в финальных рендерах. Это также гибкий способ работы: вы можете быстро создавать итерации текстур, сохранять новый файл Substance 3D Painter и перезагружать текстуры на основе версии, которую хотите протестировать.
Давайте разберём прозрачный материал.
Базовый материал в первую очередь определяет значения для цвета, шероховатости, непрозрачности и металличности. Для меня текстурирование — это создание вариаций в этих каналах. Один из способов добавить вариативность в канал цвета пластика — использовать генератор UV Border, затем текстуру белого шума и фильтр Warp. Я считаю, что лучше сначала сохранить эти эффекты едва заметными и постепенно наращивать их. Белый шум также способствовал созданию шероховатости материала.
Затем я добавил царапины и контролировал их интенсивность с помощью уровней и фильтра Sharpen. Для царапин я включил канал цвета и установил его на белый, а канал высоты настроил на -0,0093. Вся рукоятка была нарисована вручную с помощью масок, с добавлением дополнительного белого шума и масштабированием для создания вариаций. На маске, образующей овалы, я также добавил высоту, чтобы придать им углублённый вид.
Я также удалил часть белого шума в пластике, добавив белую маску и нарисовав по краям, где естественно должно быть больше износа, что помогло сгладить некоторые из выступающих шумов. Оставшиеся слои представляют собой вариации шероховатости. Я хотел, чтобы некоторые области выглядели почти влажными, другие — более жирными, а некоторые части — грязными. Этот эффект был достигнут путём добавления пятен, отпечатков пальцев, грязи, пыли и даже волос. В предварительном просмотре я сосредоточился на шероховатости, а не на материале, чтобы чётко видеть влияние различных слоёв при их включении.
Разноцветная пластиковая версия пистолета довольно проста в настройке. Базовый слой использует коричневатый цвет (#553320), с шероховатостью 0, металличностью 0,23 и непрозрачностью 0,6. Сверху создайте новый слой под названием «Color Variation» и начните с генератора кривизны. В настройках генератора установите глобальное размытие между 10 и 11 и поднимите глобальный баланс примерно до 0,8. Этот генератор должен влиять только на цветовой канал.
Далее добавьте серию фильтров, используя режим наложения «Replace». Начните с фильтра «Blur» (интенсивность 10), влияющего только на цветовой канал. Затем примените фильтр «Contrast/Luminosity», установив контраст на -0,23 и яркость на 0. Этот фильтр может влиять на все каналы.
Ключевым фильтром для цвета является «Gradient». Установите его влияние на цветовой канал, затем назначьте следующие значения:
- Первый цвет: #D09748
- Второй цвет: #D07C48
- Третий цвет: #D05B48
После этого примените фильтр HSL с насыщенностью около 0,6 и светлотой около 0,3. Ползунок оттенка здесь контролирует общий вид — регулируя его, я добился как бирюзовой, так и оранжевой версий.
Наконец, чтобы затемнить края, добавьте новый слой, влияющий на цвет и шероховатость. Установите цвет на #332D2A и шероховатость на 0,3. Добавьте чёрную маску с помощью генератора-строителя масок, фильтр «Blur» (интенсивность 1,5) в режиме «Replace» и заливку, используя вашу входную карту кривизны в поле серого цвета. Отрегулируйте максимум кривизны так, чтобы только края выглядели белыми.
Освещение и рендеринг
Окончательные рендеры были созданы в Marmoset Toolbag. Я начал с удаления яркости из неба и настройки простой трёхточечной системы освещения, используя только направленные источники света. Я всегда настраиваю источники света по одному, чтобы чётко видеть их эффект. Источники света, которые сделали этот рендер успешным, расположены внутри пистолета, они также направленные и установлены довольно высоко. Я добавил несколько дополнительных источников света в сцену, чтобы создать определённые блики на пластике. Для постобработки я добавил немного контрастности и резкости, так как всегда вношу свои рендеры в Photoshop для финальной обработки. Там я настраиваю кривые, яркость/контраст, оттенок/насыщенность, вибрацию и цветовой баланс, чтобы добиться едва заметного синего оттенка. Это довольно простая редакция, но она существенно влияет на то, как выглядит финальное изображение.
Заключение
Я думаю, что создание привлекательных предметов реквизита сводится к усилиям. Это о том, чтобы уделять время на каждом этапе, обращать внимание на моделирование, правильно прорабатывать детали и экспериментировать с различными вариантами текстурирования. Честно говоря, я даже не был поклонником того разноцветного пластика, который я пробовал, но я показал его своему четырёхлетнему сыну, и он его полюбил. Он сказал мне, что я должен поместить его на обложку, поэтому я так и сделал.
Самой большой проблемой в этом проекте был его масштаб — так много деталей. Может показаться непосильным, когда понимаешь, что не сможешь сделать всё так, как хочешь. Довести топологию до совершенства само по себе могло бы стать полноценной работой. А ещё есть разрыв между тем, как вы хотите, чтобы это выглядело, и тем, чего вы можете достичь на самом деле, что очень расстраивает. Были времена, когда я останавливался на несколько недель, прежде чем вернуться к работе. Я даже хотел сделать полноценную анимацию со всеми деталями, но так и не сделал этого.
Мой совет начинающим: не начинайте с такого огромного проекта, как этот. Начните с малого, постепенно наращивайте, но всегда бросайте себе вызов. Если есть что-то, что вы не можете сделать, это не поражение; это просто показывает, над чем вам нужно работать дальше. Есть цитата из Zima Blue, которая мне нравится: «Извлеки простое удовлетворение от выполнения хорошо сделанной задачи». Что бы вы ни делали, даже что-то маленькое, например бутылку, вы всегда можете найти это удовлетворение.
Brian Sellors, 3D-художник
Автор: Brian Sellors
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.