docs.unity3d.com
    显示 / 隐藏目录

    无光照主节点

    无光照主节点 (Unlit Master node) 使着色器表面看起来无光照,这意味着表面不受光源影响。该节点为着色器提供的属性比标准无光照着色器更多。这是一个 Shader Graph 主节点,因此意味着在 Project 视图中选择该节点时,无法在 Inspector 中编辑任何属性。但是,将该节点应用于材质时,Surface Options 和 Exposed Properties 在 Inspector 中变为可编辑状态。

    创建和编辑无光照材质

    无光照材质使用 Shader Graph 主节点,这意味着您需要使用特定的方法来创建和编辑使用该节点的材质。有关如何执行此操作的更多信息,请参阅使用 Shader Graph 自定义 HDRP 材质。从 Shader Graph 创建材质时,在 Blackboard 中显示的属性将显示在 Exposed Properties 部分中。

    属性

    主节点有一些属性,使用主节点的材质也有一些属性。材质属性位于使用此着色器的材质的 Inspector 中,而主节点属性位于 Shader Graph 内本身的以下两个部分中:

    • 主节点输入端口:主节点本身的 Shader Graph 输入端口,您可以将这些端口连接到其他节点的输出端,或者在某些情况下,将您自己的值添加到这些端口。
    • 主节点设置菜单:此部分的设置可用于自定义主节点并显示更多输入端口。

    无光照主节点输入端口

    默认 已启用 ShadowMatte

    下表描述了无光照主节点上的输入端口,包括用于每个端口的属性类型和着色器阶段。如需了解着色器阶段的更多信息,请参阅着色器阶段。

    属性 类型 阶段 描述
    Position 矢量 3 顶点 定义每个顶点的材质的绝对对象空间位置。
    Color 矢量 3 片元 定义材质的颜色。要分配图像,请将采样 Texture2D 连接到该主节点。
    Alpha 矢量 1 片元 定义材质的 Alpha 值。用于透明度和/或 Alpha 裁剪。期望范围 0 - 1。
    AlphaClipThreshold 矢量 1 片元 设置 HDRP 用于确定是否应渲染材质每个像素的 Alpha 值阈值。如果像素的 Alpha 值等于或高于此阈值,则 HDRP 会渲染该像素。如果低于此阈值,则 HDRP 不会渲染该像素。仅当启用 Alpha Clipping 设置时,才会显示此端口。
    Emission 矢量 3 片元 定义材质的发光颜色值。期望正值。
    Shadow Tint 矢量 4 片元 定义具有 Alpha 值的阴影颜色值。仅在启用 Shadow Matte 时才启用。请参阅主节点设置菜单

    无光照主节点设置菜单

    要查看这些属性,请单击主节点右上角的齿轮图标。

    属性 描述
    Precision 选择着色器处理的计算精度。较低的精度计算速度更快,但是会引起一些问题,例如镜面高光的强度不正确。
    • Inherit:使用全局精度设置。这是最高精度的设置,因此使用此值不会导致任何精度问题,但是着色器计算速度比其他值要慢。
    • Float:使用单精度浮点指令。此选项使每次计算的资源消耗减少,从而加快计算速度。
    • Half:使用半精度浮点指令。这是速度最快的精度级别,意味着使用该精度级别的计算需要的处理资源最少。此精度设置最有可能导致问题,例如量化(条带)瑕疵和强度削波。对于无光照着色器,Half 精度目前正处于实验阶段。
    Surface Type • Opaque:使材质的表面不透明。
    • Transparent:使材质的表面透明。
    Rendering Pass 使用下拉选单设置 HDRP 处理此材质使用的渲染通道。
    • Before Refraction:在折射通道之前绘制游戏对象。这意味着 HDRP 在处理折射时包含此材质。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    • Default:根据 Surface Type,在默认的不透明或透明渲染通道中绘制游戏对象。
    • Low Resolution:在前向透明通道后以半分辨率绘制游戏对象。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    • After post-process:仅适用于无光照材质。在执行所有后期处理效果之后绘制游戏对象。
    Blending Mode 使用此下拉选单可以确定 HDRP 如何通过将材质与背景像素混合来计算透明材质的每个像素的颜色。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    • Alpha:使用材质的 Alpha 值来更改对象的透明度。0 表示完全透明。1 表示完全不透明,但在透明渲染过程中仍然会渲染材质。对于您希望完全可见但随着时间的推移也会逐渐消失的视觉效果(例如云),这非常有用。
    • Additive:将材质的 RGB 值添加到背景颜色。材质的 Alpha 通道可调节强度。值 0 表示不进行任何添加,值为 1 表示将材质颜色的 100% 添加到背景颜色。
    • Premultiply:假设您已经将材质的 RGB 值乘以 Alpha 通道。当过滤图像或构建不同的层时,这可以提供比 Alpha 混合更好的结果。
    Sorting Priority 允许更改重叠的透明表面的渲染顺序。
    Receive Fog 启用此复选框可以允许雾效影响透明表面。禁用后,HDRP 在计算场景中的雾效时不会考虑此材质。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    Distortion 启用或禁用着色器失真。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    Depth Write 启用此复选框可以使 HDRP 为使用该材质的透明游戏对象写入深度值。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    Cull Mode 使用下拉选单选择对于使用该材质的透明游戏对象需要剔除哪个面。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    • Front:剔除几何体的正面。
    • Back:剔除几何体的背面。
    DepthTest 渲染对象时,Unity 使用 DepthTest 来检查该对象是否位于另一个对象后面。Unity 为了做到这一点,会测试给定对象像素的 Z 值并与 Z 缓冲区中存储的值进行比较。默认情况下,DepthTest 设置为 Less Equal,允许原始对象出现在测试参考对象的前面。使用下拉选单可选择用于深度测试的比较函数。每个比较函数会更改着色器的渲染方式。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。
    • Disabled:不执行 ZTest。
    • Never:ZTest 始终不通过。
    • Less:如果像素的 Z 值小于存储的值,则 ZTest 通过。
    • Equal:如果像素的 Z 值等于存储的值,则 ZTest 通过。
    • Less Equal:如果像素的 Z 值小于或等于 Z 缓冲区值,则 ZTest 通过。这会将测试的像素渲染到另一个像素的前面。
    • Greater:如果像素的 Z 值大于存储的值,则 ZTest 通过。
    • Not Equal:如果像素的 Z 值不等于存储的值,则 ZTest 通过。
    • Greater Equal:如果像素的 Z 值大于或等于存储的值,则 ZTest 通过。
    • Always:ZTest 始终通过,不会与存储的值进行比较。
    Double Sided 是否应在几何体的两面渲染着色器。
    Alpha Clipping 启用或禁用 Alpha 裁剪。此属性可以控制着色器的行为是否像镂空着色器 (Cutout Shader) 一样。镂空着色器是一种具有不透明和透明部分的着色器类型。
    Shadow Matte 着色器是否接受阴影。
    Override ShaderGUI 允许覆盖此 Shader Graph 使用的 ShaderGUI。如果为 true,则会显示 ShaderGUI 属性,该属性允许指定要使用的 ShaderGUI。
    - ShaderGUI 要使用的 ShaderGUI 类的全名,包括类路径。

    Material Inspector

    这些属性位于 Inspector 的 Exposed Properties 部分中,与在 Shader Graph 的 Blackboard 中显示的属性一起列出。如果将 Override ShaderGUI 设置为 true,则不会显示 Material Properties 部分,而是显示您指定的 ShaderGUI。

    属性 描述
    Enable GPU Instancing 启用此设置可以指示 HDRP 在一个批次中使用相同的几何体和材质来渲染网格(如果可能)。这样可以加快渲染速度。如果网格具有不同的材质或者硬件不支持 GPU 实例化,则 HDRP 无法在一个批次中渲染这些网格。例如,如果游戏对象具有基于对象轴心的动画,则不能对它们进行静态批处理,但 GPU 可以实例化它们。
    Double Sided Global Illumination 启用时,光照贴图会在计算全局光照时考虑几何体的两面。背面不会渲染或添加到光照贴图,但是在从其他对象查看时会被视为有效。使用渐进光照贴图时,背面将使用与正面相同的发射和反照率来反射光。
    返回到顶部
    Copyright © 2023 Unity Technologies — 商标和使用条款
    • 法律条款
    • 隐私政策
    • Cookie
    • 不要出售或分享我的个人信息
    • Your Privacy Choices (Cookie Settings)