Skills Up School
Меню

Нажмите ESC для закрытия

Hard Surface19 марта 2020 г.

Разбор.

Антон Терёшкин подробно разобрал проект оружия, над которым работал во время конкурса Weapon Skin, поделился своими подходами к моделированию, ретопологии и материалам, объяснил процесс рендеринга и освещения в Unity3D и упомянул несколько полезных советов и принципов, которые помогли ему вовремя завершить проект.

Разбор.

Введение

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

3D-моделирование — моё хобби. Это дополнительный навык, который помогает мне в работе с проектами Unity3d. В свободное время я в основном концептуализирую роботов, футуристическое оружие и оборудование.

В этой статье я хочу поделиться историей создания оружия для вселенной Hunt: Showdown. Это был мой первый опыт работы над подобными проектами. Но сначала я хотел бы отдать дань уважения ребятам из Crytek — они, несомненно, создали шедевр, хардкорный шутер в формате королевской битвы. Погружение в атмосферу игры для меня очень важно. Как художник, я мог бы часами наблюдать удивительные пейзажи Луизианы, фантастические объекты той эпохи, приправленные нотками ужаса и духом ковбойских стычек.

Также, будучи поклонником игры, я не мог пропустить юбилей и конкурс скинов оружия, организованный разработчиками. С самого начала я решил, что не буду вписываться в рамки мероприятия (оно было посвящено созданию скина оружия в 2D-редакторах по ранее выданному скриншоту), и решил сделать оружие в 3D.

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

Программное обеспечение, использованное для создания модели:

Концепция

Прежде чем объяснить процесс, я хочу выделить несколько основных концепций и правил, которым я следовал.

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

Breakdown: - изображение 1

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

Breakdown: - изображение 2

Моделирование

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

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

Breakdown: - изображение 3

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

Лепка

На этом этапе базовая модель готова, поэтому я могу приступить к лепке. Cinema 4D позволяет переключаться между системой воксельного моделирования и лепкой, таким образом, я могу постоянно модифицировать её, добавляя как крупные, так и мелкие детали. В процессе лепки я использовал несколько удивительных кистей для дерева и металла —

Zbrush — 12 BurnWood Alpha, Prashant Dwivedi

Zbrush Alpha Pack — Metal surfaces, Fredo Gutierrez

Breakdown: - изображение 4

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

Breakdown: - изображение 5

UV-mapping

На этапе моделирования сетка имела 12 миллионов треугольников, что достаточно проблематично для использования в Substance Painter. Инструмент автосокращения Cinema 4D работает недостаточно быстро, поэтому я перешёл на Houdini.

Инструмент polyreduce сэкономил мне много времени, сократил объём полигонов до 8%, а для некоторых частей — до 3%. Этого достаточно для текстурирования. С помощью Equalize Lengths я могу редактировать вероятность формирования равносторонних полигонов, и, конечно, важно активировать опцию Preserve Quads — позже это позволит нам создать автоматическое UV-unwrap с минимальными усилиями.

Затем я экспортирую модель обратно в Cinema 4D. Обычно для игровых движков я создаю UW-unwrap в других программах, а затем выполняю ручную ретопологию, но для этой модели автоматических алгоритмов было достаточно.

Количество полигонов по-прежнему огромно, но я не хотел тратить больше времени на UV-unwrap и счёл этот результат приемлемым. Важно отметить, что я всё равно развернул и экспортировал промежуточные результаты Substance Painter, чтобы определить достаточность результата и исправить артефакты, связанные с формированием мелких фрагментов на UV-unwrap.

Во время ретопологии некоторые детали модели всё же были потеряны, и мне нужно было запечь их с оригинальной hi-poly модели. Marmoset Toolbag отлично работает с большими объёмами. Разделив модель на отдельные части, я запекал нормальные карты. В интернете есть много примеров работы с Marmoset, я использовал стандартный конвейер для работы с ним и хотел бы пропустить этот момент.

Теперь пришло время перейти к Substance Painter. Там я запекал оставшиеся карты (AO, Curvetures и т. д.), чтобы использовать их для умных масок и генераторов.

Работа с материалами

Дерево

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

В первом слое я заливаю цвет, во втором использую генератор Dirt. Благодаря тому, что деревянная часть была смоделирована с учётом генератора, итоговая текстура выглядит отлично.

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

Breakdown: - изображение 6
Breakdown: - изображение 7
Breakdown: - изображение 8

Последней деталью для текстуры дерева будет запечённая грязь, которую я добавляю с помощью стандартного генератора редактора масок.

Металл

На этапе скульптинга я добавил много вмятин и сколов металла, поэтому смог использовать маски, чтобы подчеркнуть детали.

Breakdown: - изображение 9

Я уделяю много времени деталям на этапе работы с материалами. Вы всегда должны помнить, что цвет редко бывает однородным (используйте шум), также используйте фильтры и уровни, чтобы уточнить характер ваших царапин и рельефов. И следуйте правилу 80/20: детали должны иметь определённый визуальный вес на всей картине и не должны превращаться в шум с любого угла.

Ближе к концу текстурирования я создал проект Unity3d и начал работать в двух окнах. В одном окне я продолжал текстурировать, а во втором проверял результат в игровом движке. Substance Painter имеет собственную конфигурацию экспорта текстур, совместимую с Unity HDRP.

Breakdown: - изображение 10

Рендер Unity3d

Breakdown: - изображение 11

Позвольте мне подробно описать часть Unity3d. Основы системы освещения в Unity были описаны во многих статьях в интернете. Ссылки на некоторые из статей приведены ниже. Поэтому давайте перейдём к короткому промо-ролику и некоторым интересным случаям.

Во всех случаях я использую Density Volume, внутри которого юнит хранит информацию о пост-обработке, скайбоксе, таких параметрах, как SSAO, SSR, Fog и т. д. Ниже я опишу один из интересных сценариев использования Density Volume. Для базовой настройки я рекомендую этот материал Обзор High Definition Render Pipeline | High Definition RP | 7.1.8

Здесь вы видите настройки двух основных Volume Boxes из моей сцены, первый отвечает за влияние света, скайбокса, теней. А второй — за такие эффекты, как Color grading, Vingete, Exposure, Gamma.

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

После импорта модели я создал в проекте несколько источников света.

1) Направленный основной свет и 2) несколько дополнительных источников света

Breakdown: - изображение 12
Breakdown: - изображение 13

Далее все примеры будут основаны на анимации объектов с помощью встроенной системы Unity3d — Timeline. Чтобы получить изменение основной подсветки, я анимирую вращение направленного света. Unity автоматически создаёт кривые анимации, которые можно настроить для изменения характера анимации.

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

Я использую плагин Cinemachine для анимации камеры. Используя параметр Look At, я указываю объект, за которым будет следовать камера. С помощью таймлайна я анимирую движение камеры вокруг оружия.

Breakdown: - изображение 14

Затем я использую параметр шума камеры и анимирую его затухание для создания эффекта медленного дрожания камеры.

Breakdown: - изображение 15

Помня о траектории камеры, я добавляю 3 системы частиц дыма: в начале пути (откуда появится камера), под объектом и на заднем плане.

Breakdown: - изображение 16

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

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

Я размещаю спрайт перед камерой и отключаю компонент Sprite Renderer.

Breakdown: - изображение 17

Создадим в сцене систему частиц. Она будет излучать 5000 частиц, используя текст в качестве источника.

Breakdown: - изображение 18

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

Breakdown: - изображение 19

Также я анимирую цвет частиц, чтобы в конце анимации они превратились в искру огня.

И пришло время для последнего штриха. Начало нашего видео выглядит так.

Breakdown: - изображение 20

Я хочу, чтобы оружие появлялось в зависимости от близости камеры, чтобы имитировать эффект тумана. Для этого я добавляю дополнительный том пост-обработки. Для которого мы установим размытые границы (отключите параметр Global и создайте компонент Box Collider, установите Blend Distance равным 2).

Breakdown: - изображение 21

Также увеличьте Priority. А внутри Volume мы устанавливаем туман на 1. Таким образом, внутри этого блока туман будет блокировать оружие, но когда камера приблизится, он плавно выйдет из зоны влияния объёма, и туман рассеется.

Теперь первый кадр выглядит так.

Breakdown: - изображение 22

Несколько общих советов и принципов

Обычно я стараюсь создавать отдельные части модели без использования референсов или делаю их по памяти. То же самое с материалами. Перед использованием референсов я пытаюсь создать материал дерева из головы, продумывая, как может появиться та или иная деталь текстуры. И только потом использую референсы, анализирую, сравниваю и вношу изменения в свою работу. Это хороший подход к обучению, так вы сможете понять, как правильно анализировать окружение и научитесь размышлять о форме и материалах.

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

Работая с материалами, большую часть времени я провожу не с кистями, масками или генераторами, а с комбинацией клавиш Alt + LM и Alt + на колесе. Другими словами, я вращаю и масштабирую модель и наблюдаю за целостностью сочетания материалов и частей.

Антон Терешкин, старший технический художник

Интервью проведено Арти Сергеевым

Автор: Anton Teryoshkin

Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.