docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Lit Shader

    Lit Shader 可用于渲染石材、木材、玻璃、塑料和金属等真实世界表面,以实现照片级逼真的质量。它可使光照水平和反射效果更具真实感,并能在各种光照条件下正确响应,例如明亮的阳光或黑暗的洞穴。此 Shader 使用通用渲染管线(URP)中计算量最大着色模型。

    关于 Lit Shader 的使用示例,请参阅 URP Package Samples 中的 Shader 示例。

    在编辑器中使用 Lit Shader

    要选择并使用此 Shader,请按照以下步骤操作:

    1. 在项目中创建或找到要应用此 Shader 的材质(Material)。选择该 Material,Material Inspector 窗口将打开。
    2. 点击 Shader,然后选择 Universal Render Pipeline > Lit。

    UI 概览

    此 Shader 的 Inspector 窗口包含以下内容:

    • Surface Options
    • Surface Inputs
    • Advanced

    Inspector for the Lit Shader

    Surface Options

    Surface Options 控制 URP 如何在屏幕上渲染材质。

    属性 描述
    Workflow Mode 使用此下拉菜单选择适用于材质贴图的工作流:Metallic 或 Specular。
    选择后,Inspector 其余部分的主要贴图选项将遵循所选的工作流。有关金属度(Metallic)或高光(Specular)工作流的详细信息,请参阅 Unity 内置 Standard Shader 文档。
    Surface Type 使用此下拉菜单选择材质的表面类型:Opaque 或 Transparent。这决定了 URP 使用哪个渲染通道。
    Opaque 材质始终完全可见,无论其后是否有其他对象,并且 URP 会优先渲染不透明材质。
    Transparent 材质受背景影响,并根据所选的透明表面类型变化。URP 在不透明对象之后的独立通道中渲染透明材质。选择 Transparent 后,将出现 Blending Mode 选项。
    Blending Mode 选择 Unity 在混合材质和背景时如何计算每个像素的颜色。

    在混合模式的上下文中,Source 指的是设置了混合模式的透明材质,而 Destination 指的是该材质所覆盖的任何背景对象。
        Alpha Alpha 混合模式示例
    Alpha 混合模式。

    Alpha 使用材质的 Alpha 值来调整对象的透明度。0 表示完全透明,255 表示完全不透明(在混合计算中转换为 1)。
    无论 Alpha 值如何,该材质始终在透明渲染通道中渲染。
    此模式允许使用 Preserve Specular Lighting 选项。

    Alpha 计算公式:
    OutputRGBA = (SourceRGB × SourceAlpha) + DestinationRGB × (1 − SourceAlpha)
        Premultiply Premultiply 混合模式示例
    Premultiply 混合模式。

    Premultiply 先将透明材质的 RGB 值与其 Alpha 值相乘,然后应用类似于 Alpha 模式的效果。
    此模式的计算公式允许透明材质中 Alpha 值为 0 的区域具有加法混合效果,可减少在不透明和透明像素交界处出现的伪影。

    Premultiply 计算公式:
    OutputRGBA = SourceRGB + DestinationRGB × (1 − SourceAlpha)
        Additive Additive 混合模式示例
    Additive 混合模式。

    Additive 通过相加材质的颜色值和背景颜色值来创建混合效果。Alpha 值决定源材质颜色的强度,然后进行混合计算。
    此模式允许使用 Preserve Specular Lighting 选项。

    Additive 计算公式:
    OutputRGBA = (SourceRGB × SourceAlpha) + DestinationRGB
        Multiply Multiply 混合模式示例
    Multiply 混合模式。

    Multiply 通过将材质的颜色与其背后的颜色相乘来创建混合效果。这种模式类似于透过彩色玻璃观察物体时的效果,使颜色变暗。
    此模式使用材质的 Alpha 值来调整颜色混合程度。Alpha 值为 1 时,颜色直接相乘;较低的 Alpha 值则使颜色向白色过渡。

    Multiply 计算公式:
    OutputRGBA = SourceRGB × DestinationRGB
    Preserve Specular Lighting 指定 Unity 是否保留 GameObject 上的高光反射。即使表面为透明状态,该选项仍会使反射光可见。

    此属性仅在 Surface Type 设置为 Transparent 且 Blending Mode 设置为 Alpha 或 Additive 时可见。

    关闭 Preserve Specular Lighting
    关闭 Preserve Specular Lighting 的材质效果。

    开启 Preserve Specular Lighting
    开启 Preserve Specular Lighting 的材质效果。
    Render Face 使用此下拉菜单选择几何体的渲染面。
    Front Face 渲染几何体的正面,并剔除背面(默认设置)。
    Back Face 渲染几何体的背面,并剔除正面。
    Both 使 URP 渲染几何体的正反两面,适用于叶子等小型、扁平对象,使其两侧均可见。
    Alpha Clipping 使材质表现为Cutout(剪切)Shader,以创建透明区域与不透明区域之间具有硬边界的效果。例如,可用于创建草叶的效果。
    启用后,URP 将不渲染低于指定 Threshold(阈值)的 Alpha 值。Threshold 通过滑块调整,范围为 0 到 1。所有高于阈值的区域完全不透明,低于阈值的区域完全透明。例如,设置阈值为 0.1,则 URP 不会渲染 Alpha 值低于 0.1 的部分。默认阈值为 0.5。
    Receive Shadows 选中此选项可使 GameObject 接收其他对象投射的阴影。取消选中此选项,则 GameObject 不会显示阴影。

    Surface Inputs

    Surface Inputs 描述材质表面的特性。例如,可使用这些属性使表面呈现湿润、干燥、粗糙或光滑的效果。

    注意: 如果你熟悉 Unity 内置渲染管线中的 Standard Shader,这些选项类似于 材质编辑器中的主贴图设置。

    属性 描述
    Base Map 赋予表面颜色,也称为漫反射贴图。
    点击旁边的对象选择器可为 Base Map 选择纹理,这将打开资源浏览器,以选择项目中的贴图。
    也可以使用 颜色拾取器 来调整颜色,颜色值会叠加在所选贴图之上。
    如果在 Surface Options 中选择了 Transparent 或 Alpha Clipping,材质将使用贴图的 Alpha 通道或颜色。
    Metallic / Specular Map 根据 Surface Options 中选择的 Workflow Mode(Metallic 或 Specular)提供相应的贴图输入。
    - 在 Metallic Map 工作流下,金属度由 Base Map 颜色控制,并可通过滑块调整金属度(0 表示完全非金属,如塑料或木材,1 表示完全金属,如铜或银)。
    - 在 Specular Map 工作流下,可点击对象选择器为其分配贴图,或者使用 颜色拾取器 来调整颜色。
    - 在两种工作流中,Smoothness(平滑度)滑块可控制表面高光的扩散程度。值为 0 时高光较粗糙,值为 1 时高光较锐利,如玻璃。中间值可用于创建半光泽效果,如塑料表面(0.5)。
    - Source 下拉菜单用于选择 Shader 采样平滑度贴图的通道,可选项:Metallic Alpha(Metallic 贴图的 Alpha 通道)或 Albedo Alpha(Base Map 的 Alpha 通道)。默认值为 Metallic Alpha。
    Normal Map 为表面添加法线贴图,以模拟表面细节,如凹凸、划痕和沟槽。
    点击对象选择器可分配贴图,该贴图会影响环境光照的交互方式。
    旁边的浮点值为法线贴图的强度调整系数,较低的值降低法线贴图的影响,较高的值增强凹凸效果。
    Height Map URP 使用视差映射(Parallax Mapping)技术,通过高度贴图实现表面遮挡效果,使纹理表面具有更真实的层次感。
    点击对象选择器可分配高度贴图。
    旁边的浮点值用于调整高度贴图的影响,较低的值减少效果,较高的值增强遮挡感。
    Occlusion Map 选择环境光遮蔽(AO)贴图,用于模拟环境光和反射造成的阴影,使光照更加真实。AO 贴图可减少光线照射到物体边缘和缝隙的程度。点击对象选择器可分配 AO 贴图。
    Emission 使材质表面具有自发光效果。启用后,可配置 Emission Map(发光贴图)和 Emission Color(发光颜色)。
    点击对象选择器可选择发光贴图。
    Emission Color 可通过颜色拾取器进行调整,颜色值可以超过 100% 的白色,以用于发光强度较高的效果,如熔岩。
    如果未分配 Emission Map,则仅使用 Emission Color 的颜色作为发光颜色。
    如果未启用 Emission,URP 会将发光颜色设为黑色,并不计算发光效果。
    Tiling 2D 纹理缩放值,控制纹理在 U 和 V 轴上的重复次数。适用于地板、墙壁等表面。默认值为 1,表示无缩放。
    增加该值可使纹理在网格上重复出现,减少该值可拉伸纹理。建议尝试不同的数值以达到最佳视觉效果。
    Offset 2D 纹理偏移量,控制纹理在网格上的 U 和 V 轴方向上的偏移位置。调整此值可改变贴图在网格上的位置。

    Detail Inputs

    Detail Inputs 设置用于向表面添加额外的细节。

    要求: 需要支持 Shader Model 2.5 或更高版本的 GPU。

    属性 描述
    Mask 选择一张遮罩贴图,用于定义 Unity 在 Surface Inputs 贴图上叠加 Detail 贴图的区域。
    遮罩贴图使用 Alpha 通道来控制叠加区域。
    Tiling 和 Offset 设置对遮罩贴图无效。
    Base Map 选择包含表面细节的纹理贴图。Unity 以叠加模式(Overlay)将此贴图与 Surface Base Map 进行混合。
    Normal Map 选择包含法线数据的贴图,使用法线贴图 来增加表面细节,例如凹凸、划痕和沟槽。
    旁边的滑块可调整法线贴图的强度,默认值为 1。
    Tiling 调整 Base Map 和 Normal Map 在网格上的 U 和 V 轴缩放,使贴图更适配网格表面。
    默认值为 1,表示无缩放。
    选择大于 1 的值可使贴图在网格上重复,选择小于 1 的值可拉伸贴图。
    Offset 调整 Base Map 和 Normal Map 在 U 和 V 轴上的偏移量,以改变贴图在网格上的位置。

    Advanced

    Advanced 设置影响渲染的底层计算方式,但不会直接影响表面的可见效果。

    属性 描述
    Specular Highlights 启用此选项可使材质从直接光源(如 定向光、点光源和聚光灯)中产生高光反射。
    这意味着材质能够反射这些光源的高光效果。
    禁用此选项可以跳过高光计算,从而提高 Shader 的渲染速度。
    默认情况下,此功能是启用的。
    Environment Reflections 允许材质采样最近的反射探针,或在 Lighting 窗口中设置的光照探针。
    禁用此选项可减少 Shader 计算量,但会使表面失去环境反射效果。
    Enable GPU Instancing 允许 URP 在可能的情况下,将具有相同几何体和材质的网格合并到一个批次中进行渲染,以提高渲染效率。
    如果网格使用了不同的材质,或硬件不支持 GPU 实例化(Instancing),URP 无法进行批量渲染。
    Sorting Priority 使用滑块调整材质的渲染顺序。URP 会优先渲染较低数值的材质。
    可以利用此设置减少设备上的过度绘制(Overdraw),使渲染管线优先渲染前景材质,以避免重复渲染被遮挡的区域。
    此功能类似于 Unity 内置渲染管线中的 Render Queue。

    Channel Packing

    此 Shader 使用通道打包技术,使金属度(Metallic)、平滑度(Smoothness)和遮蔽(Occlusion)属性可以合并到单个 RGBA 贴图中,从而减少内存占用。

    使用通道打包时,仅需加载一张纹理贴图,而不是单独加载三张不同的贴图。例如,在 Substance 或 Photoshop 等软件中,可以按照以下方式进行贴图通道分配:

    通道 属性
    Red Metallic
    Green Occlusion
    Blue None
    Alpha Smoothness
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)