版本:Unity 6 (6000.0)
语言 : English
URP 中 Shader Graph 的全屏主栈参考
颜色

URP 中 Shader Graph 的全屏主栈参考

全屏主栈在图形设置窗口中具有多种属性,这些属性控制着全屏 着色器在 GPU 上运行的程序。 更多信息
参见 术语表
的整体外观。

表面选项

属性 描述
允许覆盖材质 在材质的“表面选项”中公开图形设置属性。注意:您只能公开在“图形设置”中启用的属性。如果您启用了这些属性之一,则无法在材质的“表面选项”下的 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表
中禁用它。
混合模式 指定 Unity 渲染全屏着色器时使用的混合模式。每个选项都有一个等效的 BlendMode 操作。注意:当您写入 Blit“位块传输”的简称。Blit 操作是将内存中的一块数据传输到另一块数据的过程。
参见 术语表
着色器时,禁用此属性以避免不希望的效果。
    Alpha 使用着色器的 alpha 值来控制其不透明度。BlendMode 操作:Blend SrcAlpha OneMinusSrcAlpha
    预乘 将透明着色器的 RGB 值乘以其 alpha 值,然后对着色器应用与Alpha类似的效果。BlendMode 操作:Blend One OneMinusSrcAlpha
    叠加 将全屏着色器的颜色值与 相机一个组件,它在场景中创建一个特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
参见 术语表
输出一起添加。BlendMode 操作:Blend One One
    相乘 将全屏着色器的颜色与相机的输出颜色相乘。BlendMode 操作:Blend DstColor Zero
    自定义 手动设置混合方程的每个参数。有关更多信息,请参阅 自定义混合模式
深度测试 指定此着色器用于执行深度测试的函数。
    禁用 不执行深度测试。
    从不 深度测试从不通过。
    小于 如果 像素计算机图像中最小的单位。像素大小取决于您的屏幕分辨率。像素光照在每个屏幕像素处计算。 更多信息
参见 术语表
的深度值小于存储在 深度缓冲区一个内存存储器,它保存图像中每个像素的 z 值深度,其中 z 值是每个渲染像素从投影平面到投影平面的深度。 更多信息
参见 术语表
中的值,则深度测试通过。
    等于 如果像素的深度值等于存储在深度缓冲区中的值,则深度测试通过。
    小于或等于 如果像素的深度值小于或等于存储在深度缓冲区中的值,则深度测试通过。这将渲染测试像素,使其位于其他像素之前。
    大于 如果像素的深度值大于存储在深度缓冲区中的值,则深度测试通过。
    不等于 如果像素的深度值不等于存储在深度缓冲区中的值,则深度测试通过。
    大于或等于 如果像素的深度值大于或等于存储在深度缓冲区中的值,则深度测试通过。
    总是 深度测试始终通过,Unity 不会将像素的深度值与存储在深度缓冲区中的值进行比较。
深度写入 指示 Unity 是否为使用此着色器的 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、航点等等。游戏对象的功能由附加到它的组件定义。 更多信息
参见 术语表
写入深度值。启用此属性以将深度值写入深度缓冲区并使用深度片段块。
深度写入模式 确定深度值的输入格式,在 Unity 将其传递给深度缓冲区之前。此属性确定您可以在片段上下文中使用哪个深度块。启用“深度写入”时会出现此属性。
    线性眼 将深度值转换为按世界空间缩放的值。此新值表示从相机的近平面到远平面的深度(以米为单位)。
    线性01 使用 0 到 1 之间的线性深度值范围。
    原始 不转换深度缓冲区值。将此设置与非线性深度值一起使用,或者当您直接从深度缓冲区采样深度值时使用。
启用模板 此属性使您可以控制所有模板字段。有关启用此属性后可用的选项的信息,请参阅 模板属性
自定义编辑器 GUI 接受继承 FullscreenShaderGUI 的 C# 类 的完整名称。有关如何使用自定义编辑器的信息,请参阅 ShaderLab:分配自定义编辑器

自定义混合模式

使用“自定义”混合模式创建不同于 表面选项 中提供的混合模式的混合模式。要显示这些选项,请将“混合模式”设置为“自定义”。自定义混合模式属性指定用于此全屏着色器的 alpha 和颜色通道的混合操作。

在混合模式属性中,“Src”(源)是指全屏着色器本身。“Dst”(目标)是指 场景一个场景包含游戏环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您放置环境、障碍物和装饰物,本质上是以分段的方式设计和构建您的游戏。 更多信息
参见 术语表
相机原始输出,此着色器不会影响它。混合操作将源内容应用于目标内容以产生渲染结果。

有关混合方程的更多信息,请参阅 ShaderLab 命令:Blend

颜色混合模式

确定 Unity 用于红色、绿色和蓝色通道 (RGB) 的混合方程。每个设置定义方程的一部分。

属性 描述
源颜色 设置源颜色的混合模式。
目标颜色 设置目标颜色的混合模式。
颜色操作 确定在混合过程中如何组合源颜色和目标颜色。有关这些选项的信息,请参阅 ShaderLab 命令:BlendOp

Alpha 混合模式

确定 Unity 用于 alpha 通道的混合方程。每个设置定义方程的一部分。

属性 描述
设置源 alpha 的混合模式。有关这些选项的信息,请参阅 有效参数值
目标 设置目标 alpha 的混合模式。有关这些选项的信息,请参阅 有效参数值
Alpha 混合操作 确定在混合过程中如何组合源 alpha 和目标 alpha。有关这些选项的更多信息,请参阅 ShaderLab 命令:BlendOp

模板属性

这些属性会影响此全屏 Shader Graph 如何使用 模板缓冲区一个内存存储器,它保存每个像素的 8 位值。在 Unity 中,您可以使用模板缓冲区来标记像素,然后只渲染通过模板操作的像素。 更多信息
参见 术语表
。有关模板缓冲区的更多信息,请参阅 SL-Stencil

属性 描述
参考 确定此着色器对所有模板操作使用的模板参考值。
读取掩码 确定此着色器在模板测试期间可以读取哪些位。
写入掩码 确定此着色器在模板测试期间可以写入哪些位。
比较 确定此着色器在模板测试期间使用的比较函数。
    禁用 不执行模板测试。
    从不 模板测试从不通过。
    小于 如果像素的深度值小于存储在深度缓冲区中的值,则模板测试通过。
    等于 如果像素的深度值等于存储在深度缓冲区中的值,则模板测试通过。
    小于或等于 如果像素的深度值小于或等于深度缓冲区值,则模板测试通过。这将渲染测试像素,使其位于其他像素之前。
    大于 如果像素的深度值大于存储在深度缓冲区中的值,则模板测试通过。
    不等于 如果像素的深度值不等于存储在深度缓冲区中的值,则模板测试通过。
    大于或等于 如果像素的深度值大于或等于存储在深度缓冲区中的值,则模板测试通过。
    总是 模板测试始终通过,Unity 不会将像素的深度值与存储在深度缓冲区中的值进行比较。
通过 确定模板测试成功时此着色器执行的操作。
有关此属性选项的更多信息,请参阅 通过和失败选项
失败 确定模板测试失败时此着色器执行的操作。
有关此属性选项的更多信息,请参阅 通过和失败选项
深度失败 确定深度测试失败时此着色器执行的操作。如果深度测试“比较”值为“从不”或“禁用”,则此选项无效。
有关此属性选项的更多信息,请参阅 通过和失败选项

通过和失败选项

选项 描述
保持 不更改模板缓冲区的当前内容。
将值 0 写入模板缓冲区。
替换 将**引用**值写入缓冲区。
递增饱和 将值 1 加到缓冲区中的当前值。值 255 仍为 255。
递减饱和 从缓冲区中的当前值减去值 1。值 0 仍为 0。
反转 执行按位非运算。这意味着它将缓冲区中当前值的全部位取反。
例如,十进制值 59 在二进制中为 0011 1011。非运算将每个位反转为 1100 0100,这是十进制值 196。
递增循环 将值 1 加到缓冲区中的当前值。值 255 变成 0。
递减循环 从缓冲区中的当前值减去值 1。值 0 变成 255。
URP 中 Shader Graph 的全屏主栈参考
颜色