XYZ Media

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

Это первая статья из цикла по работе в Blender. Вот ссылки на все три, выбирай ту, которая тебе нужна:

1. Работа с материалами в Blender
2. Настройка света в Blender
3. Рендер и обработка в Blender

Эта статья поможет новичкам, которые хотят научиться работать с материалами в Blender. Ты узнаешь, как правильно настраивать материалы и какие дополнительные расширения использовать, чтобы облегчить работу. Внимательное изучение статьи займет около 10 минут. Если возникнут вопросы — пиши в чат-бот (кнопка справа внизу). Там на связи живой менеджер :) Он поможет разобраться. Ну что, давай начнем!


Дополнительные программы для удобства

Если ты ни разу в жизни не пользовался Blender, для тебя у нас есть бесплатный курс Intro Blender. Ты научишься моделить простые формы, выучишь хоткейсы и поймешь как устроен технический процесс моделинга в Blender. Но помимо Blender, тебе понадобятся дополнительные программы. Они помогут облегчить процесс работы.

Substance Painter — программа для текстурирования 3D-моделей и создания текстурных карт для них. Отсюда будем импортировать текстуры.

Node Wrangler — аддон с инструментами, который улучшает и ускоряет воркфлоу основанный на нодах (node-based workflow).

Активируем его так:

Во вкладке Edit заходим в настройки Preferences и ставим галочку в Addons. Для удобства ищем аддон через поисковую строку.
Как работать в Material Editor

После того, как мы импортировали нужную модель в Blender — находим вверху вкладку Editor Type и выбираем Shader Editor.
У Material Editor 2 режима:

  1. Редактирование "мира" сцены.

Здесь есть две настройки:

Surface (поверхность) — сюда можно подключить обычный background (фон) и поменять его цвет. А можем добавить HDRI текстур. Для этого удаляем нод background и добавляем Environment texture через “Shift+A”.

Volume (объем) — здесь добавляем шейдер principled volume, который отвечает за "туман" или прозрачность атмосферы вокруг объекта.
2. Редактирование объектов с которым работаем

Чтобы создать нод, нажимаем “Shift+A” — этот хоткей вызывает панель с вкладками настроек. Можно вручную искать настройку, а можно ввести название в строку "search" и нод появится в меню.


Пример создания пустого материала

Чтобы создать новый материал без настроек, нажимаем вкладку Material Properties и щелкаем "+".
Нажимаем "new" — у нас появляются базовые ноды: Material Output и Principled BSDF. С их помощью будем менять модель.
Важно: не забываем активировать Node Wrangler.

Выделяем базовый шейдер и нажимаем “Shift+CTRL+T”. Комбинация откроет меню выбора файлов. Выделяем нужные текстуры и подгружаем.
Если в названии файла текстуры есть тег с ее назначением — прога сама привяжет эти файлы к параметрам. Редактировать эти теги можно в меню:
Если значение определено неверно — можно соединить мышкой output нода и input шейдера, чтобы изменить привязку.
Кроме того, текстуру можно вручную перетянуть из окна в программу и прилинковать.
Назначить материал для модели можно в 3D Viewport. Выделяем нужный объект и пакет назначается автоматически. Если нужен другой материал — жмем крестик и выбираем вкладку new либо сохраненный материал.
Подробно о том, как создавать трехмерные модели мы рассказываем на курсе Draft Punk. Ты поймешь, как устроен пайплайн разработки 3D-моделей в больших игровых студиях. Научишься создавать выразительные драфты. Разберешься с топологией, poly, poly, разверткой и запечкой. А в конце создашь полноценную 3D-модель по всем правилам пайплайна.


Настройка материала высокополигональной модели

Будем рассматривать highpoly модель с высокой плотностью сетки. У highpoly высокая детализация, потому трехмершики используют ее, когда хотят показать свой скилл моделинга. Поэтому, можно не использовать отдельную карту под Subsurface scattering, а просто выставить реальное значение параметра рассеяния.
Metallic, Transmission и Transmission Roughness мы не используем на персонажах.

Дальше делим процесс на 2 этапа:

  1. Работа над материалами для тела и зубов;
  2. Настройка иллициев.


Тело и зубы

Для настройки материала тела используем обычный PBR-материал с Metal-Rough workflow или пайплайном. Карты экспортируем из Substance Painter. Для материалов используем такие ноды: Albedo или Base Color, Roughness и Normal Map. Normal Map нужен для мелкой детализации.

Во время работы над материалами тела и зубов, текстурные карты, которые не передают цвет материала, должны быть в линейном пространстве. Поэтому, в Color Space текстур ставим:

sRGB — для Albedo;
Non color, либо Liner — для Roughness, Normal и т.д.

Иногда нам нужно "флипнуть" зеленый канал в Normal Map. Это зависит от пайплайна с которым мы работали в Substance Painter и от пресета на экспорт текстур (под OpenGL или DirectX). Чтобы изменить канал, нажимаем “Shift+A”, находим Separate RGB и подключаем к нему output Color. Теперь, чтобы инвертировать зеленый канал (G), добавляем нод Invert со значением Fac "1.000" и подключаем обратно через Combine RGB.
Эту конструкцию подключаем к Normal в Principled BSDF. Roughness (черно-белая карта, которая не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).

Так выглядит готовая сборка материала:
Фиолетовое поле — это Normal Map. Не прилинкованные окна трогать не нужно.
В случае с зубами настройки все те же. Также флипаем зеленый канал в нормалке, если это нужно.
💥 Курс «Styl» для тебя, если хочешь моделить таких же персонажей
Узнаешь, как устроен пайплайн разработки стилизованных персонажей в больших игровых студиях. Научишься делать скульпт, риг и анимацию. А в конце создашь полноценного «живого» персонажа, который дышит, двигается и вселяет трепет во врагов. Курс можно взять в рассрочку.
Пошаговое создание светящихся иллициев

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

Наши "удочки" будут состоять из:

а) нижнего слоя — овалы внутри, которые дают основное свечение на концах;
b) среднего слоя — светящиеся трубки;
c) верхнего слоя — внешняя оболочка иллициев.

А) Нижний слой
Material Output нижнего слоя состоит из Principled BSDF. Он идет в Surface объекта и Principled Volume, который подсоединен к параметру "внутреннего объема".
Так как геометрия объектов простая — Normal Map не нужен, его значения оставляем "по умолчанию". Основные действия проведем с Principled BSDF и Volume.

Principled BSDF. Здесь мы задаем Base Color значением HSV (Hue, Saturation, Value), оставляем Roughness по умолчанию и переходим к настройке прозрачности. Наш объект будет скрыт под слоями, а основное свечение будет исходить из внутреннего объема, потому мы ставим значение Transmission "1.000". Это сделает объект прозрачным. Параметр Transmission Roughness делает поверхность матовой или глянцевой. Чем больше значение, тем меньше глянца.

Volume. Здесь мы задаем цвет внутреннего "тумана" и его плотность. Для этого выставим значение Density на 10.000.
Настройки материала нижнего слоя.
На скриншоте видно, что Emission поверхности — черный. Это значит, что свечение будет исходить не от поверхности, а от Volume. Для этого мы и задавали максимальную прозрачность оболочки. Так как этот слой будет спрятан под двумя мы задаем большое значение в параметре Emission Strength — "1700.000".


B) Средний слой
Ноды этого слоя те же, что и у предыдущего. В Principled BSDF значение Roughness выставляем в 3 раза меньше, чтобы поверхность стала более глянцевой. Значение IOR (индекса преломления) оставляем по умолчанию. Transmission контролируется через Color Ramp и Layer Weight.
Настройки материала среднего слоя.
Layer Weight — нод, из которого берем значение Френелевского отражения. Френелевское отражение — это когда объект становится более прозрачным, если изменить угол обзора. Когда смотрим на объект под углом 90° — он максимально прозрачный. Если меняем угол на больший или меньший — прозрачность уменьшается.

Пример: рыба из референса. Мы видим, как поверхность по краям теряет прозрачность, но обретает цвет.
Color Ramp — это как аналог уровней в Photoshop. С помощью Color Ramp можно:

1) инвертировать цвета — по умолчанию белый цвет справа, а черный слева. Если перетянуть ползунки друг на друга, то цвета обратяться;
2) настроить контрастность — чем меньше расстояние между ползунками, тем больше контрастность.

Если соединить Color Ramp с Transmission — получим такие параметры: чем ближе к белому цвет, тем прозрачнее будет отображаться материал на рендере.

От настройки поверхности переходим к свечению. Оно берется из нода Principled Volume, который мы подключаем к Material Output (Volume). Цвет тумана — красный, испускаемого света — оранжевый. Выбираем значение плотности — "1.000" и Emission — "400.000".
Получаем плавный переход от интенсивной точки свечения — на прозрачном участке, к менее интенсивному — по всей длине менее прозрачного стержня.
С) Верхний слой

Общий принцип тот же: к Principled BSDF подсоединяем Base Color и Color Space sRGB, а потом добавляем упрощенную настройку volume — Volume Absorption. На последнем останавливаться нет смысла, затронем основные моменты настройки Principled BSDF.

Для Roughness мы использовали готовую текстуру из Substance Painter. Аналогично применяем готовый градиент к Transmission и миксуем с Layer Weight (откуда берем френель) + Color Ramp (инверт LW). Чтобы смешать прозрачность по френелю и по градиенту, создаем нод MixRGB и выбираем вариант смешивания Multiply. Линкуем их к нему (Color1 и Color2) и соединяем нод Multiply с Transmission.
В конце не забываем инвертировать зеленый канал в Normal Map, если нужно.


Итог

Вот так выглядит модель на рендере. В следующий раз поговорим о том, как правильно выставлять свет и подавать модель.
Styl. Создание стилизованных персонажей
Научись создавать стилизованных персонажей, ставить их в динамичные позы и внедрять в Unreal Engine. Преподаватели — профи. Среди них Senior 3D-художник в Riot Games и эксперт, который разрабатывал Doom Eternal и Darksiders 3.
Работа студента pabbo
Курс
Понравилась статья?
ХОЧЕШЬ ПОЛУЧАТЬ ЛУЧШИЕ СТАТЬИ
ОТ XYZ РАЗ В НЕДЕЛЮ?
Подпишись на рассылку XYZ
Нажимая на кнопку, вы соглашаетесь с условиями обработки данных