贴花主节点
贴花是使用 HDRP 贴花着色器 (HDRP Decal Shader) 的材质。您可以使用 Decal Shader Graph 创作可投影或放置到场景中的贴花。贴花主节点 (Decal Master Node) 与标准贴花着色器相似,不同之处在于您不能使用此版本来创作透明贴花。
创建和编辑贴花材质
在 Project 视图中选择 Shader Graph 主节点时,无法在 Inspector 中编辑任何属性。贴花材质使用 Shader Graph 主节点,因此您需要使用特定的过程来创建和编辑使用该节点的材质。有关如何执行此操作的更多信息,请参阅创建和编辑 HDRP Shader Graph。
将该节点应用于材质时,Surface Options 和 Exposed Properties 在材质的 Inspector 中变为可编辑状态。
属性
主节点有一些属性,每种材质也有一些属性。主节点属性位于 Shader Graph 本身内部,分为两部分:
- 主节点输入端口:此部分包含主节点本身上的 Shader Graph 输入端口。您可以将这些端口连接到其他节点的输出端,或者在某些情况下,将您自己的值添加到这些端口。
主节点设置菜单:此部分包含可用于自定义主节点并显示更多输入端口的设置。
材质属性位于使用此着色器的材质的 Inspector 窗口中。
贴花主节点输入端口
)
下表描述了贴花主节点上的输入端口,包括用于每个端口的属性类型和着色器阶段。如需了解着色器阶段的更多信息,请参阅着色器阶段。
属性 | 类型 | 阶段 | 描述 |
---|---|---|---|
Position | 矢量 3 | 顶点 | 设置每个顶点的材质的对象空间位置。 |
BaseColor | 矢量 3 | 片元 | 设置材质的颜色。要分配图像,请将采样的 Texture2D 连接到该主节点。 |
BaseColor Opacity | 矢量 1 | 片元 | 设置材质的不透明度。0 表示完全透明,1 表示完全不透明。 |
Normal | 矢量 3 | 片元 | 设置材质的法线值。分配的法线应该在切线空间中。 |
Normal Opacity | 矢量 1 | 片元 | 设置材质法线的混合因子。贴花可以修改贴花投射到的材质的法线。值为 0 表示贴花不影响其投影到的表面的法线。值为 1 表示贴花完全覆盖表面法线。 |
Metallic | 矢量 1 | 片元 | 定义材质外观的金属度(即材质看起来的光泽程度以及材质外观基于周围环境颜色的程度)。0 表示完全非金属性,而 1 表示 Unity 通过此设置可以达到的最大金属性外观级别。 |
Ambient Occlusion | 矢量 1 | 片元 | 漫射全局光照的强度的乘数。将此值设置为 0 可移除所有全局光照。 |
Smoothness | 矢量 1 | 片元 | 设置主要镜面高光的外观。照射到光滑表面的每条光线都将以可预测且一致的角度反弹。对于像镜子一样反射光线的完美光滑表面,应将此属性设置为值 1。对于较粗糙的表面,请将此属性设置为较低的值。 |
MAOS Opacity | 矢量 1 | 片元 | 设置 Metallic、Ambient Occlusion 和 Smoothness 不透明度值。 |
Emission | 矢量 3 | 片元 | 设置材质的发光颜色值。分配的 RGB 值应在 0-255 之间。强度值应在 -10 到 10 的范围内。 Emission 仅适用于不透明贴花着色器 (Opaque Decal Shader)。 |
主节点设置菜单
要查看这些属性,请单击主节点右上角的齿轮。
)
属性 | 描述 |
---|---|
Precision | 选择着色器处理的计算精度。较低的精度计算速度更快,但是会引起一些问题,例如镜面高光的强度不正确。 • Inherit:使用全局精度设置。这是最高精度的设置,因此使用此值不会导致任何精度问题,但是着色器计算速度比其他值要慢。 • Float:使用单精度浮点指令。此选项使每次计算的资源消耗减少,从而加快计算速度。 • Half:使用半精度浮点指令。这是速度最快的精度级别,意味着使用该精度级别的计算需要的处理资源最少。此精度设置最有可能导致问题,例如量化(条带)瑕疵和强度削波。对于贴花着色器,Half 精度目前正处于实验阶段。 |
Affects Albedo | 启用或禁用 BaseColor 属性的效果。 |
Affects Normal | 启用或禁用 Normal 属性的效果。 |
Affects Metal | 启用或禁用 Metal 属性的效果。 |
Affects Ambient Occlusion | 启用或禁用 Ambient Occlusion 属性的效果。 |
Affects Smoothness | 启用或禁用 Smoothness 属性的效果。 |
Affects Emission | 启用或禁用 Emission 属性的效果。 |
Override ShaderGUI | 允许覆盖此 Shader Graph 使用的 ShaderGUI。如果为 true ,则会显示 ShaderGUI 属性,该属性允许指定要使用的 ShaderGUI。 |
- ShaderGUI | 要使用的 ShaderGUI 类的全名,包括类路径。 |
Material Properties
这些属性与在 Shader Graph 的 Blackboard 中显示的属性一起,位于 Inspector 的 Exposed Properties 部分中。如果将 Override ShaderGUI 设置为 true
,则不会显示 Material Properties 部分,而是显示您指定的 ShaderGUI。
属性 | 描述 |
---|---|
Draw order | 设置 HDRP 在场景中绘制贴花的顺序。HDRP 首先绘制具有较低绘制顺序值的贴花,然后会在具有较低值的贴花之上绘制具有较高值的贴花。此功能适用于投影在不透明和透明表面上的贴花。 |
Mesh Decal Depth Bias | 设置 HDRP 应用于贴花网格的深度偏差,用于防止该网格与其他网格重叠。负值会在任何重叠的网格前面绘制贴花,而正值会使贴花偏移并在后面绘制贴花。此属性仅影响使用网格渲染器直接附加到游戏对象的贴花材质,因此贴花投影器 (Decal Projector) 不使用此属性。 |