以下为 节点的属性,指定了 MayaUberShader 着色器文件。
要使用该着色器,您必须在 的 DirectX 11 环境中工作,并启用 dx11shader.mll 插件。有关详细信息,请参见将 DirectX 11 与 Viewport 2.0 结合使用
您可以在 创建栏中找到 。创建着色器后,会自动加载 MayaUberShader.fx 文件。
dx11Shader.mll 插件可使您在 Maya Viewport 2.0 中加载并查看自己的 HLSL 着色器。使用 创建 DirectX 11 shader 时,会自动连接 MayaUberShader.fxo 文件;但是,您也可以改为加载自定义 HLSL 着色器。此外,<maya directory>\presets\HLSL11\examples\ 中提供了其他示例 HLSL 着色器。
已提供 dx11Shader_defaults 预设。您可以使用该预设将参数还原到使用着色器最初编译的值。
提示要覆盖 MayaUberShader.fxo 文件的自动加载,可以转到,然后设置要默认加载的效果文件。
注意以下列出了 MayaUberShader.fx 文件的属性。在的部分下存在所有 DirectX 11 Shader 对应的属性。但是,可用选项可能会不同。例如,所有 DirectX 11 Shader 都具有灯光属性,但对灯光数量或类型的选择可能会不同。部分下的属性特定于 MayaUberShader.fx 文件。
着色器
-
-
导航到着色器文件,以便将其指定给 。
采用以下顺序在下列位置搜索 .fx 文件:
- `workspace -q -rd`
- `workspace -q -rd` + "/renderData/shaders"
- `workspace -fre shaders`
- `getenv("DX11SHADER_ROOT")`
- `getenv("DX11SHADER_ROOT")` + "/shaders"
- ${MAYA_LOCATION}/presets/HLSL11/examples
` 表示执行 MEL 或 C 函数来获取所需的值。
注意在 <maya directory>\presets\HLSL11\examples\ 中提供了 MayaUberShader.fx 文件以及其他示例 HLSL11 着色器。
单击
以重新加载 .fx 文件,然后单击
在默认的文本编辑器中对其进行编辑。
-
-
这些选项在相同的着色材质内提供不同的着色方法。
注意下面列出了用于 MayaUberShader 的不同技术。不同的着色器具有不同的技术来实现各种效果。
提示您可以使用或设置中的值,通过一个步骤为多个 dx11Shader 更改技术。使用整数来设置中的值。 = 0, = 1,以及 = 2。该快捷方式仅适用于更改同一 fx 着色器的多个实例。
-
:这是默认选项,并且仅在工作区显示网格,无需任何细分。
-
:该选项使用着色级别细分以提供更平滑的模型,而无需额外的几何体。
-
:该选项提供细分网格的线框版本,便于您查看 功能的细分。
- //
-
如果您选择选项,Maya 会自动将场景中的灯光指定给着色器。如果场景中的灯光少于三个,除非创建新的灯光,否则灯光 1 和/或灯光 2 处于未绑定状态。如果选择了该选项,则 Maya 会指示为//中的每个绑定的灯光。
使用导航图标
可访问已连接灯光形状的。
您还可以选择以避免绑定灯光。这样,您可以通过 DirectX 11 Shader 的中的//属性调整灯光属性。
您还可以手动绑定灯光。从下拉列表中选择要将着色器绑定到的场景灯光。
当前,MayaUberShader 支持点光源、聚光灯、环境光或平行光。
重要信息绑定灯光之后,您无法在 dx11Shader 的中更改其参数。相反,您必须从灯光的进行更改。
注意加载 后,Maya 会自动绑定设置为的灯光。共享相同 Object 属性的所有参数都将被视为定义一个灯光。如果在 Object 属性字符串中找到一个特定的灯光关键字(即 ambient/point/spot/directional),则 Maya 将连接场景中找到的该类型的第一个灯光。完成该操作后,任何未连接的灯光会根据位置/方向参数的兼容性连接到其余场景灯光。
参数
照明
-
-
禁用该选项可避免校正纹理中的 Gamma。启用该选项会假定纹理已应用 Gamma,因此将移除该 Gamma 并在稍后重新应用。
-
-
-
-
-
-
有时,由于阴影贴图中的精度有限或场景比例的差异,实时阴影可能会导致对象出现瑕疵。使用该属性可移除对象上的阴影瑕疵。
-
-
选择该选项可反转双面、透明对象的背面法线以改善其照明。
- //
-
使用这些选项可在场景中模拟边缘光以亮显对象的边。使用和可设置从明到暗的衰减。是与衰减开始时边缘的距离。是与衰减结束时边缘的距离。
灯光 0
-
-
选择该选项可启用着色器中指定的灯光。
注意针对灯光 0、灯光 1 和灯光 2 重复以下参数。
-
-
使用该属性可设置灯光的位置。
注意如果灯光未绑定到 Maya 灯光,可以单击鼠标右键 (
![](../images/GUID-339814BD-5F9D-4AF0-AD24-9C56C81EB765-low.png)
) 手动将现有灯光、摄影机、定位器等连接到该属性。
-
-
自定义灯光的颜色。单击样例可在中更改灯光的颜色或将纹理映射到灯光。
-
-
使用该属性可设置灯光的亮度。强度值为 0 的灯光不发光。强度值为负数的灯光将从受灯光影响区域的场景中移除灯光。
-
-
-
-
使用该属性可设置聚光灯的圆锥体角度。这是聚光灯光束的边到边的角度(以度为单位)。
-
-
使用该属性可设置聚光灯的半影角度。这是聚光灯光束的边的角度(以度为单位),在该边上,聚光灯的强度以线性方式下降到零。
-
-
环境光和放射性
-
-
启用该选项并将文件纹理连接到,可以应用如光源般明亮的放射性纹理。要停止使用纹理,请禁用。
- /
-
使用这些选项可以通过模拟来自地面或天空的灯光使对象变亮。
漫反射
- /
-
选择可将漫反射纹理应用到对象对其进行染色。将纹理连接到属性。选择可将纹理的 Alpha 信息应用到对象的不透明度。
-
-
-
-
选择可应用烘焙的阴影贴图。然后,阴影贴图与漫反射结合以创建烘焙阴影。
-
-
选择该选项可应用软化漫反射(或混合法线漫反射)。该功能使得对象的漫反射照明更逼真(用于模拟蒙皮)。
-
-
使用该选项可将不同数量的软化漫反射应用到对象的不同部分。
-
-
该选项是混合的法线漫反射。增加该值可创建灯光反弹效果,从而软化蒙皮的外观。
不透明度
-
-
-
-
-
-
使用该属性可设置阈值,低于该阈值,不透明遮罩中的像素将变为完全透明状态。例如,如果设置为 0.5,则不透明度遮罩中值小于 0.5 的所有像素将完全不可见。
镜面反射
-
-
选择可根据纹理中的值增加或减少对象的镜面反射量。镜面反射贴图中的 RGB 通道控制,而镜面反射贴图中的 Alpha 通道控制。
-
-
-
-
-
-
选择该选项可执行 Kelemen-Szirmaykalos 镜面反射计算以更好地模拟人的皮肤。如果该选项处于禁用状态,则 Blinn 着色器将用于镜面反射计算。
法线
-
-
选择可从烘焙到法线贴图中的详细信息模拟凹凸和缩进的照明。
-
-
反射
-
-
选择选项可在场景中包含反射。可使您创建更逼真的预烘焙反射。
-
-
-
-
使用该选项可创建模糊的反射效果。该选项可使您进一步控制要尝试模拟的金属或材质的类型。
- /
-
使用和可以根据面平行于还是垂直于摄影机来调整反射量。
使用可将更多反射添加到对象的面(朝向摄影机)。
使用可将更多反射添加到对象的面(与摄影机垂直)。
这些选项最适用于曲线型对象。
-
-
使用这些选项可将纹理应用于遮罩区域以防止其接收反射。
-
-
启用该选项可使用镜面反射纹理的 Alpha 通道来确定模糊对象部分所需的反射量。禁用该选项可在对象上各处均匀地模糊反射。
-
-
启用该选项可使用镜面反射颜色对立方体贴图反射进行染色。如果该选项处于禁用状态,则立方体贴图未染色。
细分和置换
注意您可以采用以下格式将纹理贴图从 Mudbox 导出到 Maya:PNG、JPG、BMP、TIF、TGA、EXR。
-
-
选择可使用置换贴图。置换贴图会挤出或缩进网格的顶点。与细分结合使用以生成对象中其他细节时,置换贴图尤其有用。
置换贴图优于法线贴图之处在于:阴影可以拾取置换贴图的新细节。
如果要使用灰度置换贴图,应禁用。
-
-
如果要应用向量置换贴图,请选择该选项。您可以在 Mudbox 中创建向量置换贴图。但是,在 Maya 中使用的低多边形模型必须与 Mudbox 中使用的相同。
选择和用于向量置换贴图。使用向量置换贴图时,您通常在向量置换贴图移动顶点之后,还想将法线贴图提供给着色器以提供正确的法线。
注意如果从 Mudbox 输出法线贴图,请选择作为。如果从 Mudbox 输出向量置换贴图,请选择作为。
-
-
-
-
使用该属性可控制置换的基础值。
例如,如果将偏移设置为 0.5,则不会置换灰色部分。偏移为 0 将产生缩进。偏移为 1 会挤出。
同样,如果偏移设置为 0,则不会置换黑色部分。偏移为 0.5 时挤出的量是偏移为 1.0 时的一半。不发生缩进。
-
-
在极端置换的情况下,Maya 可能会意外剪裁掉面。这可能会出现在带有横向或又长又宽对象的场景中。使用该属性可设置“最大置换”以确定何时从视图中剪裁对象的面。您还可以使用来避免意外剪裁对象。
-
-
置换已使用时,可以使用该选项来控制边界框以避免意外剪裁对象。
-
-
设置该属性时,根据对象距离摄影机的远近来控制细分。
-
-
整个网格中细分的值是恒定的。值为 1 表示无细分。
增加的值可提高分辨率。
-
-
选择该选项可将点法线细分(可使对象的边平滑)与(仅可细分对象,无法使对象平滑)混合。将该值设置为 1 可禁用平滑。
半透明度
-
-
功能模拟灯光穿过对象。例如,如果模拟人的蒙皮,蒙皮将变得更红。选择该属性可使用以下选项。
注意使用这些选项可将半透明添加到对象。该选项模拟灯光穿过对象,以赋予它更逼真的外观。
-
-
是渲染以控制穿过蒙皮特定区域灯光量的纹理。例如,使用薄蒙皮(例如鼻子)的无骨区域会略带红色,因为有大量的半透明穿过。相比之下,厚度纹理中的有骨区域会有较深的颜色。
-
-
使用该值可设置法线(每像素)影响半透明的程度。
如果设置为 0,则整个对象的半透明度是一致的。
如果设置为大于 0(例如 0.5),半透明效果不再一致,而是基于法线断开和扭曲。结果显得更为自然。
-
-
-
-
使用该选项可调整对象后面的灯光所创建的半透明程度。将滑块调整为 0 时,对象中没有半透明度。
-
-
该属性可设置对象始终具有的半透明程度,即使它后面没有灯光。
- //
-
使用这些选项可更改蒙皮半透明颜色;例如,对于具有不同颜色蒙皮的动物。
UV
您可以将 UV 集绑定到每个纹理贴图。要执行该操作,必须首先将 UV 集绑定到 。您可以在曲面数据部分下最多绑定 3 个 UV 集。将 UV 集映射到每个适用的 。然后,您可以使用该下拉列表来选择要将每个纹理贴图映射到的纹理坐标(即,UV 集)。有关详细信息,请参见将 UV 集指定给与 DX11 MayaUberShader 连接的纹理贴图。
注意的 部分特定于 MayaUberShader。但是,和功能对所有效果着色器通用。
曲面数据
该部分指定几何体的通道,如传递到着色器的法线和切线。单击鼠标右键 (
) 可查看可用选项。
默认情况下, 映射到 UV 集 map1, 映射到 map2,依此类推。如果您使用带有不同名称的 UV 集,可以通过在 字段中指定它们以将其绑定到着色器。在 UV 集名称前使用 uv:。有关详细信息,请参见将 UV 集指定给与 DX11 MayaUberShader 连接的纹理贴图。
默认纹理数据
当 UV 集已选定时,使用这些选项可以选择中显示的默认纹理。例如,如果 UV map1 映射到 ,且 映射到,则当您在中选择 UV map1 时,将显示纹理。