Создание материалов Blend4Web. Начнем с простого
2017-11-27
Библиотека материалов Blend4Web насчитывает 32 высококачественные заготовки для визуализации практически любого предмета с близкого расстояния, но в реальной жизни их гораздо больше. Поэтому мы решили поделиться с вами основными принципами создания материалов, используя примеры из нашей библиотеки. Это позволит вам разрабатывать собственные материалы Blend4Web для конкретных задач.
Возможно, вы уже знакомы с разделом документации Blend4Web, где описана структура и рекомендации по использованию библиотеки материалов. Если нет, то предлагаем изучить её.
Мы, внутри команды Blend4Web, разделяем материалы на несколько типов, в зависимости от задействованных в них эффектов:
Простые. Без использования текстур, карт кубических отражений или же Matcap. Примером этого могут служить материалы глянцевого пластика, хрома и стекла. В некоторых случаях используются только текстуры Noise.
Средние. Использование простых текстур. Могут также применяться Normal Map и запеченные процедурные текстуры. Это материалы: гипс, матовый пластик, резина, простая ткань.
Сложные. Использование карт нормалей, простых и шумовых текстур, масок, а также сложных нодовых конвейеров (бронза, чугун, кожа).
Очень сложные. Весь набор текстур и сложное строение нодового дерева. Это карбон, автомобильная краска, снег, лёд.
Специфические. Специальные запеченные текстуры, многослойная геометрия, эффекты постобработки, а также анимация. Сюда входят материалы драгоценных камней и меха.
Давайте изучим каждую категорию на основе одного или нескольких материалов из библиотеки.
Простые матовые материалы
В этой статье мы разберем первые две категории материалов. По принципу и сложности они мало чем различаются. Только лишь длительностью изготовления или использования текстур. Начнем с вязаного материала, где не требуются отражения или же сложные нодовые построения.
На рисунке вы видите упрощенную структуру материала, где самые важные элементы скрыты в ядре. Это сделано для удобства настройки. Сначала посмотрим, что получается на входе и выходе из ядра:
1. Нода RGB задает цвет материала. Как это происходит внутри — мы разберем немного позже.
2. Выход Color после всех преобразований. Подаётся уже на вход материала Color для обработки шейдером. Эта информация задаёт цвет.
3. Выход Specular, который подаётся ко входу Specular ноды Material. Так можно указать блестящие места материала.
4. Выход Normal содержит информацию о нормалях объекта. В материалах Blend4Web можно получить результат смешения основной карты Normal Map с Detail Normal, которая задаёт микрорельеф на материале. Однако, здесь этого не происходит. Ко входу Normal ядра материала подсоединена нода Geometry, то есть естественная нормаль геометрии объекта. Таким образом можно выполнить смешение нормалей объекта с материалом.
5. Запеченная карта Ambient Occlusion, которая накладывается на результат работы ноды Material. Это позволяет создавать эффект затенения в пазах, швах и ямках на объекте.
Теперь рассмотрим ядро — сердце материала.
1.Текстурный слот с Normal Map, где канал прозрачности содержит черно-белую текстуру.
2. Нода SmoothStep. Это аналог известной ноды ColorRamp, только более быстрый и настраивается с помощью числовых значений. Здесь происходит сжатие черно-белой маски, что находится в канале Alpha карты нормалей.
3. Нода ColorMix, которая раскрашивает черно-белую текстуру в определенный цвет.
4. Нода ColorMix применяет градиент к черно-белой текстуре, которая дальше используется в виде карты Specular. Таким образом, одну текстуру мы используем дважды и этим экономим ресурсы.
5. Нода ColorMix. Смешивает Detail Normal Map с базовой картой нормалей. Результат подаётся на вход Normal ноды Material.
Теперь предлагаем посмотреть видео ниже, где демонстрируется процесс создания ядра, а также некоторые иные интересные моменты.
В следующий раз мы поговорим об использовании отражения на примере материалов хромированной стали и меди.