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

    分层光照着色器 (Layered Lit Shader)

    分层光照着色器允许你在高清渲染管线 (High Definition Render Pipeline, HDRP) 中的同一游戏对象上最多堆叠四种材质。该着色器用于每一层的材质是 HDRP 光照材质。这样可以轻松地在 HDRP 中创建逼真且多样化的材质。Main Layer 是最底层,可以影响具有反照率、法线和高度的上层。HDRP 在 Main Layer 之上依次渲染 Layer 1、Layer 2 和 Layer 3。有关材质、着色器和纹理的更多信息,请参阅 Unity 用户手册。

    分层光照着色器非常适合用于摄影测量法。有关如何在摄影测量工作流程中使用该着色器的教程,请参阅使用分层着色器进行摄影测量的专家指南 (Photogrammetry with the Layered Shader Expert Guide)。

    创建分层光照材质 (Layered Lit Material)

    要创建新的分层光照材质,请导航到项目的 Asset 窗口,在窗口中单击鼠标右键,然后选择 Create > Material。这会在 Unity 项目的 Asset 文件夹中添加一个新材质。材质默认使用光照着色器。要使材质使用分层光照着色器,请执行以下操作:

    1. 单击材质以在 Inspector 中查看该材质。
    2. 在 Shader 下拉选单中,选择 HDRP > LayeredLit。

    属性

    Surface Options

    属性 描述
    Surface Type 使用下拉选单定义材质是否支持透明度。具有 Transparent Surface Type 的材质比具有 Opaque Surface Type 的材质在渲染时更耗资源。根据选择的 Surface Type,HDRP 会显示更多属性。有关该功能的更多信息以及每个 Surface Type 显示的属性列表,请参阅 Surface Type 文档。
    - Render Pass 使用下拉选单设置 HDRP 处理此材质使用的渲染通道。有关此属性的更多信息,请参阅 Surface Type 文档。
    Double-Sided 启用此复选框可以使 HDRP 渲染几何体中多边形的两个面。有关该功能的更多信息以及该功能可显示的属性列表,请参阅 Double-Sided 文档。
    Alpha Clipping 启用此复选框可以使该材质像镂空着色器 (Cutout Shader) 一样。启用此功能会显示更多属性。有关该功能的更多信息以及该功能显示的属性列表,请参阅 Alpha Clipping 文档。
    材质类型 指定材质类型,允许根据选择的 Material Type 使用不同的设置对材质进行自定义。对于分层光照材质,只能使用 Subsurface Scattering、Standard 或 Translucent Material Type。有关该功能的更多信息以及每个 Material Type 显示的属性列表,请参阅 Material Type 文档。
    Receive Decals 启用此复选框可以允许 HDRP 在该材质的表面上绘制贴花。
    Receive SSR (Transparent) 启用此复选框可以在处理屏幕空间反射通道时使 HDRP 包含该材质。有一个用于透明表面类型的单独选项。
    Geometric Specular AA 启用此复选框可以指示 HDRP 对该材质执行几何抗锯齿。这会修改曲面几何体表面上的平滑度值,从而消除镜面反射瑕疵。有关该功能的更多信息以及该功能显示的属性列表,请参阅几何镜面反射抗锯齿 (Geometric Specular Anti-aliasing) 文档。
    Displacement Mode 使用此下拉选单选择 HDRP 用于更改材质表面高度的方法。有关该功能的更多信息以及每个 Displacement Mode 显示的属性列表,请参阅 Displacement Mode 文档。

    Vertex Animation

    属性 描述
    Motion Vector For Vertex Animation 启用此复选框可以使 HDRP 为使用顶点动画的游戏对象编写运动矢量。这将消除顶点动画可能导致的重影。

    Surface Inputs

    属性 描述
    Layer Count 使用滑动条设置此材质使用的层数。最多可以设置四层。
    Layer Mask 向该字段分配一个纹理以管理每一层的可见性。如果未分配纹理,则材质将为每个通道使用最大值。
    • Alpha 通道适用于 Main Layer。
    • 红色通道适用于 Layer 1。
    • 绿色通道适用于 Layer 2。
    • 蓝色通道适用于 Layer
    BlendMask UV Mapping 使用下拉选单选择 HDRP 用于映射 Layer Mask 的 UV 贴图类型。
    • Unity 为一个顶点管理四个 UV 通道:UV0、UV1、UV2 和 UV3。
    • Planar:从上到下的平面投影。
    • Triplanar:三个方向的平面投影:X 轴:从左到右。Y 轴:从上到下。Z 轴:从前到后。Unity 将这三个投影混合在一起产生最终结果。
    World Scale 设置纹理的世界空间大小(以米为单位)。如果将此值设置为 1,则 HDRP 会将纹理映射到世界空间中的 1 米。如果将此值设置为 2,则 HDRP 会将纹理映射到世界空间中的 0.5 米。仅当从 BlendMask UV Mapping 下拉选单中选择 Planar 或 Triplanar 时,才显示此属性。
    Tiling 设置 Layer Mask UV 的 X 和 Y 平铺率。HDRP 使用这些 X 和 Y 值在材质表面上平铺指定给 Layer Mask 的纹理(在对象空间中)。
    Offset 设置 Layer Mask UV 的 X 和 Y 偏移。HDRP 使用这些 X 和 Y 值从材质表面上偏移指定给 Layer Mask 的纹理(在对象空间中)。
    Vertex Color Mode 使用下拉选单选择 HDRP 将 Layer Mask 结合到管理器层可见性所使用的方法。
    • None:仅 Layer Mask 影响可见性。HDRP 不会将其与顶点颜色结合在一起。
    • Multiply:将一个层中的顶点颜色与代表该层的 Layer Mask 中的通道中的对应值相乘。遮罩中像素的默认值为 1。一个层的顶点颜色乘以 Layer Mask 会降低该层的强度,除非 Layer Mask 中的值为 1。
    • Add:将顶点颜色值重新映射到 0 到 1 之间,然后将这些值与代表该层的 Layer Mask 中的通道中的对应值相加。介于 0 和 0.5 之间的 Layer Mask 值会降低该层的效果,介于 0.5 和 1 之间的值会增加该层的效果。
    Main Layer Influence 启用此复选框可以允许 Main Layer 影响 Layer 1、Layer 2 和 Layer 3 的反照率、法线和高度。您可以更改每个层的影响强度。
    Use Height Based Blend 启用此复选框可以将层与高度贴图混合。然后,HDRP 会计算每个层的高度,以检查是显示该层还是上面的层。
    Height Transition 使用滑动条设置每层材质之间的过渡混合大小。
    Lock Layers 123 Tiling With Object Scale 启用此复选框可以将材质的平铺率乘以游戏对象的缩放比例。缩放游戏对象时,此设置可使高度贴图的外观保持一致。

    Layer List

    此部分包含由此分层材质用作层的材质列表。要将材质分配给层,请将材质拖放到该层的属性字段中,或者:

    1. 单击该层右侧的单选按钮以打开 Select Material 窗口。
    2. 从窗口中的材质列表中找到所需的材质,然后双击该材质。

    如果以任何方式修改引用的材质,则可以通过按 Reset 按钮来同步属性。这会将所有属性从引用的材质复制到相关的分层材质层中。

    如果指定由 Shader Graph 制成的材质作为层材质 (Layer Material),请确保属性的引用与 LayeredLit 材质中相应属性的名称匹配。 有关这一点的含义的示例,请参阅以下屏幕截图中的 _BaseColorMap:

    Layers

    Unity 最多显示四个材质层供您在分层材质中使用。使用 Layer Count 滑动条可以设置 Unity 显示的层数。每个层具有相同的 Surface Inputs 和 Detail Inputs。唯一的区别在 Main Layer 和编号层(Layer 1、Layer 2 和 Layer 3)之间,它们具有不同的 Layering Options。

    Layering Options - Main Layer

    属性 描述
    Layer Influence Mask 指定一个纹理来定义 Main Layer 可以影响编号层的区域。白色像素表示完全影响,黑色像素表示没有影响。
    仅当启用 Main Layer Influence 复选框时,才显示此属性。

    Layering Options - 编号层

    属性 描述
    Use Opacity map as Density map 指示是否使用 Base Map 的 Alpha 通道作为不透明度阈值。
    BaseColor Influence Main Layer 对此层的基色的影响强度。增加此值时,Main Layer 颜色将变得更加可见,但材质将保持其他图层的差异。
    仅当启用 Main Layer Influence 复选框时,才显示此属性。
    Normal Influence Main Layer 对此层的法线的影响强度。HDRP 将 Main Layer 的法线值与该层的法线值相加。
    仅当启用 Main Layer Influence 复选框时,才显示此属性。
    Heightmap Influence Main Layer 对此层的高度贴图的影响强度。HDRP 将 Main Layer 的高度贴图值与该层的高度贴图值相加。
    仅当启用 Main Layer Influence 复选框时,才显示此属性。

    Surface Inputs

    属性 描述
    Base Map 指定一个纹理,用于控制材质的颜色和不透明度。要为此字段指定纹理,请单击单选按钮,然后在 Select Texture 窗口中选择纹理。使用拾色器来选择材质的颜色。如果不指定纹理,这将是材质的绝对颜色。如果指定了纹理,则材质的最终颜色是您指定的纹理和所选颜色的组合。如果从 Surface Type 下拉选单中选择 Transparent,则颜色的 Alpha 值将控制材质的透明度级别。
    Metallic 使用此滑动条调整材质表面的金属性程度(介于 0 和 1 之间)。当表面具有较高的金属性时,它会在更大程度上反射环境,并且反照率颜色将变得不那么明显。在最高金属性级别下,表面颜色完全由来自环境的反射驱动。当表面的金属度较低时,其反照率颜色会更清晰,并且所有表面反射均在表面颜色的基础之上可见,而不是遮挡住表面颜色。
    仅当在 Mask Map 中取消分配纹理并将 Material Type 设置为 Standard 时,才显示此属性。
    Smoothness 使用滑动条调整材质的平滑度。照射到光滑表面的每条光线都将以可预测且一致的角度反弹。对于像镜子一样反射光线的完美光滑表面,应将此属性设置为值 1。较不光滑的表面在较宽的角度范围内反射光线(因为光线会照射到微表面上的凸起),所以反射的细节较少,以更加分散的模式在表面上扩散。
    仅当在 Mask Map 中取消分配纹理时,才显示此属性。
    Metallic Remapping 使用此最小值/最大值滑动条将 Mask Map 中的金属度值重新映射到指定的范围。Unity 不会将值钳制到新范围,而是将原始范围均匀压缩到新范围。
    仅当分配一个 Mask Map 时,才显示此属性。
    Smoothness Remapping 使用此最小值/最大值滑动条将 Mask Map 中的平滑度值重新映射到您指定的范围。Unity 不会将值钳制到新范围,而是将原始范围均匀压缩到新范围。
    仅当分配一个 Mask Map 时,才显示此属性。
    Ambient Occlusion Remapping 使用此最小值/最大值滑动条将 Mask Map 中的环境光遮挡值重新映射到您指定的范围。Unity 不会将值钳制到新范围,而是将原始范围均匀压缩到新范围。
    仅当分配一个 Mask Map 时,才显示此属性。
    Mask Map 指定一个通道打包的纹理并确保其 RGBA 通道中包含以下材质贴图。
    • Red:存储金属性贴图。
    • Green:存储环境光遮挡贴图。
    • Blue:存储细节遮罩贴图。
    • Alpha:存储平滑度贴图。
    有关通道打包的纹理和遮罩贴图的更多信息,请参阅遮罩贴图。
    Normal Map Space 使用此下拉选单选择该材质使用的法线贴图空间类型。
    • TangentSpace:定义 UV 空间中的法线贴图;使用此类型可以在网格上平铺纹理。法线贴图纹理必须是 BC7、BC5 或 DXT5nm 格式。
    • ObjectSpace:定义世界空间中的法线贴图。此类型用于平面贴图的对象,如地形。法线贴图必须是 RGB 纹理。
    Normal Map 指定一个纹理来定义此材质的切线空间法线贴图。使用滑动条在 0 到 8 之间调节法线强度。
    仅当从 Normal Map Space 下拉选单中选择 TangentSpace 时,才显示此属性。
    Normal Map OS 指定一个纹理来定义此材质的对象空间法线贴图。使用控制柄在 0 到 8 之间调节法线强度。
    仅当从 Normal Map Space 下拉选单中选择 ObjectSpace 时,才显示此属性。
    Bent Normal Map 指定一个纹理来定义此材质在切线空间中的弯曲法线贴图。HDRP 使用弯曲法线贴图来模拟更精确的环境光遮挡。注意:弯曲法线贴图仅适用于漫射光照。
    仅当从 Normal Map Space 下拉选单中选择 TangentSpace 时,才显示此属性。
    Bent Normal Map OS 指定一个纹理来定义此材质在对象空间中的弯曲法线贴图。HDRP 使用弯曲法线贴图来模拟更精确的环境光遮挡。注意:弯曲法线贴图仅适用于漫射光照。
    仅当从 Normal Map Space 下拉选单中选择 ObjectSpace 时,才显示此属性。
    Height Map 指定一个纹理来定义此材质的高度贴图。Unity 使用此贴图来混合该层。
    - Parametrization 使用下拉选单选择用于 Height Map 的参数化方法。
    • Min/Max:HDRP 比较 Min 和 Max 值以计算高度贴图的峰值、谷值和基准位置。如果 Min 为 -1 且 Max 为 3,则基准值为纹理值 0.25。这会使用高度贴图的完整范围。
    • Amplitude:允许手动设置高度贴图的幅度和基准位置。这会使用高度贴图的完整范围。在此模式下,Amplitude 设置值的范围,Base 定义零值(基准值)在该范围内的距离。例如,如果 Amplitude 为 100 且 Base 为 0.5(默认值),则最小值为 -50,最大值为 50。如果随后将 Base 设置为 0,则最小值变为 0,最大值变为 100。
    - Min 设置 Height Map 中的最小值。
    仅当 Parametrization 设置为 Min/Max 时,才显示此属性。
    - Max 设置 Height Map 中的最大值。
    仅当 Parametrization 设置为 Min/Max 时,才显示此属性。
    - Offset 设置 HDRP 应用于 Height Map 的偏移。
    - Amplitude 设置 Height Map 的幅度。这是高度贴图表示的值的范围。
    仅当 Parametrization 设置为 Amplitude 时,才显示此属性。
    - Base 使用滑动条设置 Height Map 的基准位置。这是高度贴图中的级别 0 的值。如果将此值设置为 0.5,并将 Amplitude 设置为 100,则最小值为 -50,最大值为 50。
    仅当 Parametrization 设置为 Amplitude 时,才显示此属性。
    Diffusion Profile 指定一个扩散配置文件以控制次表面散射行为。要快速查看当前选定的扩散配置文件的 Inspector,请在分配字段中双击扩散配置文件资源 (Diffusion Profile Asset)。如果未指定扩散配置文件,则 HDRP 不会处理次表面散射。
    仅当从 Material Type 下拉选单中选择 Subsurface Scattering 或 Translucent 时,才显示此属性。
    Subsurface Mask 使用滑动条设置屏幕空间模糊效果的强度。如果设置了 Subsurface Mask Map,这将用作该贴图的乘数。如果未设置 Subsurface Mask Map,此属性会增强该材质上的整个次表面散射效果。
    仅当从 Material Type 下拉选单中选择 Subsurface Scattering 时,才显示此属性。
    Subsurface Mask Map 指定灰度纹理,其值为 0 到 1,用于控制材质上模糊效果的强度。值为 1 的纹素对应于最高强度,而值为 0 的纹素将禁用次表面散射模糊效果。
    仅当从 Material Type 下拉选单中选择 Subsurface Scattering 时,才显示此属性。
    Thickness Map/Thickness 指定灰度纹理,其值为 0 到 1,对应于纹理像素位置处的网格的平均厚度。值越大意味着区域越厚,而区域越厚传输的光量越少。如果未给该属性指定纹理,则名称为 Thickness,并由滑动条控制网格的整体厚度。
    仅当从 Material Type 下拉选单中选择 Subsurface Scattering 或 Translucent 时,才显示此属性。
    Thickness Remapping 使用滑动条设置透射效果的强度。表示厚度贴图的乘数。
    仅当从 Material Type 下拉选单中选择 Subsurface Scattering 或 Translucent 时,才显示此属性。
    Base UV Mapping 使用下拉选单选择 HDRP 用于将纹理贴图到此材质表面的 UV 贴图类型。
    • Unity 为一个顶点管理四个 UV 通道:UV0、UV1、UV2 和 UV3。
    • Planar:从上到下的平面投影。
    • Triplanar:三个方向的平面投影:X 轴:从左到右。Y 轴:从上到下。Z 轴:从前到后。Unity 将这三个投影混合在一起产生最终结果。
    Tiling 为 Surface Inputs 部分中的所有纹理设置 X 和 Y UV 平铺率。HDRP 使用这些 X 和 Y 值在材质表面上平铺这些纹理(在对象空间中)。
    Offset 为 Surface Inputs 部分中的所有纹理设置 X 和 Y UV 偏移。HDRP 使用这些 X 和 Y 值在材质表面上偏移这些纹理(在对象空间中)。

    Detail Inputs

    属性 描述
    Detail Map 指定一个通道打包的纹理,由 HDRP 用于将微观细节添加到材质中。Detail Map 使用以下通道设置:
    • Red:存储灰度作为反照率。
    • Green:存储细节法线贴图的绿色通道。
    • Blue:存储细节平滑度。
    • Alpha:存储细节法线贴图的红色通道。
    有关通道打包的纹理和细节贴图的更多信息,请参阅细节贴图。
    Detail UV Mapping 指定要用于 Detail Map 的 UV 贴图类型。如果材质的 Base UV mapping 属性设置为 Planar 或 Triplanar,则 Detail UV Mapping 也会设置为 Planar 或 Triplanar。
    Detail Map 纹理会修改材质的外观,因此默认情况下,HDRP 将 Base UV Map 的 Tiling 和 Offset 应用于 Detail Map 以同步 Detail Map 和其余材质纹理。然后,HDRP 将 Detail Map Tiling 和 Offset 属性应用于 Base Map Tiling 和 Offset 之上。例如,在平面上,如果 Base UV Mapping 的 Tiling 为 2,且此值也设置为 2,则 Detail Map 纹理在平面上的平铺率为 4。
    此工作流程允许更改材质上的纹理 Tiling,而无需同时设置 Detail UV 的 Tiling。
    要将 Detail UV Map 与 Base UV Map 分开单独设置,请禁用 Lock to Base Tiling/Offset 复选框。
    - Lock to Base Tiling/Offset 指示 Base UV Map 的 Tiling 和 Offset 属性是否影响 Detail Map。启用后,HDRP 分别将这些属性乘以 Detail UV Map 的 Tiling 和 Offset 属性。要将 Detail UV Map 与 Base UV Map 分开单独设置,请禁用此复选框。
    Tiling Detail Map UV 每个轴的平铺率。HDRP 使用这些 X 和 Y 值在材质表面上平铺指定给 Detail Map 的纹理(在对象空间中)。
    Offset Detail Map UV 每个轴的偏移。HDRP 使用这些 X 和 Y 值在材质表面上偏移指定给 Detail Map 的纹理(在对象空间中)。
    Detail Albedo Scale 在 0 到 2 之间调节细节贴图的反照率(红色通道)。这是一种叠加效果。默认值为 1 且不应用缩放。
    Detail Normal Scale 在 0 到 2 之间调节细节法线贴图的强度(绿色通道和 Alpha 通道)。默认值为 1 且不应用缩放。
    Detail Smoothness Scale 在 0 到 2 之间调节细节平滑度贴图的强度(蓝色通道)。这是一种叠加效果。默认值为 1 且不应用缩放。

    Emission Inputs

    属性 描述
    Use Emission Intensity 启用此复选框可以使用单独的 LDR 颜色和强度值来设置此材质的发射颜色。禁用此复选框则仅使用 HDR 颜色来处理颜色和发射颜色强度。启用此复选框后,将显示 Emission Intensity 属性。
    Emission Map 指定此材质用于发射的纹理。还可以使用拾色器选择 HDRP 乘以纹理的颜色。如果未设置发射纹理,则 HDRP 仅使用 HDR 颜色计算材质的最终发射颜色。可以在 HDR 拾色器中设置 HDR 颜色的强度。
    Emission UV Mapping 使用下拉选单选择 HDRP 用于 Emission Map 的 UV 贴图类型。
    • Unity 为一个顶点管理四个 UV 通道:UV0、UV1、UV2 和 UV3。
    • Planar:从上到下的平面投影。
    • Triplanar:三个方向的平面投影:
    X 轴:从左到右
    Y 轴:从上到下
    Z 轴:从前到后

    Unity 将这三个投影混合在一起产生最终结果。
    • Same as Base:Unity 将使用在 Surface Inputs 中选择的 Base UV Mapping。如果表面启用了 Pixel displacement,此选项也会在发光贴图上应用位移。
    - Tiling 设置 Emission Map UV 的 X 和 Y 平铺率。HDRP 使用这些 X 和 Y 值在材质表面上平铺指定给 Emission Map 的纹理(在对象空间中)。
    - Offset 设置 Emission Map UV 的 X 和 Y 偏移。HDRP 使用这些 X 和 Y 值在材质表面上偏移指定给 Emission Map 的纹理(在对象空间中)。
    Emission Intensity 设置此材质的发射效果的总体强度。使用下拉选单选择以下物理光单位之一表示强度:
    • 尼特
    • EV100
    Exposure Weight 使用滑动条设置曝光对发射强度的影响程度。例如,如果创建霓虹灯管,则需要在每次曝光时应用发光效果。
    Emission Multiply with Base 启用此复选框可以使 HDRP 在计算发射的最终颜色时使用材质的基色。启用后,HDRP 将发光颜色乘以基色以计算最终发射颜色。
    Emission 控制发射是否影响全局光照。
    - Global Illumination HDRP 使用此模式确定颜色发射与全局光照的相互影响。
    • Realtime:选择此选项可使发射影响实时全局光照的结果。
    • Baked:选择此选项可使发射仅影响烘焙过程中的全局光照。
    • None:选择此选项可使发射不影响全局光照。

    Advanced Options

    属性 描述
    Enable GPU Instancing 启用此复选框可以指示 HDRP 在一个批次中使用相同的几何体和材质来渲染网格(如果可能)。这样可以加快渲染速度。如果网格具有不同的材质或者硬件不支持 GPU 实例化,则 HDRP 无法在一个批次中渲染这些网格。例如,如果游戏对象具有基于对象轴心的动画,则不能对它们进行静态批处理,但 GPU 可以实例化它们。
    Baked Emission 指示发射颜色是否影响全局光照。
    Motion Vector For Vertex Animation 指示 HDRP 是否为使用顶点动画的游戏对象编写运动矢量。这将消除顶点动画可能导致的重影。
    Specular Occlusion Mode HDRP 用于计算镜面反射遮挡的模式。选项包括:
    • Off:禁用镜面反射遮挡。
    • From AO:根据环境光遮挡贴图和摄像机的视图矢量来计算镜面反射遮挡。
    • From AO and Bent Normal:根据环境光遮挡贴图、弯曲法线贴图和摄像机的视图矢量来计算镜面反射遮挡。
    • Custom:允许你指定自己的镜面反射遮挡值。
    Add Precomputed Velocity 指示是否使用存储在 Alembic 文件中的预先计算的速度信息。
    返回到顶部
    Copyright © 2023 Unity Technologies — 商标和使用条款
    • 法律条款
    • 隐私政策
    • Cookie
    • 不要出售或分享我的个人信息
    • Your Privacy Choices (Cookie Settings)