Вердж3Д для Майи: Материалы, текстуры и вспомогательные ноды — Софт Эйт Софт
Description: Узнайте, какие типы материалов, текстур и узлов утилиты Майя поддерживаются в Вердж3Д и как их настроить для создания красивых 3Д-веб-интерактивов.

# Материалы, текстуры и ноды / Майя

В этом разделе приведены ссылки на все материалы, текстуры и ноды, поддерживаемые в «Вердж3Д для Майи».

Данный раздел использует ссылки на официальную документацию «Автодеск», которая может не открываться у пользователей с российскими и белорусскими IP-адресами.

- Шейдеры поверхностей
  - Standard Surface
  - Lambert
  - Blinn, Phong, Phong E
  - Surface Shader
- 2Д-текстуры
  - Bulge
  - Checker
  - Cloth
  - File
  - Grid
  - Noise
  - Ramp
- Текстуры окружения
  - Env Sphere
- Другие текстуры
  - Layered Texture
- Вспомогательные ноды
  - Add Double Linear
  - Add Matrix
  - Blend Colors
  - Bump 2d
  - Clamp
  - Compose Matrix
  - Condition
  - Decompose Matrix
  - Four By Four Matrix
  - Gamma Correct
  - Inverse Matrix
  - Luminance
  - Multiply Divide
  - Mult Double Linear
  - Mult Matrix
  - 2d Placement
  - Reverse
  - Sampler Info
  - Set Range
  - Transpose Matrix
  - Unit Conversion
  - Vector Product
  - Weighted Add Matrix
- LookdevKit Utility Nodes
  - Channels
  - Color Composite
  - Color Condition
  - Color Constant
  - Color Logic
  - Color Mask
  - Color Math
  - Float Composite
  - Float Condition
  - Float Constant
  - Float Logic
  - Float Mask
  - Float Math
  - Premultiply
  - Unpremultiply
- Ноды Arnold
  - aiStandardSurface
  - aiAbs
  - aiAdd
  - aiAtan
  - aiCheckerboard
  - aiCompare
  - aiComlement
  - aiCross
  - aiDivide
  - aiDot
  - aiExp
  - aiFacingRatio
  - aiFlat
  - aiFraction
  - aiIsFinite
  - aiLength
  - aiLog
  - aiMatrixTransform
  - aiMax
  - aiMin
  - aiMixShader
  - aiModulo
  - aiMultiply
  - aiNegate
  - aiNormalize
  - aiNormalMap
  - aiOslShader
  - aiPow
  - aiRaySwitch
  - aiReciprocal
  - aiShadowMatte
  - aiSign
  - aiSkyDomeLight
  - aiSqrt
  - aiSubtract
  - aiTrigo
  - aiTriplanar
  - aiTwoSided
  - aiUserDataColor
  - aiUvProjection
- Производительность

#

## Шейдеры поверхностей

#

### Standard Surface

Этот шейдер может изображать множество материалов реального мира (такие как металлы, пластики, стекло, дерево, текстиль и др.) посредством использования физически-корректного освещения.

В «Вердж3Д» поддерживаются следующие настройки StandardSurface:

#### Base Panel

- Weight or (Base вход в Hypershade)
- Color or (Base Color вход в Hypershade)
- Metalness

#### Specular Panel

- Weight (Specular вход в Hypershade)
- Color (Specular Color вход в Hypershade)
- Roughness (Specular Roughness вход в Hypershade)
- IOR (Specular IOR вход в Hypershade)

#### Transmission Panel

- Weight (Transmission вход в Hypershade)
- Color (Transmission Color вход в Hypershade)

#### Coat Panel

- Weight (Coat вход в Hypershade)
- Roughness (Coat Roughness вход в Hypershade)
- Normal (Coat Normal вход в Hypershade)

#### Sheen Panel

- Weight (Sheen вход в Hypershade)
- Color (Sheen Color вход в Hypershade)
- Roughness (Sheen Roughness вход в Hypershade)

#### Emission Panel

- Weight (Emission вход в Hypershade)
- Color (Emission Color вход в Hypershade)

#### Geometry Panel

- Thin Walled
- Opacity
- Bump Mapping (Normal Camera вход в Hypershade)

#### Дополнительные настройки «Вердж3Д»

Вы можете настроить материалы StandardSurface с помощью следующих параметров, расположенных на панели Verge3D:

Alpha Mode
  Режимы прозрачности: Auto, Opaque, Blend или Mask. См. руководство по прозрачности для дополнительной информации.
Two Sided
  Делает ваш материал двухсторонним. По умолчанию «Вердж3Д» рендерит только лицевую сторону материалов, включите эту опцию, чтобы отрендерить и обратную сторону.
Depth Write
  Рендерит глубину материала в буфере глубины. Используйте эту опцию для прозрачных материалов, чтобы сделать их рендеринг аддитивным.
Depth Test
  Выполняет тест глубины при рендеринге материала. Отключение теста глубины полезно при рендеринге объектов внутри полупрозрачных объектов, чтобы предотвратить их вытеснение покрывающими объектами.
Dithering
  Уменьшение артефактов-полос с помощью пиксельного дизеринга.
glTF 2.0 Compatible
  Делает материал совместимым с glTF 2.0. Пройдите по ссылке для получения дополнительной информации.

#

### Lambert

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

В «Вердж3Д» поддерживаются следующие настройки Lambert:

- Color
- Transparency
- Diffuse
- Bump/Normal Mapping

Также поддерживаются специфичные для «Вердж3Д» настройки. Смотрите выше для получения дополнительной информации.

#

### Blinn, Phong, Phong E

В «Вердж3Д» эти материалы будут приблизительно соответствовать модели шейдинга PBR, поэтому они могут выглядеть по-другому по сравнению с вьюпортом «Майи».

#

### Surface Shader

Используйте эту шейдерную ноду для создания полностью настраиваемых материалов. По сути, он просто передает параметр Out Color в рендер как есть.

#

## 2Д-текстуры

#

### Bulge

Отображает узорчатый рисунок. Читайте здесь.

#

### Checker

Отображает рисунок в виде шахматной доски. Читайте здесь.

#

### Cloth

Отображает текстуру ткани. Читайте здесь.

#

### File

Отображает текстуру из файла. Читайте подробнее здесь.

#

### Grid

Отображает сетчатую текстуру. Читайте подробнее здесь.

#

### Noise

2Д-рисунок шума. Поддерживается только тип шума Perlin Noise.

#

### Ramp

Процедурный градиент. Читайте подробнее здесь.

#

## Текстуры окружения

#

### Env Sphere

Выводит текстуру, используя равнопромежуточную проекцию. Бывает полезна для рендеринга металлических поверхностей без использования сложных (и затратных в плане расчётов) физически-корректных алгоритмов. Например, вы можете подключить эту ноду на вход Surface Shader:

#

## Другие текстуры

#

### Layered Texture

Используется для создания многослойных текстур. Читайте здесь.

#

## Вспомогательные ноды

#

### Add Double Linear

Рассчитывает сумму двух входящих значений. Двойная точность не поддерживается в WebGL, поэтому эта нода ведёт себя аналогично операции Add ноды Float Math node.

#

### Add Matrix

Рассчитывает сумму двух матриц.

#

### Blend Colors

Смешивает Color 1 и Color 2 используя фактор Blend.

#

### Bump 2d

Эта нода используется для создания карт нормалей и рельефных карт на низкополигональных моделях для улучшения их детализации.

«Вердж3Д» поддерживает только карты Bump и Tangent Space Normals (настройка Use As). Читайте подробнее об использовании этих карт здесь.

#

### Clamp

Ограничивает вход Input между двумя значениями Min and Max.

#

### Compose Matrix

Эта нода формирует матрицу 4x4 из заданных параметров трансляции, вращения и масштаба. Вход Shear не поддерживается.

#

### Condition

Сравнивает First Term и Second Term и выбирает Color If True или Color If False на основе результата сравнения. Читайте подробнее здесь.

#

### Decompose Matrix

Выполняет декомпозицию входящей матрицы на отдельные компоненты. Читайте подробнее здесь.

#

### Four By Four Matrix

Эта нода используется для составления матрицы 4x4 из 16 значений c плавающей запятой.

#

### Gamma Correct

Выполняет гамма-коррекцию над входящим значением.

OutValue = Value 1/γ

#

### Inverse Matrix

Инвертирует заданную матрицу 4x4.

#

### Luminance

Конвертирует входящий цвет в черно-белый. Формула конвертации:

Luminance = 0.3*R + 0.59*G + 0.11*B

#

### Multiply Divide

Выполняет операцию Multiply, Divide или Power над входящими значениями.

#

### Mult Double Linear

Умножает два входящих значения. Поскольку вычисления с двойной точностью не поддерживаются WebGL, данная нода работает аналогично операции Multiply ноды Multiply Divide.

#

### Mult Matrix

Умножает две или более матриц. В «Вердж3Д» с помощью одной ноды Mult Matrix можно перемножить не более 3-х матриц.

#

### 2d Placement

Выводит двухмерные текстурные координаты. Читайте подробнее здесь.

#

### Reverse

Инвертирует цвет или вектор:

Output = 1 - Input

#

### Sampler Info

Выводит информацию об отображаемом пикселе. Читайте подробнее здесь.

#

### Set Range

Переназначает границы входа Value. Читайте подробнее здесь.

#

### Transpose Matrix

Транспонирует заданную матрицу 4x4.

#

### Unit Conversion

Конвертирует единицы измерения во входящем значении. Читайте подробнее здесь.

#

### Vector Product

Рассчитывает операцию Dot Product, Cross Product, Vector Matrix Product или Point Matrix Product над входящими векторами. Читайте подробнее здесь.

#

### Weighted Add Matrix

Рассчитывает взвешенную сумму входящих матриц. Читайте подробнее здесь.

#

## LookdevKit Utility Nodes

Убедитесь, что у вас включен плагин LookdevKit, прежде чем использовать любую из этих нод.

#

### Channels

Переназначает каналы во входящем цвете (и альфу). Читайте подробнее здесь.

#

### Color Composite

Производит различные композитные операции над входящими цветами (и альфами): Add, Subtract, Mix, Multiply, Screen, Overlay, Difference, Dodge, Burn. Читайте подробнее здесь.

#

### Color Condition

Проверяет входящее условие Condition на истину или ложь и устанавливает соответствующий выход Color/Alpha. Читайте подробнее здесь.

#

### Color Constant

Выводит указанные значения Color и Alpha.

#

### Color Logic

Производит математическую операцию над входящими цветами и устанавливает соответствующее значение Out Bool.

#

### Color Mask

Применяет цветовую маску к входящему цвету/альфе. Читайте подробнее здесь.

#

### Color Math

Производит математическую операцию над входящими цветами/альфой: сложение, вычитание, умножение, деление, минимум, максимум.

#

### Float Composite

Производит различные операции над входными значениями: Add, Subtract, Mix, Multiply, Screen, Overlay, Difference, Dodge, Burn. Для получения подробных инструкций, обратитесь к документации «Майи».

#

### Float Condition

Проверяет входящее условие Condition на истину или ложь и устанавливает соответствующее значение на выходе. Читайте подробнее здесь.

#

### Float Constant

Выводит указанное значение.

#

### Float Logic

Производит математическую операцию над входящими значениями и устанавливает соответствующее значение Out Bool.

#

### Float Mask

Применяет маску к входящему значению. Читайте подробнее здесь.

#

### Float Math

Производит математическую операцию над входящими значениями: сложение, вычитание, умножение, деление, минимум, максимум.

#

### Premultiply

Умножает каналы цветности на альфу.

#

### Unpremultiply

Выполняет деление каналов цветности на альфу.

#

## Ноды Arnold

#

### aiStandardSurface

Этот шейдер идёт в составе рендера «Арнольд» для «Майи» и очень похож на StandardSurface.

Поскольку Standard Surface лучше поддерживается в рендере «Вьюпорт» 2.0 и не требует установки плагина Arnold, мы рекомендуем использовать его при создании контента для «Вердж3Д». Единственная причина использования «Арнольд»-версию — сохранение совместимости с существующими сценами.

#

### aiAbs

Рассчитывает модуль цветового/векторного входа.

#

### aiAdd

Рассчитывает сумму цветов/векторов.

#

### aiAtan

Вычисляет двухаргументный арктангенс над входящими векторами. Читайте подробнее здесь.

#

### aiCheckerboard

Отображает рисунок в виде шахматной доски. «Вердж3Д» поддерживает все свойства ноды aiCheckerboard кроме Filter Strength и Filter Offset.

#

### aiCompare

Сравнивает входящие значения. Читайте подробнее здесь.

#

### aiComlement

Дополняет входящий цвет. Нода работает аналогично ноде reverse node.

Output = 1 - Input

#

### aiCross

Рассчитывает векторное произведение двух векторных входов.

#

### aiDivide

Делит Input 1 на Input 2.

#

### aiDot

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

#

### aiExp

Рассчитывает экспоненту цветового входа Input.

#

### aiFacingRatio

Рассчитывает направление на камеру для отображаемого пикселя, а именно скалярное произведение нормали к поверхности и вектора направления на камеру. Параметры Bias, Gain, Linear и Invert не поддерживаются.

#

### aiFlat

Примитивный шейдер, работающий аналогично Surface Shader. Он передаёт цвет Color в Out Color как есть.

#

### aiFraction

Вычисляет дробную часть входа, например:

[1.5, 2.25, 3.33] becomes [0.5, 0.25, 0.33]

#

### aiIsFinite

Проверяет что входящее является конечным числом (т.е. не равно бесконечности).

#

### aiLength

Рассчитывает длину векторного входа.

#

### aiLog

Рассчитывает логарифм входа Input по основанию Base.

#

### aiMatrixTransform

Выполняет трансформацию текстурных координат с использованием матрицы трансформации. Полезно для изменения позиции/поворота/масштабирования текстур без необходимости изменения геометрии.

#

### aiMax

Рассчитывает максимум двух входов.

#

### aiMin

Рассчитывает минимум двух входов.

#

### aiMixShader

Смешивает два шейдера с использованием фактора Mix Weight. Для этой ноды поддерживают оба режима смешивания blend и add. Переключатель Add Transparency не поддерживается.

#

### aiModulo

Рассчитывает значение входа Input по модулю Divisor.

#

### aiMultiply

Умножает два входа.

#

### aiNegate

Инвертирует входящее значение.

#

### aiNormalize

Нормализует входящий вектор

#

### aiNormalMap

Модифицирует нормаль Normal в соответствии с картой нормалей, подданной на вход Input и вектором тангенты Tangent. Читайте подробнее здесь.

#

### aiOslShader

Нода для создания пользовательских OSL-шейдеров.

#

### aiPow

Вычисляет значение Base, возведённое в степень Exponent.

#

### aiRaySwitch

Когда используется совместно с aiSkyDomeLight, эта нода позволяет разделить рендеринг фона и освещения окружения. Нодовое дерево, подключённое к входу Camera будет использоваться для рендеринга фона, тогда как вход Diffuse Reflection будет использоваться для окружения.

Данный материал не поддерживается ни во вьюпорте «Майи», ни в рендере «Арнольд». Используйте предпросмотр «Вердж3Д», чтобы посмотреть как он работает.

#

### aiReciprocal

Вычисляет обратное значение входа Input:

Out Color = 1 / Input

#

### aiShadowMatte

В «Вердж3Д» эта нода используется для вырезания 3Д-объектов, а также для наложения цветных полупрозрачных теней на фоне сцены.

#

### aiSign

Рассчитывает знак значения Input.

#

### aiSkyDomeLight

Используется для создания освещения окружения на основе изображения. Смотрите раздел освещение и рендеринг для дополнительной информации.

#

### aiSqrt

Рассчитывает квадратный корень входящего значения.

#

### aiSubtract

Вычитает Input 2 из Input 1.

#

### aiTrigo

Рассчитывает тригонометрическую функцию значения Input.

#

### aiTriplanar

Текстурная развёртка, рассчитываемая посредством проекции на 3 оси.

Текстурные входы данной ноды работают только с нодой aiImage.

#

### aiTwoSided

Рендерит вход Front на передней стороне и вход Back на задней стороне геометрии.

#

### aiUserDataColor

Используется для рендеринга вертексных цветов в «Вердж3Д». Имя сета с вертексными цветами назначается в параметре Attribute.

Данное имя можно найти в редакторе Color Set Editor «Майи»:

Данная функциональность используется в демо-приложении Vertex Colors (исходные файлы доступны в магазине ассетов).

#

### aiUvProjection

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

Текстурные входы данной ноды работают только с нодой aiImage.

#

## Производительность

Standard Surface (или aiStandardSurface), являясь единственным выбором для создания красивых и реалистичных рендеров, тем не менее, требует больше вычислительной мощности от GPU и замедляет загрузку приложений. Это особенно актуально для сцен с большим количеством таких материалов.

Для повышения производительности вы можете настроить параметр Texture Resolution на aiSkyDomeLight.

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

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