Справочник поддерживаемых шейдерных нод / Блендер

«Вердж3Д» поддерживает почти все ноды шейдерного редактора «Блендера». Однако для большинства задач связанных с рендерингом в реальном времени ограниченного набора шейдерных нод будет достаточно. Ниже мы перечислим те из них, которые используются в демо-приложениях и примерах «Вердж3Д».

Входы и выходы нод, которые поддерживаются в «Вердж3Д», помечены зелеными галочками, а те которые не поддерживаются — красными крестиками.

Содержание

Шейдерные ноды

Эти ноды являются основой любого материала, поскольку отвечают за вычисление затенения на поверхности объектов. При создании проектов в «Вердж3Д» чаще всего используются следующие шейдерные ноды:

Principled BSDF

Данная универсальная нода реализует физически корректную визуализацию модели (также известую как PBR). Она отлично подходит для создания большинства материалов в Вердж3Д.

Изменив всего несколько настроек в ноде Principled BSDF, можно достаточно быстро получить красивый материал. Для лучшего результата вы можете использовать ноду environment texture, которая обеспечит отражения и освещение основанное на выбранном изображении, или просто используйте уже готовые настройки окружения из шаблонного проекта Cube.

Чтобы узнать больше информации о ноде Principled BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Diffuse BSDF

Данная нода реализует диффузный компонент PBR. Она используется для добавления в материал запечённой карты АО, а иногда в сочетании с нодой Glossy BSDF для большего контроля относительно Principled BSDF.

В следующем примере, Diffuse BSDF используется для того, чтобы добавить запечённую карту АО в материал хрома:

Чтобы узнать больше информации о ноде Diffuse BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Glossy BSDF

Данная нода реализует отражающий компонент PBR. Она используется исключительно для металлических поверхностей или иногда в сочетании с Diffuse BSDF для большего контроля.

Чтобы узнать больше информации о ноде Glossy BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Emission

Данная нода используется, чтобы представлять неосвещенные (без тени) объекты. Также она используется для обозначения светящихся объектов в сочетании с постэффектом bloom в Вердж3Д.

В следующем упрощенном примере, Emission используется для незатенённых UI иконок:

Чтобы узнать больше информации о ноде Emission, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Transparent BSDF

Данная нода реализует прозрачность материалов путём смешивания с другими шейдерными нодами, например с такими как Glossy BSDF.

Данная нода поддерживается частично. Она будет иметь большее сходство с окном просмотра Блендер, если следовать следующим ограничениям:
- на входе Color должен быть строго белый цвет (R = 1, G = 1, B = 1)
- нода должна использоваться в самом конце дерева нод, т.е. подключаться перед Material Output через ноды Mix Shader или Add Shader (смотрите пример ниже) или непосредственно подключаться в разъем Surface Material Output

В упрощённом примере, указанном ниже, Transparent BSDF используется для материала стекла обтекателя:

Чтобы узнать больше информации о ноде Transparent BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Refraction BSDF

Данная нода отвечает за преломление материала, используя для этого карту окружения.

Ниже приведён простой пример использования:

Чтобы узнать больше информации о ноде Refraction BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Glass BSDF

Данная нода реализует PBR компоненты отражения и преломления.

Чтобы узнать больше информации о ноде Glass BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Translucent BSDF

Данная нода отвечает за эффект прозрачности.

Чтобы узнать больше информации о ноде Translucent BSDF, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Add Shader

Данная нода складывает свойства двух шейдеров.

Чтобы узнать больше информации о ноде Add Shader, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Mix Shader

Данная нода смешивает два шейдера.

Чтобы узнать больше информации о ноде Mix Shader, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Выходные ноды

Данные ноды являются конечной точкой шейдера. Для материалов типа Object доступны только нижеуказанные ноды (существует также специальная нода выхода для материалов типа World):

Material Output

Данная нода обеспечивает результат затенения поверхности.

Чтобы узнать больше информации о ноде Material Output, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Входные ноды

Эти ноды обеспечивают разнообразную вводную информацию для шейдера. Те ноды, которые среди них используются чаще всего в работе с Вердж3Д, указаны ниже:

Geometry

Эта нода обеспечивает геометрическую информацию (в мировом пространстве) для точки затенения. На данный момент Вердж3Д поддерживает только разъемы Position, Normal, Tangent, Incoming и Backfacing.

Чтобы узнать больше информации о ноде Geometry, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Attribute

Данная нода извлекает из меша атрибуты. На данный момент Вердж3Д поддерживает только атрибут Vertex Color.

Чтобы узнать больше информации о ноде Attribute, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Texture Coordinate

Данная нода обеспечивает развёртку или процедурно назначенные координаты для текстурирования. Вердж3Д использует первый слой UV развертки из списка слоёв доступных для меша.

Чтобы узнать больше информации о ноде Texture Coordinate, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

UV Map

Данная нода извлекает определённый слой UV развертки из меша. В отличие от ноды Texture Coordinate, она работает с любым слоем UV развёртки доступных для меша.

Чтобы узнать больше информации о ноде UV Map, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Fresnel

Данная нода вычисляет соотношение отражённого и преломлённого света.

Чтобы узнать больше информации о ноде Fresnel, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Layer Weight

Данная нода обеспечивает коэффицент смешения, который зависит от направления, в котором наблюдается поверхность объекта.

Чтобы узнать больше информации о ноде Layer Weight, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

RGB

Данная нода передаёт шейдеру значение цвета.

Чтобы узнать больше информации о ноде RGB, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Value

Данная нода передаёт шейдеру цифровое значение.

Чтобы узнать больше информации о ноде Value, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Camera Data

Данная нода передаёт информацию о расположении объекта относительно камеры.

Чтобы узнать больше информации о ноде Camera Data, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Tangent

Данная нода задаёт тангенциальные направления. Если в значении Direction Type выставлена "UV Map", то вычисления касательных будет зависеть от активного слоя развертки выбранного меша, а не от слоя развертки указанного в самой ноде (этот параметр не поддерживается).

Чтобы узнать больше информации о ноде Tangent, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Vertex Color

Данная нода передаёт значения вертексных цветов в шейдер.

Чтобы узнать больше информации о ноде Vertex Color, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Object Info

Эта нода служит для передачи параметров объекта (и материала) в шейдер.

Нода Object Info в Блендере

Чтобы узнать больше информации о ноде Object Info, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Текстурные ноды

С помощью данных нод в шейдер добавляются растровые изображения. При работе в Вердж3Д чаще всего используются следующие из них:

Checker Texture

Данная нода предоставляет растровое изображение с шахматным паттерном.

Чтобы узнать больше информации о ноде Checker Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Image Texture

Данная нода предоставляет файл изображения, для использования в шейдере в качестве текстуры.

ПРИМЕЧАНИЕ: некоторые опции поддерживаются частично
- режим интерполяции: Linear, Closest
- источник изображения: Single Image, Generated
- цветовое пространство: Linear, sRGB

Чтобы узнать больше информации о ноде Image Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Gradient Texture

Данная нода обеспечивает плавно меняющуюся цветовую гамму и её интенсивность.

Чтобы узнать больше информации о ноде Gradient Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Voronoi Texture

Данная нода предоставляет растровое изображение с диаграммой Вороного.

ПРИМЕЧАНИЕ: поддерживается только 3D измерение, что означает отсутствие поддержки ввода W

Чтобы узнать больше информации о ноде Voronoi Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Noise Texture

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

ПРИМЕЧАНИЕ: поддерживается только 3D измерение, что означает отсутствие поддержки ввода W

Чтобы узнать больше информации о ноде Noise Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Wave Texture

Данная нода предоставляет растровое изображение с волнистым паттерном.

Чтобы узнать больше информации о ноде Wave Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Цветовые ноды

Данные ноды обеспечивают разнообразные взаимодействия с цветом. При работе в Вердж3Д чаще всего используются следующие из них:

Bright/Contrast

Данная нода используется для изменения яркости и контраста у цветового входа.

Чтобы узнать больше информации о ноде Bright/Contrast, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Hue Saturation Value

Данная нода используется для изменения HSV модели цветового входа.

Чтобы узнать больше информации о ноде Hue Saturation Value, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Mix

Данная нода смешивает два цветовых входа вместе, используя разнообразные режимы.

Чтобы узнать больше информации о ноде Mix, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

RGB Curves

Данная нода используется для коррекции цвета и регулировки уровней.

Чтобы узнать больше информации о ноде RGB Curves, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Invert

Данная нода инвертирует цветовой вход, создавая негатив.

Чтобы узнать больше информации о ноде Invert, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Gamma

Данная нода применяет гамма-коррекцию к цветовому входу.

Чтобы узнать больше информации о ноде Gamma, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Векторные ноды

Данные ноды обеспечивают разнообразные операции с векторами. При работе в Вердж3Д чаще всего используются следующие из них:

Bump

Данная нода генерирует карту рельефа.

Чтобы узнать больше информации о ноде Bump, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Mapping

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

Чтобы узнать больше информации о ноде Mapping, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Normal

Данная нода используется для определения вектора нормалей и генерации скалярного произведения.

Чтобы узнать больше информации о ноде Normal, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Normal Map

Данная нода определяет направление нормаей из растрового изображения, интерпретируемого как карта нормалей.

ПРИМЕЧАНИЕ: поддерживается только Tangent Space

Чтобы узнать больше информации о ноде Normal Map, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Vector Curves

Данная нода используется для отображения входного вектора в виде кривой.

Чтобы узнать больше информации о ноде Vector Curves, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Vector Rotate

Данная нода используется для вращения входного вектора вокруг точки опоры.

Чтобы узнать больше информации о ноде Vector Rotate, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Vector Transform

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

Чтобы узнать больше информации о ноде Vector Transform, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Ноды преобразования

Данные ноды предоставляют данные для преобразования между различными типами. При работе в Вердж3Д чаще всего используются следующие из них:

Clamp

Данная нода фиксирует входное значение в указанном диапазоне.

ПРИМЕЧАНИЕ: поддерживается только тип фиксации Min Max

Чтобы узнать больше информации о ноде Clamp, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Color Ramp

Данная нода преобразует значения в цвета, используя градиент.

ПРИМЕЧАНИЕ: некоторые настройки поддерживаются частично
- цветовой режим: поддерживается только RGB
- интерполяция: Linear, Constant

Чтобы узнать больше информации о ноде Color Ramp, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Map Range

Данная нода используется для изменения значения из одного диапазона в другой.

ПРИМЕЧАНИЕ: поддерживается только Linear интерполяция

Чтобы узнать больше информации о ноде Map Range, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Shader to RGB

Данная нода заменяет шейдерные вычисления простым цветом. Обычно используется для нефотореалистичного рендеринга.

Чтобы узнать больше информации о ноде Shader to RGB, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

RGB to BW

Данная нода преобразует цвет в чёрно-белое изображения, используя яркость.

Чтобы узнать больше информации о ноде RGB to BW, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Math

Данная нода предоставляет математические вычисления с цифровыми значениями:

Чтобы узнать больше информации о ноде Math, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Vector Math

Данная нода выполняет операции с векторами:

Чтобы узнать больше информации о ноде Vector Math, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Combine/Separate Nodes

Данные ноды объединяют цвет/вектор из отдельных каналов или разделяют их на отдельные каналы.

Чтобы узнать больше информации о нодах Combine и Separate Nodes, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Ноды специфичные для материала мира

Это ноды, доступные либо исключительно для мировых материалов (Background, World Output), либо их основное предназначение — быть в составе шейдеров мировых материалов (Environment Texture, Light Path, Sky Texture):

Background

Данная нода используется для настройки фонового цвета, а также для освещения и отражений на основе изображения. Поскольку она редко используется сама по себе, обеспечивает только монотонный цвет, чаще всего её сочетают с нодой Environment Texture.

Нода background в Блендере

Чтобы узнать больше информации о ноде Background, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

World Output

Данная нода является конечной точкой материалов типа World. Она представляет результаты затенения окружения.

Чтобы узнать больше информации о ноде World Output, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Environment Texture

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

Шаблон default cube уже содержит в себе HDR изображение, которое вы можете использовать в своих проектах.

ПРИМЕЧАНИЕ: некоторые опции поддерживаются частично
- режим интерполяции: Linear, Closest
- источник изображения: Single Image, Generated
- цветовое пространство: Linear, sRGB

На примере, указанном ниже, изображение формата JPEG одновременно обеспечивает освещение, отражения и фон на основе изображения.

Чтобы узнать больше информации о ноде Environment Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Light Path

Данная нода предоставляет шейдеру различную информацию логического типа. Чаще всего её используют для того, чтобы контролировать видимость текстуры окружения на фоне (с помощью выхода Is Camera Ray).

Нода Light Path в Блендере

Следующая типичная конфигурация нодового шейдера используется для обеспечения освещения окружающей среды и отражений, но без отображения самой текстуры в фоне (вместо неё шейдер отображает сплошной белый цвет):

Пример нодового шейдера мира в Блендере

Чтобы узнать больше информации о ноде Light Path, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Sky Texture

Данная нода предоставляет процедурно сгенерированную текстуру небосвода.

Чтобы узнать больше информации о ноде Sky Texture, ознакомьтесь с руководством «Блендера», пройдя по следующей ссылке.

Оптимизация производительности

Оптимизация Principled BSDF

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

Есть несколько способов оптимизировать материалы основанные на Principled BSDF:

Имейте в виду, что последние два метода приведут к тому, что ваши материалы будут выглядеть по-другому по сравнению с вьюпортом «Блендера».

Медленные процедурные текстуры

Существуют процедурные текстуры, которые снижают производительность:

Вы можете запечь данные текстуры в растровые изображения и использовать ноду Image Texture, чтобы достигнуть лучшей производительности.

Остались вопросы?

Задайте их на нашем форуме!