Making Of "Remington 870 Custom"

Приветствую! Меня зовут Евгений Борзаев. Сейчас занимаюсь фрилансом и самообучением. Компьютерной графикой решил заняться по большей части из-за желания создавать.
В этом Making-Of'е я расскажу о том, как была сделана одна из моих последних работ «Remington 870 Custom». В процессе использовал 3Ds Max, Photoshop, xNormal, Quixel и немного Zbrush. Работая в свободное время, у меня ушло чуть больше месяца.

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

Для большего удобства ружье, патронташ и дробь разбил на отдельные модели, что сделало их еще и универсальными. Обычно моделирование начинаю с Mid-poly, на его основе создаю low-poly и hi-poly. Но в случае с патронташем дело обстоит по-другому. Решил, что low-poly для него будет легче сделать из hi-poly, но об этом позже.
Про моделирование низкополигональной модели ружья рассказать особо нечего - обычный hard surface. В hi-poly использую мягкие грани.
Детали, которых не будет на геометрии low-poly, такие как углубления, болты и т.п., делал отдельными элементами. Это поможет не усложнять сетку hi-poly и сэкономить время.

Запекал их отдельно, потом накладывал на normal map.
Швы на высокополигональной модели патронташа реализовал этим же способом, предварительно создав заготовку стежка. Пример заготовки на картинке ниже:

Предварительно сделав дубликат исходной hi-poly и конвертировав его в editable poly, выделил грани, по которым примерно пойдет шов, и по необходимости добавлял новые. С помощью инструмента “Сreate shape” преобразую выделенные грани в путь, который идеально повторяет все изгибы модели.

Применил к заготовке стежка модификатор “Path Deform (WSM)”. Добавил нужный путь и, нажав “Move to Path”, выставил заготовку на путь.

С помощью инструмента “Array” распространил стежек по пути.

Хочу отметить, что материалы для color map на стежке настроил заранее, чтобы потом не возиться с ними, ведь их будет много. Низкополигональный шнурок для патронташа сделал, используя инструмент “Line”, и для того чтобы он выглядел более натянутым, выделял нужные полигоны и деформировал модификатором “FDD 4x4x4”.

Высокополигональную модель шнурка импортировал в Zbrush, чтобы добавить узор. Для этого использовал инструмент “Noise”.

Нажав на кнопку “Alpha On/Off”, добавил alpha для шнурка, что по сути просто бесшовный Heightmap. Включил режим Uv, чтобы узор распространился по развертке. Настроил ползунки размера, силы и другие до нужного результата.

После всех операций применил “Noise”, нажав на Apply To Mesh. В противном случае - визуально noise будет виден в Zbrush, а на экспортированной модели его не будет.

Как ранее упоминалось, low-poly я получил, оптимизировав hi-poly. Для этого использовал плагин для 3Ds max “ Turboreverse”. Уменьшив уровень детализации и отжав галочку “Restore vertices”, чтобы сохранить форму, получилось значительно оптимизировать объект. Ниже представлен один из элементов как пример:


В целом, получилась хорошая сетка. Конечно, полученный результат еще нужно будет доработать и местами вручную оптимизировать, но главное – он хорошо совпадает с hi-poly.
На низкополигональном объекте использовал жесткие грани на UV швах, то есть у каждого кластера на развёртке будет назначена своя группа сглаживания. Это поможет избавиться от искажений на карте нормалей. Для этого использую плагин “TexTools”.

Разумеется, этот способ не идеален, и придется местами назначать группы вручную. Как пример -сварочный шов, расположенный на стыке кластеров.
Соотношение сторон развертки для ружья сделал немного нестандартно. Вместо классического 1:1 (квадратного) сделал 4:1. И в итоге, разрешение текстур получилось 8192x2048, что по количеству пикселей равно разрешению 4096x4096. Это было сделано для более практичного расположения кластеров на развертке, т.к. у модели много длинных элементов.

Все кластеры по возможности выровнял, чтобы по максимуму избежать пиксельную лесенку.
Разворачивая кривые, при условии, что деформация будет незначительная, элементы выпрямил, пользуясь инструментом “Straighten selection”. Это позволит вам не только сэкономить место на развертке, но и пиксели будут расположены линейно, что тоже поможет избавиться от эффекта лесенки.

В случае с кольцами также можно использовать этот метод, но перед применением “Straighten selection” нужно будет сделать шов с помощью инструмента “Break”.

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

В случае ambient occlusion условия немного иные. Желательно, чтобы все части были вместе, кроме тех, что предположительно будут подвижны.
Запекал, в основном, используя xnormal. Для карты нормалей загружал экспортированную из 3ds max cage и устанавливал опцию “Use cage”. Некоторые элементы запекал без cage, т.к. избежать всех багов, пользуясь одним лишь методом рендера, не всегда получается.
Для текстурирования использую пакет Quixel, с ним я знаком ещё с самых первых версий данного продукта. Очень хороший инструмент процедурного текстурирования. Конечно же придется кропотливо поработать над смарт-материалами, чтобы результат текстурирования удовлетворял всем требованиям, т.к. каждый объект требует своего подхода. И нельзя не отметить то, что Quixel Suite - это дополнение к Photoshop, за счёт этого он не ограничивается собственными возможностями.
Я решил не делать некоторые детали и текст на этапе моделирования, а использовать для этого NDO. Главное - сделать это до создания проекта в DDO.
Наложил заранее подготовленный векторный узор на карту нормалей и подстроил его под форму ружья. Далее в NDO выдавил узор, выбрал режим наложения “жесткий свет” и настроил параметры до нужного результата. Здесь очень важно было максимально скрыть эффект лесенки.

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

Остальные детали делал тем же способом.

Результат в 3DO:

Думаю, достаточно примеров и суть ясна.
Новые детали на карте нормалей сконвертировал в ambient occlusion. Результат обесцветил и без фона наложил на основной ambient occlusion.

Заодно сконвертировал и Cavity. Для создания проекта не хватает только color map и normal map object space.
Color map без проблем сделал с помощью 3Ds Max. Назначил на нужные элементы или полигоны свой материал, каждый материал должен иметь уникальный цвет. Детали, которых нет на low-poly, запек с hi-poly и наложил на color map.

Object space конвертировал из карты нормалей в xnormal. Но для этого понабилось убрать с low-poly все наложенные друг на друга объекты на развертке, чтобы избежать багов. Или, как вариант, можно запечь сразу в DDO.

Теперь для создания проекта в DDO все есть: normal map, ambient occlusion, object space, cavity и color map.

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

Сделать реалистичный износ материала, играя лишь ползунками, не получится, т.к. все царапины распределятся равномерно по объекту, то есть даже в тех местах где их быть в принципе не может. Решить эту проблему помог Dynamask editor и заготовленные рефы с износом. Редактор также позволяет менять текстуры масок, их размер, контраст и множество других параметров. Кроме того, кисти редактора позволят нарисовать новые царапины и потёртости. В редакторе есть возможность стереть все ненужные изменения ластиком, даже после применения маски, так что не бойтесь рисовать.

После того, как все материалы полностью настроены для большего эффекта верхним слоем я добавил пыли и жирных пятен. Наложил ambient occlusion на albedo и specular в режиме multiply и cavity на gloss и specular с режимом overlap. В моем случае прозрачность ambient occlusion уменьшил на 25%, чтобы материалы выглядели не слишком темными.

В результате текстуры выглядят так:

В целом, библиотеки DDO мне хватило для текстурирования, только для дерева использовал свою текстуру.

Результат:


Надеюсь, это статья поможет новичкам, и опытные художники смогут извлечь для себя что-то новое. Если у Вас есть, что добавить или знаете более легкие способы получения качественного результата, оставляйте комментарии, буду благодарен.
Спасибо за внимание!

771 0 850 33
6
2016-04-28
хорошо
2016-04-28
Очень интересно 
2016-04-29
Евгений, не могли бы вы сказать какая у вас версия Photoshop и Quixel?  
2016-04-29
Очень очень круто! Прочитал с удовольствием от начала и до конца. Подробно и интересно что выгодно отличает этот мэйк оф от других.
2016-04-30
Спасибо за отзывы! [quote=сергей рехлов] Евгений, не могли бы вы сказать какая у вас версия Photoshop и Quixel?   [/quote]Для текстурирования модели использовал photoshop cc 2014 и Quixel 2 v.2.1.2. 
2016-05-02
Круто!!! 
RENDER.RU