用于Maya的Verge3D：材质、纹理和工具节点
Description: 了解Verge3D支持哪些类型的Maya材质、纹理和工具节点及其设置方法与技巧。

# 材质、纹理和工具节点 / Maya

本节引用了所有在Verge3D for Maya中支持的材质、纹理和工具节点。

- Surface Shaders
  - Standard Surface
  - Lambert
  - Blinn, Phong, Phong E
  - Surface Shader
- 2D纹理
  - Bulge
  - Checker
  - Cloth
  - File
  - Grid
  - Noise
  - Ramp
- Environment Textures
  - Env Sphere
- 其他纹理
  - Layered Texture
- Utility Nodes
  - 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 Nodes
  - aiStandardSurface
  - aiAbs
  - aiAdd
  - aiAtan
  - 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
- Performance Considerations

#

## Surface Shaders

#

### Standard Surface

该着色器可以通过使用基于物理的着色模型来表现许多真实世界的材质（如金属、塑料、玻璃、木材、纺织品等）。

Verge3D中支持以下 Standard Surface 设置：

#### Base Panel

- Weight 或（Hypershade中的Base输入）
- Color 或（Hypershade中的Base Color输入）
- Metalness

#### Specular Panel

- Weight（Hypershade中的Specular输入）
- Color（Hypershade中的Specular Color输入）
- Roughness（Hypershade中的Specular Roughness输入）
- IOR（Hypershade中的Specular IOR输入）

#### Transmission Panel

- Weight（Hypershade中的Transmission输入）
- Color（Hypershade中的Transmission Color输入）

#### Coat Panel

- Weight（Hypershade中的Coat输入）
- Roughness（Hypershade中的Coat Roughness输入）
- Normal（Hypershade中的Coat Normal输入）

#### Sheen Panel

- Weight（Hypershade中的Sheen输入）
- Color（Hypershade中的Sheen Color输入）
- Roughness（Hypershade中的Sheen Roughness输入）

#### Emission Panel

- Weight（Hypershade中的Emission输入）
- Color（Hypershade中的Emission Color输入）

#### Geometry Panel

- Thin Walled
- Opacity
- Bump Mapping（Hypershade中的Normal Camera输入）

#### Additional Verge3D Settings

您可以通过使用位于 Verge3D 面板的以下设置来调整您的 Standard Surface 材质：

Alpha Mode
  选择透明度模式：Auto、Opaque、Blend、Mask、Coverage 或 Add。更多信息见 透明度指南。
Two Sided
  使您的材质成为双面的。默认情况下，Verge3D只渲染材质的正面，启用这个选项也可以渲染其反面。
Depth Write
  在深度缓冲区中渲染材质深度。对透明材质禁用此选项，使其以加法方式渲染。
Depth Test
  在渲染材质时进行深度测试的计算。在渲染半透明物体内的物体时，禁用深度测试是非常有用的，可以防止它们被覆盖物体剔除。
Dithering
  通过使用像素抖动来减少带状伪影。
glTF 2.0 Compatible
  强制要求材质与glTF 2.0兼容。更多信息请参见 以下指南。

#

### Lambert

基本但高效的节点，可用于表现没有镜面反射的材质。

Verge3D中支持以下Lambert设置：

- Color
- Transparency
- Diffuse
- Bump/Normal Mapping

Verge3D设置也支持，更多信息见 上文 。

#

### Blinn, Phong, Phong E

在Verge3D中，这些材质将通过PBR着色模型进行近似处理，因此与Maya视口中对比看起来可能有所不同。

#

### Surface Shader

使用这个着色器节点来创建完全可定制的材质。基本上，它只是将 Out Color 参数原封不动地传输给渲染器。

#

## 2D纹理

#

### Bulge

创建凸起图案。在 这里 查阅详情。

#

### Checker

创建棋盘格图案。在 这里 查阅详情。

#

### Cloth

创建布料图案。在 这里 查阅详情。

#

### File

从文件读取纹理。在 这里 查阅详情。

#

### Grid

创建网格图案。在 这里 查阅详情。

#

### Noise

仅支持 Perlin Noise 类型。

#

### Ramp

程序化渐变纹理。在 这里 查阅详情。

#

## Environment Textures

#

### Env Sphere

使用等距柱状投影映射输入纹理图像。此节点可用于模拟金属表面，而无需使用复杂的（且计算密集的）基于物理的着色算法。例如，您可以将其连接到 Surface Shader 节点：

#

## 其他纹理

#

### Layered Texture

在 这里 查阅详情。

#

## Utility Nodes

#

### Add Double Linear

在 这里 查阅详情。

#

### Add Matrix

在 这里 查阅详情。

#

### Blend Colors

在 这里 查阅详情。

#

### Bump 2d

在 这里 查阅详情。

#

### Clamp

在 这里 查阅详情。

#

### Compose Matrix

这个节点由给定的平移、旋转和缩放分量组成一个4x4矩阵。不支持 Shear 输入。

#

### Condition

在 这里 查阅详情。

#

### Decompose Matrix

在 这里 查阅详情。

#

### Four By Four Matrix

此节点根据 16 个输入值输出 4x4 矩阵。

#

### Gamma Correct

在 这里 查阅详情。

#

### Inverse Matrix

反转给定的 4x4 矩阵。

#

### Luminance

将输入的颜色转化为灰度值。转换公式如下：

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

#

### Multiply Divide

在 这里 查阅详情。

#

### Mult Double Linear

在 这里 查阅详情。

#

### Mult Matrix

将一系列矩阵相乘。在Verge3D中，使用multMatrix节点时，单一节点相乘矩阵不可超过三个。

#

### 2d Placement

在 这里 查阅详情。

#

### Reverse

在 这里 查阅详情。

#

### Sampler Info

在 这里 查阅详情。

#

### Set Range

在 这里 查阅详情。

#

### Transpose Matrix

转置给定的 4x4 矩阵。

#

### Unit Conversion

在 这里 查阅详情。

#

### Vector Product

在 这里 查阅详情。

#

### Weighted Add Matrix

在 这里 查阅详情。

#

## LookdevKit Utility Nodes

在使用这些节点之前，请确保你已经启用了 LookdevKit 插件。

#

### 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 Nodes

#

### aiStandardSurface

该着色器随Arnold for Maya（MtoA）一起提供，与 Standard Surface 着色器非常相似。

由于 Standard Surface 在Maya视口中得到了更好的支持，并且不需要安装Arnold插件，因此我们推荐使用它而非 aiStandardSurface。坚持使用Arnold版本的唯一原因是保持与现有场景的兼容性。

以下aiStandardSurface的设置在Verge3D受到支持：

#### Base Panel

- Weight 或（Hypershade中的Base输入）
- Color 或（Hypershade中的Base Color输入）
- Metalness

#### Specular Panel

- Weight（Hypershade中的Specular输入）
- Color（Hypershade中的Specular Color输入）
- Roughness（Hypershade中的Specular Roughness输入）
- IOR（Hypershade中的Specular IOR输入）

#### Transmission Panel

- Weight（Hypershade中的Transmission输入）
- Color（Hypershade中的Transmission Color输入）

#### Coat Panel

- Weight（Hypershade中的Coat输入）
- Roughness（Hypershade中的Coat Roughness输入）
- Normal（Hypershade中的Coat Normal输入）

#### Sheen Panel

- Weight（Hypershade中的Sheen输入）
- Color（Hypershade中的Sheen Color输入）
- Roughness（Hypershade中的Sheen Roughness输入）

#### Emission Panel

- Weight（Hypershade中的Emission输入）
- Color（Hypershade中的Emission Color输入）

#### Geometry Panel

- Thin Walled
- Opacity
- Bump Mapping（Hypershade中的Normal Camera输入）

#### Additional Verge3D Settings

您可以通过使用位于 Verge3D 面板的以下设置来调整您的 aiStandardSurface 材质。

Alpha Mode
  选择透明度模式：Auto、Opaque、Blend、Mask、Coverage 或 Add。更多信息见 透明度指南 章节。
Two Sided
  使您的材质成为双面的。默认情况下，Verge3D只渲染材质的正面，启用这个选项也可以渲染其反面。
Depth Write
  在深度缓冲区中渲染材质深度。对透明材质使用该选项，使其以加法方式渲染。
Depth Test
  在渲染材质时进行深度测试的计算。在渲染半透明物体内的物体时，禁用深度测试是非常有用的，可以防止它们被覆盖物体剔除。
Dithering
  通过使用像素抖动来减少带状伪影。
glTF 2.0 Compatible
  强制要求材质与glTF 2.0兼容。更多信息请参见 下文指南 。

#

### aiAbs

在 这里查看详情。

#

### aiAdd

在 这里查看详情。

#

### aiAtan

在 这里查看详情。

#

### aiCompare

在 这里查看详情。

#

### aiComlement

在 这里查看详情。

#

### aiCross

在 这里查看详情。

#

### aiDivide

在 这里查看详情。

#

### aiDot

在 这里查看详情。

#

### aiExp

在 这里查看详情。

#

### aiFacingRatio

计算渲染像素的朝向比率，例如着色法线与摄影机方向之间的点积。不支持 Bias、Gain、Linear 和 Invert 参数。

#

### aiFlat

在 这里查看详情。

#

### aiFraction

在 这里查看详情。

#

### aiIsFinite

在 这里查看详情。

#

### aiLength

在 这里查看详情。

#

### aiLog

在 这里查看详情。

#

### aiMatrixTransform

使用变换矩阵对纹理坐标应用变换。这对于在不改变底层几何体的情况下调整纹理的位置、旋转和缩放特别有用。

#

### aiMax

在 这里查看详情。

#

### aiMin

在 这里查看详情。

#

### aiMixShader

在 这里查看详情。

#

### aiModulo

在 这里查看详情。

#

### aiMultiply

在 这里查看详情。

#

### aiNegate

在 这里查看详情。

#

### aiNormalize

在 这里查看详情。

#

### aiNormalMap

在 这里查看详情。

#

### aiOslShader

用于创建自定义OSL着色器的节点。

#

### aiPow

在 这里查看详情。

#

### aiRaySwitch

当与 aiSkyDomeLight 组合使用时，此节点将分离摄影机背景和环境照明的渲染。连接到 Camera 输入的节点树将用于背景，而 Diffuse Reflection 将用于环境。

此节点设置在Maya视口和Arnold渲染器中均不受支持。请在Verge3D中预览场景以查看效果。

#

### aiReciprocal

在 这里查看详情。

#

### aiShadowMatte

在Verge3D中，此节点用于裁切3D对象以及在场景背景上应用彩色半透明阴影。

#

### aiSign

在 这里查看详情。

#

### aiSkyDomeLight

用于创建基于图像的环境照明。请查看 照明与渲染 章节了解详情。

#

### aiSqrt

在 这里查看详情。

#

### aiSubtract

在 这里查看详情。

#

### aiTrigo

在 这里查看详情。

#

### aiTriplanar

通过沿三个不同轴同时投影进行纹理映射。

此节点的纹理输入仅接受 aiImage 节点。

#

### aiTwoSided

在几何体的正面渲染 Front 输入，背面渲染 Back 输入。

#

### aiUserDataColor

用于在Verge3D中渲染顶点颜色。将颜色集名称指定为 Attribute 参数。

您可以在Maya的 Color Set Editor 中找到该名称：

有关使用示例，请查看 Vertex Colors 演示（也可在资源商店中找到）。

#

### aiUvProjection

使用多种投影类型（如平面、球面、柱面、立方体等）控制3D模型上纹理的放置。

此节点的纹理输入仅接受 aiImage 节点。

#

## Performance Considerations

Standard Surface（或 aiStandardSurface）是在Maya中创建优质真实渲染的唯一选择，但它会消耗更高的GPU算力，并拖慢应用的加载速度。场景中若有大量材质尤其如此。

您可以通过调整 Texture Resolution 或 IBL Environment Mode 属性来提高应用性能表现。

## 遇到问题？

欢迎您随时在 论坛上提问！您还可以加入中文用户社区QQ群(171678760)，在线寻求帮助。