Введение

Материалы регулируют внешний вид мешей, кривых, объёмов и других объектов. Они определяют вещество, из которого сделан объект, его цвет и текстуру, а также то, как с ним будет взаимодействовать свет.

Материалы на основе реальных физических параметров могут быть созданы с использованием шейдеров Principled BSDF, Principled Hair и Principled Volume. С этими uber-шейдерами можно создавать широкий спектр материалов, включая пластик, стекло, металл, ткань, кожу, волосы, дым и огонь.

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

Настройка материалов

Материалы можно создавать либо в «свойствах материала», либо в «редакторе шейдеров». Они предоставляют другой вид тех же нод шейдинга и настроек материалов.

Стандартное рабочее пространство Shading содержит «редактор шейдеров» и 3D-вьюпорт, который можно переключить на «предварительный просмотр материала» или «рендерный шейдинг», чтобы в интерактивном режиме просматривать, как материал взаимодействует с объектами и источниками света в сцене.

Материалы – это блоки данных, которые могут быть назначены одному или нескольким объектам, более того – различные материалы могут быть назначены различным частям меша.

Текстуры изображений можно создавать с нуля в режиме текстурирования или загрузкой существующих изображений с помощью ноды «Image Texture». Также доступны различные процедурные ноды текстур.

Компоненты (components)

Материалы состоят из трёх шейдеров – определяющих внешний вид поверхности, объём внутри объекта и смещение поверхности.

../../_images/render_materials_introduction_shaders.svg

Шейдер поверхности (surface shader)

Шейдер поверхности управляет текстурами и взаимодействием света на поверхности меша.

Шейдер объёма (volume shader)

Шейдер объёма определяет внутреннюю часть меша. Материал может иметь один только шейдер объёма для таких случаев, как дым и огонь, или его можно объединять с шейдером поверхности для таких материалов, как мутное стекло.

Смещение (displacement)

Форма поверхности и внутренний объём объекта могут быть изменены шейдерами смещения. Таким образом можно использовать текстуры, чтобы сделать поверхность меша более детализированной.

В зависимости от настроек, смещение может быть виртуальным, то есть изменять только нормали поверхности, создавая видимость смещения, известное как рельефное текстурирование или bump mapping, или быть комбинацией реального и виртуального смещения.

Шейдинг на основе реальных физических параметров

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

Чтобы материалы хорошо взаимодействовали с глобальным освещением, они должны быть энергосберегающими. Это означает, что они не могут отражать больше света, чем его поступает. Это свойство не является строго обязательным, но если цвета находятся в диапазоне от 0.0 до 1.0, и BSDF смешиваются вместе только с нодой Mix Shader, это автоматически будет верно.

Однако, есть возможность всё испортить, со значениями цвета выше 1.0 или используя ноду Add Shader, но при этом необходимо быть осторожным, чтобы материалы вели себя предсказуемо в различных условиях освещения.