Как легко и просто стать крутым 3D моделлером? Гайд "Текстурируем шкаф"
«Освоить 3D-программы очень сложно, я не смогу с этим разобраться. Это что-то для очень технически подкованных. Я вроде везде разобрался, но ничего не работает. Чтобы начать пользоваться программой, нужно сначала досконально и полностью ее изучить. Я что-то нажал, и все исчезло».
Открою вам тайну: многие и даже не только начинающие специалисты не знают всех возможностей своих программ. Даже уже работающие в области люди периодически должны разбираться с новыми для них инструментами и смотреть туториалы. Поэтому не стоит стесняться отсутствия опыта. Моя задача сегодня — доказать вам на примере, что любая сложная задача может быть разложена на несложные шаги, описанные конкретным и простым языком. Как делают это наши кураторы для своих учеников.
Эта статья для тех, кто не любит лишних слов и уже немного разбирается в нашей области. Это мини-урок по текстурированию стекла на примере маленького шкафа.
Как я уже говорил, умение текстурировать — одно из ключевых навыков, которые вы должны демонстрировать в своем портфолио. Плохими текстурами можно испортить насколько угодно хорошо сделанную скульптуру.
Будет прекрасно, если у вас уже стоят используемые в нашем уроке программы. Если же нет, это повод установить их и попробовать себя. Если нет и такой возможности, предлагаю ознакомиться со статьей, чтобы понимать, в каких программах что делается, и убедиться, что то, что кажется сложным, при грамотном разложении на простые составляющие совсем не составляет трудности.
Чуть не забыл:) Если вы не читали моих прочих статей, то у вас может возникнуть вопрос: «Кто я такой и чем я могу оказаться вам полезным?»
Сразу отвечу: меня зовут Тимур Наумов, и я действующий 3D-artist. Сейчас также уже шестой год преподаю: сначала три года обучал новичков в компаниях, а теперь учу в университете цифровых искусств Timart School, который основал вместе с еще несколькими своими друзьями.
Ну что ж, теперь, когда я представился сам и представил шкаф, погнали разбираться. Читайте внимательно — в тексте, помимо, собственно, самого гайда, будет подарок от нашего университета. Отдельное спасибо Вячеславу Юшину, который внес большой вклад в создание этой статьи.
Эта статья для тех, кто не любит лишних слов и уже немного разбирается в нашей области. Это мини-урок по текстурированию стекла на примере маленького шкафа. Как я уже говорил, умение текстурировать — одно из ключевых навыков, которые вы должны демонстрировать в своем портфолио. Плохими текстурами можно испортить насколько угодно хорошо сделанную скульптуру.
Подготовка геометрии
Первый и самый главный шаг — это правильная подготовка самой модели.
Сначала нам необходимо разбить нашу модель на несколько отдельных моделей и материалов. Разбиваем наш шкаф на 4 модели и 3 материала: стекло (Glass), деревянная основа (Wood) и металлическая ручка (Metal).
На этом этапе необходимо убедиться, что модель имеет правильно составленную сетку и её «развертку». В дальнейшем это очень сильно повлияет на составление текстуры в целом.
Само текстурирование (рисование) будет происходить на развернутых участках модели. Потому что если шеллы будут хоть как-то пересекаться, касаться друг друга, то рисование текстуры одного шелла частично будет отображаться на другом.
Импорт модели в Substance Painter
Далее переходим в программу Substance Painter.
Первым делом нам необходимо импортировать подготовленную модель.Наш пока весьма невыразительный шкаф разбит на высокополигональную модель (High Poly или HP), а также на низкополигональную (Low Poly или LP).
При открытии окна нового проекта мы выбираем (Select) нашу низкополигональную модель и выбираем качество карты 2048. В остальном не кипишуем — все прочие значения оставляем без изменений.
Сразу после импорта модели видим, что наши материалы переместились в Texture Set List.
Baking (запекание)
Baking, или же «запекание» (лайк, если пирожок захотелось), — процесс переноса неровностей, теней, шероховатостей и прочей детализации в виде текстурного набора карт. Переносится с высокополигональной модели "High Poly» на низкополигональную модель «Low Poly». Для запекания необходимо перейти в раздел Texture Set Settings и там выбрать Bake Mesh Maps.
Нам необходимо создать первоначальный набор карт. Ставим значение в Output Size 2048 и выбираем нашу высокополигональную модель в окне High Definition Mesh.
Далее мы выбираем карту Ambient occlusion.В Texture set выбираем любой материал стекла. Допустим, Glass_Dit и выставляем ему параметры:
- Igonre backface — By Mesh Name.
- Self occlusion — Only Same Mash Name.
Это означает, что модель стекла будет “запекаться” отдельно, не затрагивая Wood и Metal.
Те же самые значения мы ставим для другого стекла (Glass_Add). Если этого не сделать, то на стыке стекла и дерева образуются «артефакты», которые необходимо будет «пролечить».
Внимание: функция запекания по мешам доступна в последних версиях Substance Painter.
После всех действий мы нажимаем на «Bake selected textures». В разделе Texture Set Settings сгенерируются карты, которые в дальнейшем мы будем использовать.
Текстура стекла
Собственно, то, ради чего мы здесь сегодня собрались:)
Начинаем текстурирование с выбора шейдера. Выбирается он в разделе Shader Settings. Для стекла выбирается pbr-metal-rough-with-alpha-blending. Этот шейдер позволяет настраивать прозрачность нашего стекла.
После нам необходимо добавить канал Opacity. Этот канал добавляется для создания прозрачности стекла. Добавляется он во вкладке Channels через плюс «+».
А теперь самое интересное.- Создаем новый слой (Fill layer) и называем его Base colour.
- Отключаем в нем все каналы, кроме color. Здесь мы задаем цвет нашей пыли.
Добавляем новый слой, называем Rough, отключаем все, кроме канала Roughness. Создаем на нем черную маску (нажать правой кнопкой мыши на квадрат). Поставим значение Roughness 0.4–0.3 в шкале.
Нажимаем правой кнопкой уже на черную маску и добавляем Fill. В дальнейшем мы будем добавлять модификаторы именно этим методом, запоминайте.
Уже в открытом Fill нажимаем на grayscale и выбираем Grunge Scratch Generator (генератор царапин, если по-человечески).
Его модификатор должен быть Normal, интенсивность 100 %.
Создаем новый Fill, выбираем Grounge Dust Small. В настройках меняем на linear dodge (Add) и саму интенсивность Fill уменьшаем до 34 %.
Создаем новый Fill, выбираем Grounge Dust Spread. В настройках меняем на linear dodge (Add) и саму интенсивность Fill уменьшаем до 42 %.
Создаем новый Fill, выбираем Grounge Fingerprints Dirty. В настройках меняем на linear dodge (Add) и саму интенсивность Fill уменьшаем до 42 %.
Настройки linear dodge (Add) позволяют соединить вместе имеющиеся маски.
Создаем новый Fill, выбираем Shape Pyromid. В настройках меняем на Subtract (Sub) и саму интенсивность Fill уменьшаем до 35 %.
Создаем новый Fill, выбираем Shape Pyromid. В настройках меняем на Divide (Div) и саму интенсивность Fill уменьшаем до 35 %.
Shape Pyromid позволяет придать маске форму пирамиды.
Эти Fills необходимо вручную настроить на развертке, чтобы загрязнения находились приблизительно на границе стекла.
Дальше создаем Filter и выбираем Sharpen.
Заключительный шаг на канале Roughness — это создание Anchor point (якоря).
Он необходим для сохранения настроек Roughness и передачи их на другие каналы.
Как будет выглядеть сам канал Roughness:
Эти настройки можно менять по своим интересам, всячески тестировать в поисках понравившегося стекла.
Вот так будет выглядеть шкаф после Roughness.
Чтобы увидеть, как выглядит маска, необходимо зажать Alt и нажать на черную маску левой кнопкой мыши.
Вот так она должна выглядеть, как хтонический ужас:
Маску необходимо редактировать для переднего стекла, удобнее это делать в 2D-виде.
Не забываем подгонять боковые ребра Shape Pyramid для создания логической линии пыли, которая скапливается на стыках стекла и деревянной рамки.
Канал Opacity
Далее создадим новый Fill, назовем его Opacity и отключим все каналы, кроме Opacity. Выставим значение 0.2–0.1, создадим черную маску. В черной маске добавим Fill.
Заходим в Fill и в Grayscale/Anchor point и выбираем наш якорь Rough mask, который мы создали в конце Roughness слоя.
Опускаемся в Levels, нажимаем Invert (меняем цвет маске) и выбираем для себя оптимальный вид с помощью ползунков.
Канал Heigh
Также отключаем все каналы, кроме Heigh.
Ставим значение «-» (-0.04–-0.05). Назначаем черную маску. На эту маску назначаем Fill, выбираем в grayscale наш «якорь».
Создаем папку (Folder). В нее перемещаем наши три слоя (Heigh, Opacity, Roughness).
Далее добавляем Paint, делаем активную черную маску.
Выбираем Polygon fill. В открывшемся окне настроек ставим цвет белый, выбираем Mesh fill (закрашивание полигонов по геометрии).
Выбираем наше переднее стекло. И смотрим, чтобы цвет слоя был белый (черный цвет стирает).
Наше стекло разделено на 3 части (3 mesh: передняя, левая и правая, потому закрашивание происходит только по определенным частям, а не по всему стеклу).
Дублируем слой (Сtrl+D).
Заходим в Paint скопированного слоя, ставим черный цвет (стирает маску) в Polygon fill и нажимаем на нашу переднюю часть стекла.
Переключаем на белый цвет и выбираем левую часть стекла (закрашиваем).
Здесь можно увидеть, что слой пыли сместился из-за того, что мы при копировании использовали скопированные настройки под переднее стекло, и так как настройки были под него, то на боковых стеклах они могут быть некорректными.
Чтобы его подредактировать для нашего левого стекла, мы переходим в скопированном слое в слой Roughness и там редактируем Shape pyramid именно для левого стекла (в 2D-виде редактировать легче).
Повторяем этот процесс для правой части стекла.
И можем настроить внутренние стекла. Уже на ваше усмотрение.
На этом настройка стекла заканчивается и можем переходить к другим материалам.
А прежде разрешите вас пригласить на бесплатный ознакомительный вебинар от нашего университета — там я поделюсь опытом, как я начал зарабатывать в геймдев, какими путями можно в него попасть, и открою пару секретов по оформлению портфолио.
Буду рад вас видеть! И самые вовлеченные участники получат от меня другие полезные гайды по составлению продающего портфолио и 3D-анимации вашего персонажа.
Рекламная интеграция (вполне искренняя) есть — едем дальше!
Дерево
У нас имеется деревянная основа, в которой будет находиться наше стекло. Здесь все намного проще, чем со стеклом. Настроим стандартный материал дерева...
Все настройки, что мы производили, можно настроить на своё усмотрение.
Металл
И наконец металл. Здесь по той же схеме, что и с деревом. Берем стандартный материал и настраиваем, как нам необходимо. Повторюсь, все настройки дерева и металла — это опциональные настройки.
Экспорт текстур
На этом этапе мы будем экспортировать текстуры из Substance Painter для импорта в Marmoset.
Когда экспортируем металл вместе с деревом, можно использовать один пресет PBR Metallic Roughness.
Параметры для стекла:
в настройках Output Templates необходимы такие карты, как Normal, Roughness, Opacity (Set Mask). По ним нужно выбрать также вид карт (например, RGB и так далее). В Normal выбираем DirectX либо OpenGL, в данном случае для Marmoset ставим DirectX.
В Roughness ставится Gray channel. Соответственно, карта Opacity переносится в в Set Mask и выбирается A Channel.
И наконец перед экспортом материала стекла нужно не забыть поставить настройки Glass в Output template.
Marmoset — программа для рендера, которая позволит нам показать наши текстуры во всей красе. Но у него имеются свои особенности. Настройки прозрачности (Opasity) регулируются настройками Add и Ditter:
Цвет и интенсивность грязи мы регулируем в Albedo:
Готово! Наш пыльный шкафчик можно ставить в загадочную комнату. Надеюсь, этот урок был достаточно наглядным. В завершение хочу сказать: ничего не бойтесь! В любой программе можно разобраться, любые навыки можно получить. Особенно просто это сделать, если вы проходите структурированное и последовательное обучение у опытных наставников. Ни на что не намекаю, но у нас именно так.
Хватит тащить каменную глыбу разочарований как Сизиф! Приходите на наш бесплатный вебинар. Получите все, что нужно знать новичку. Вы сделаете свою жизнь приятнее, лучше и эмоциональнее. А я буду рад, что еще один ученик взойдет на пьедестал успеха. Я жду вас!
Ваши Тимур Наумов и Вячеслав Юшин