Время на прочтение: 8 минут(ы)
Это первая статья из цикла по работе в 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 режима:
- Редактирование «мира» сцены.
Здесь есть две настройки:
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 этапа:
- Работа над материалами для тела и зубов;
- Настройка иллициев.
Тело и зубы
Для настройки материала тела используем обычный 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. Не прилинкованные окна трогать не нужно.
Пошаговое создание светящихся иллициев
Иллиции обведены на картинке
Наши «удочки» будут состоять из:
а) нижнего слоя — овалы внутри, которые дают основное свечение на концах;
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.
Настройки материала нижнего слоя.
B) Средний слой
Настройки материала среднего слоя.
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).