Оружие искусства
Мориц Майер разобрал свою 3D-модель оружия — штурмовую винтовку Sabre, рассказав о специфике работы с моделированием в CAD, ретопологии, текстурировании в Substance Painter и другом.

Введение
Здравствуйте, меня зовут Мориц Майер. В настоящее время я работаю в FlowFire Games в Берлине художником по твёрдым поверхностям. До этого я проходил стажировку в elite3d, создавая оружие и реквизит для Call of Duty: WW2 и Black Ops 4 в рамках изучения информатики в Миттвайде.
Моя страсть к 3D-моделированию началась с открытия Blender в 2013 году и экспериментов с симуляциями жидкостей. Вскоре я начал создавать различные модели для модов, особенно для Fallout NV. Недавно я начал больше изучать создание собственных дизайнов транспортных средств и оружия, потому что это приносит мне больше удовольствия, чем просто переделка существующей концепции. Транспортные средства и оружие интересны мне, потому что они сочетают моё увлечение технологиями и дизайном.
Штурмовая винтовка Sabre: о проекте
Целью этого проекта было лучше познакомиться с Fusion 360, опробовать рабочие процессы ретопологии для быстрого создания игровых сеток из моделей Fusion и поработать над своими навыками концепт-арта.
Основное программное обеспечение для моделирования — Fusion360, Blender использовался для мелких деталей и создания частей низкополигональной и высокополигональной рендеринга. ZBrush также использовался для высокополигональной модели. Текстуры были созданы в Substance Painter. Рендеринг и запекание были выполнены в Marmoset Toolbag.
Концепция
Сначала я начинаю с набросков силуэтов, чтобы найти хороший силуэт и уточнить дизайн после того, как появится общая идея. В этом случае это должна быть научная фантастика — штурмовая винтовка со странным магазином.
Большим источником вдохновения стали современные эффективные методы производства, такие как обработка металлов на станках с ЧПУ и литьё пластмасс под давлением.
Для реализма дизайна важна правдоподобная функциональность, поэтому я старался не делать его слишком нереалистичным. С другой стороны, такой подход более ограничивает и отнимает много времени. Я пытался найти хороший компромисс между ними.
Механизм подачи магазина, например, — это деталь, которая, вероятно, не будет работать в реальной жизни, потому что нет способа вытолкнуть патроны из магазина.
Однако это не очень заметно, поэтому я сосредоточился на более заметных частях, которые игрок может видеть всё время.
В итоге я использовал последний силуэт, однако изменил пропорции на этапе блоута. Я также добавил прицел и ремень, чтобы уравновесить вес прицела на этапе блоута.
После наброска силуэта дизайн будет дополнительно разработан в Fusion 360.
Моделирование блоута и высокополигональной модели
Моделирование блоута было выполнено в Fusion 360, с последующей полировкой в ZBrush для добавления некоторых деталей в магазин и получения правильного высокополигонального варианта. Только несколько деталей, таких как ткань ремня, электрический провод или кнопки, были традиционно смоделированы в Blender.
Моделирование в CAD-системе работает иначе, чем полигональное моделирование. Традиционное полигональное моделирование более абстрактно, и вы начинаете непосредственно с 3D-объектов, а не с технических 2D-чертежей. Есть несколько разных инструментов, но также много инструментов есть и в пакетах на основе полигонов.
Как и при полигональном моделировании, рекомендуется начать с основных форм и проработать детали.
Я разберу моделирование некоторых деталей.
Для рукоятки сначала был прорисован силуэт с помощью инструмента для эскизов и выдавлен, чтобы придать эскизу толщину. После этого были добавлены большие скосы для сглаживания рукоятки. Вырезы для пальцев были вычтены с помощью цилиндров. Затем были созданы вырезы для сборки рукоятки с помощью инструмента для эскизов и вырезаны с помощью булевого инструмента, настроенного на пересечение и флажок «новый компонент» установлен. Этот инструмент разрезает только часть, не удаляя деталь. В качестве последнего шага были добавлены небольшие скосы по краям.
Я создал основную часть так же, как и рукоятку. Сначала грубая форма была нарисована с помощью инструмента для эскизов и выдавлена. Форма уточняется путём вычитания из неё кубов. Для планки Picatinny я использовал модель, которую уже создал в Blender, и импортировал её. Однако она сделана из полигонов, которые можно импортировать только в качестве эталона, поэтому мне пришлось переделать её.
После этого основная часть была выдолблена с помощью уменьшенной копии формы основной части. Силуэты отверстий были нарисованы с помощью инструмента для эскизов и вычтены из основной формы. Затем были смоделированы более мелкие детали, такие как цилиндры вокруг винтов, крепление для ремня и прочее, и объединены с основной частью с помощью булевого инструмента.
В качестве последнего шага снова были добавлены небольшие скосы по краям, но на этот раз с меньшим радиусом, чем у резиновой рукоятки, чтобы создать большую разницу между материалами.
Моделирование прицела происходило по тем же принципам, но на этот раз у меня не было наброска силуэта, поэтому он был разработан непосредственно в Fusion 360. Пока что мне больше нравится проектировать в Fusion, чем в программном обеспечении на основе полигонов, потому что рабочий процесс, предоставляемый CAD-системами, позволяет легко корректировать модель новыми полезными способами.
После завершения предварительного моделирования модель была экспортирована в формате .stl из Fusion 360 и импортирована через Blender в ZBrush. Модель была разделена на сабтулы. Сабтулы были перестроены с помощью dynamesh и отполированы для сглаживания модели. Линия вокруг магазина, которая имитирует создание магазина методом литья под давлением, была добавлена в ZBrush. Мелкие детали для магазина, такие как маркировка экстрактора и маркировка даты с формы, были созданы в Photoshop в виде карты высот и также применены в ZBrush.
После ещё одного слабого этапа полировки и уменьшения количества полигонов сетки были импортированы обратно в Blender.
На следующем изображении видна разница между сеткой предварительного моделирования до и после прохода в ZBrush. Эффект сглаживания едва заметен, но добавляет реалистичности и устраняет небольшие ошибки затенения из предварительного моделирования.

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

Самым сложным этапом моделирования было адаптироваться к рабочему процессу Fusion 360, поскольку он отличается от традиционного полигонального рабочего процесса. Ещё одной задачей было создать сбалансированный и функциональный дизайн.
Ретушь топологии и UV-развёртка
Я планировал использовать MoI3d для ретопологии предварительного моделирования из Fusion 360 для создания низкополигональной модели. Однако я допустил ошибку и добавил небольшие скосы ко многим рёбрам, что сильно затрудняет создание чистых оптимизированных сеток для программного обеспечения.
Другой возможностью, которую я хотел попробовать, была ретопология модели в ZBrush с помощью ZRemesher. Получение хороших результатов на сетках с твёрдой поверхностью требует полигрупп, которые определяют поверхности между жёсткими краями. Автоматическая настройка этого оказалась невозможной из-за скошенных рёбер.
В конце концов, я традиционно смоделировал многие части низкополигональной модели в Blender, потому что так было быстрее. Рабочий процесс настроен так, чтобы в следующий раз сохранять готовую модель до добавления небольших скосов на рёбрах. Без них было бы довольно просто получить хорошую низкополигональную модель из предварительного моделирования в MoI3d или ZBrush.
Поскольку модель используется только в качестве портфолио, и я не хотел тратить слишком много времени на этапе низкополигональной модели, количество полигонов выше, чем необходимо для модели оружия FPS. Оно составляет около 80 тысяч треугольников.
После создания низкополигональной модели были отмечены острые края для правильного затенения. Размещение их в труднодоступных местах минимизирует видимые швы. На всех острых и дополнительных рёбрах были отмечены швы для создания UV-карты. Цветовой наложение «растяжение области» в Blender помогает обнаружить слишком сильное растяжение на UV-карте и неправильно развёрнутые участки.
Модель была разделена на части с учётом одинаковой плотности текселей.

На модели была отображена карта проверки UV, чтобы на глаз проверить одинаковую плотность на всех частях.
Плотность текселей равномерно распределена, поскольку модель используется только в портфолио. Для игр FPS части, близкие к камере, обычно имеют более высокое разрешение, чем остальная часть модели.
Упаковка UV-развёртки была выполнена с помощью плагина «UVPackmaster» для Blender. Он может автоматически упаковывать UV-острова с очень хорошими результатами. Это сэкономило много времени, играя в «Тетрис».
Текстурирование
Вначале несколько карт были запечены с высокополигональной модели на низкополигональную. Обычно я запекаю карту нормалей как объекта, так и касательного пространства, AO, полость, положение и ID-карту. Я использовал Marmoset Toolbag, потому что он позволяет мне настраивать группы для запекания и раскрашивать искажённые детали. Первая функция полезна для чистого запекания на частях, которые почти пересекаются друг с другом, например, на глушителе и раме.
В качестве первого шага я собрал больше справочных изображений различных материалов, чтобы облегчить процесс текстурирования. PureRef — отличный способ создать коллаж изображений для более наглядного обзора.
Текстурирование обычно начинается с настройки базовых материалов. В этом случае я продолжил настраивать и уточнять цвета и значения шероховатости, которые уже установил на этапе высокополигональной модели.
Затем я добавляю больше деталей в материалы. Сюда входят макро- и микроматериалы, зерно и мазок, отпечатки пальцев, мелкие царапины, градиенты. Изучение справочных материалов по текстуре здесь очень полезно.
После того как базовые материалы верхнего слоя настроены, можно добавить повреждения. Для этого сначала нужно настроить нижний слой, который будет виден там, где происходит повреждение. В случае с основным корпусом верхний слой — это анодирование. Второй слой — оксидное покрытие для имитации старых повреждений, а третий слой — голый алюминий.

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

Маска повреждения создаётся как с помощью интеллектуальных масок, так и с помощью ручной росписи дополнительных повреждений. Для быстрого старта я использовал одну из предустановок Smart Mask для соответствующего типа материала. Я настроил её, чтобы она больше соответствовала референсу.
Для повреждений, которые выходят за край с швом, полезно установить сопоставление карты повреждений в раскрывающемся меню текстуры внутри Smart Material на трипланарный. Это помогает минимизировать странно выглядящие обрывы повреждений на швах. Для использования этой функции необходима позиционная карта. Для более естественного повреждения полезно сложить два редактора масок, причём верхний установить так, чтобы вычесть нижнюю маску. После этого вручную рисуются дополнительные царапины, а лишние закрашиваются с помощью слоя краски поверх генераторов. При рисовании я использовал чёрно-белую текстуру царапин в качестве трафаретной маски.
Мне нравится придавать моим металлам тонкие цветовые вариации, нарисованные вручную, или в виде повторяющейся текстуры. Это имитирует масляное покрытие и помогает немного разбить текстуру и сделать её более интересной. Также вручную раскрашиваются шероховатые/глянцевые вариации поверх модели, чтобы разбить глянцевые вариации, созданные текстурами и текстурами с интеллектуальной маской. Эти дополнительные глянцевые детали, такие как отпечатки пальцев и пятна, добавляются на поверхности, к которым прикасаются. С помощью интеллектуальной маски также была добавлена едва заметная пыль, которая скапливается в щелях.
Журнал был текстурирован так же, как и ствольная коробка, он состоит из зернистого верхнего слоя и более яркого нижнего слоя без зерна. Опять же, были определены различные макро- и микроструктуры материалов на эталонных фотографиях, и была предпринята попытка воспроизвести их в Substance. Была использована подходящая готовая Smart Mask, которая была дополнительно настроена. Цель — создать маску с более мягкими краями и без металлических сколов. Здесь действительно полезен фильтр размытия. В конце я добавил более глубокие повреждения по краям, чтобы подчеркнуть разницу с металлом.
Обычно я стараюсь смоделировать как можно больше деталей высоты в high poly, чтобы они также запекались в полость и карту АО. Только очень мелкие детали, такие как пластиковое зерно, треугольный узор рукоятки и маркировка, были добавлены в Substance Painter в карту высот.

Презентация
Рендеринг low poly выполнен в Marmoset, рендеринг high poly — с помощью Blender Cycles. Композиция сцены была организована в Blender и импортирована в Marmoset.
Для основного рендера использовалась отсканированная текстура бетонного пола из Quixel Megascans. Однако в следующий раз я бы выбрал менее отвлекающий фон, чтобы больше внимания было сосредоточено на самом оружии, а не на дыре в бетонных плитах.
Для журнала использовалась функция подповерхностного рассеяния Marmoset Toolbag, чтобы сделать более тонкие части полупрозрачными. Функции GI и локального отражения очень помогли для достижения более реалистичного рендеринга металлов, а также взаимодействия света с землёй.
Для освещения я использовал изображение улицы в качестве скайбокса и настроил дополнительные направленные источники света, чтобы выделить интересные части модели. На детальных снимках дополнительный направленный свет с высокой яркостью освещает модель сзади, так что эффект подповерхностного рассеяния на журнале можно увидеть лучше. Для тонального отображения использовалась модель Хейла. Резкость изображения и едва заметный bloom были добавлены также в Marmoset.
В конце были выполнены окончательные настройки яркости, насыщенности и контрастности в Photoshop. Для детальных рендеров в Photoshop также был добавлен фон с низкой контрастностью, который не отвлекает от оружия.
Мориц Майер, художник по твёрдым поверхностям
Интервью проведено Арти Сергеевым
Автор: Moritz Mayer
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.