События

Создание материалов Blend4Web. Игры с отражением

2017-12-05

Этот урок продолжает серию статей по созданию материалов для проектов Blend4Web. В прошлый раз вы уже познакомились с простыми матовыми материалами. Настало время поговорить об отражениях.

Материал хром из библиотеки материалов Blend4Web

Самым простым примером такого материала служит хромированная полированная сталь, так как она практически равномерно отражает окружающее пространство. Но сначала рассмотрим способы создания отражения, которые применялись для материалов библиотеки Blend4Web:

1. Отражение в реальном времени. Достаточно включить опцию Reflective в настройках материала. Учтите, что в зависимости от сложности сцены и участвующих в отражении объектов, это может создавать значительные нагрузки на железо.

2. Использование кубической карты. Это запеченная текстура отражений окружающего пространства, которые не просчитываются в реальном времени, а только имитируют их. Быстрый и эффективный способ, но при этом игнорируется текущее положение объектов.

Более подробно о работе с кубическими картами можно прочесть здесь.

Пример отражения с учетом окружающего пространства

Выше можно увидеть пример, когда отражение учитывает окружающие предметы и среду, а также реагирует на их изменение в реальном времени.

Использование кубической карты

Использование кубической карты является более оптимизированным и быстрым вариантом, который позволяет добиться особых художественных эффектов, не завися от окружения и освещения.

Кубические карты с разной степенью размытости

При помощи графического редактора (Gimp, Photoshop или иной) можно «размыть» карту отражения, получив таким образом имитацию настройки Roughness, которая используется в модели PBR. Условно можно предположить, что сфера слева настроена с Roughness, равной нулю, а сфера справа - ближе к единице.

Хромированный металл с кубической картой отражения

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

Медь

Теперь рассмотрим более сложный материал с использованием карты нормалей и Cubemap. Это будет медь.

Материал меди

Материал меди выглядит достаточно сложным, но нам нет необходимости рассматривать абсолютно все. Достаточно разобраться с его основной частью, а все остальное лишь добавляет реализма: состаренность, загрязненность и т.п.

Упрощенный материал меди

Перед вами упрощенный материал меди, который более удобен для понимания работы ядра. В основе его лежит кубическая карта (2), так как металлы в реальном мире практически полностью отражают окружающее пространство вокруг себя с определённым цветовым оттенком. На этом и строится работа ядра, где кубическая карта окрашивается нодой ColorMix (3) в характерный для этого металла цвет.

Медь, представленная в библиотеке материалов Blend4Web, имеет грубую полировку. Для этого кубическая карта должна искажаться по небольшим бороздкам и неровностям. Поэтому, ко входу Normal ноды Reflect подана бесшовная карта Normal map, имитирующая грубую шлифовку с неровностями.

Карта нормалей для имитации неровностей грубой шлифовки

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

Комментарии
05 дек. 2017 23:43
Терзался сомнениями - куда влепить нормал мап, чтобы рисочки имитировать - увидел ответ в уроке))
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.