Примеры Шейдерных Нод / Blender

Verge3D поддерживает практически все ноды, содержащиеся в Blender Shader Editor. Однако для большинства веб-задач связанных с рендером в реальном времени ограниченного набора шейдерных нод будет достаточно. Ниже мы перечислим те из них, которые используются в демонстрационных проектах Verge3D.

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

Содержание

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

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

Principled BSDF

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

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

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

Diffuse BSDF

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

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

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

Glossy BSDF

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

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

Emission

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

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

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

Transparent BSDF

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

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

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

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

Refraction BSDF

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

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

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

Glass BSDF

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

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

Translucent BSDF

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

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

Add Shader

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

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

Mix Shader

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

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

Output Nodes

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

Material Output

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

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

Input Nodes

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

Geometry

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

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

Attribute

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

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

Texture Coordinate

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

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

UV Map

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

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

Fresnel

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

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

Layer Weight

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

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

RGB

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

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

Value

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

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

Camera Data

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

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

Tangent

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

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

Vertex Color

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

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

Texture Nodes

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

Checker Texture

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

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

Image Texture

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

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

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

Gradient Texture

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

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

Voronoi Texture

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

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

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

Noise Texture

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

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

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

Wave Texture

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

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

Color Nodes

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

Bright/Contrast

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

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

Hue Saturation Value

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

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

Mix

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

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

RGB Curves

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

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

Invert

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

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

Gamma

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

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

Vector Nodes

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

Bump

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

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

Mapping

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

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

Normal

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

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

Normal Map

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

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

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

Vector Curves

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

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

Vector Rotate

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

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

Vector Transform

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

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

Converter Nodes

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

Clamp

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

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

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

Color Ramp

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

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

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

Map Range

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

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

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

Shader to RGB

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

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

RGB to BW

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

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

Math

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

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

Vector Math

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

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

Combine/Separate Nodes

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

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

World-Specific Nodes

These nodes are either available only for World materials (Background, World Output), or typically used with World materials (Environment Texture, Light Path, Sky Texture):

Background

Данная нода используется для настройки фонового цвета, а также для освещения и отражений на основе изображения. Она редко используется сама по себе, потому что обеспечиват только монотонный цвет. Вы можете сочетать её с environment texture для наилучшего результата.

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

World Output

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

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

Environment Texture

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

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

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

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

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

Light Path

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

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

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

Sky Texture

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

ПРИМЕЧАНИЕ: данная нода поддерживается только в Cycles и не работает с движком Eevee.

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

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

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

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

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

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

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

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

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

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

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