版本:Unity 6 (6000.0)
语言:English
内置渲染管线中的材质验证器
使着色器与内置渲染管线中的材质验证器兼容

在内置渲染管线中验证和校正材质

验证漫反射颜色

Unity 的 材质图表 将标准亮度范围定义为非金属的 50–243 sRGB 和金属的 186–255 sRGB。验证漫反射颜色模式会使用不同的颜色对超出这些范围的任何像素计算机图像中的最小单位。像素大小取决于屏幕分辨率。每个屏幕像素都会计算像素灯光。 更多信息
参见 术语表
进行着色,以指示该值过低或过高。

在下面的示例中,第一个纹理低于最小亮度值,因此太暗。第四个纹理高于最大亮度值,因此太亮。

A Scene (without the Material Validator enabled) in which the first and fourth Materials have incorrect albedo values
一个场景(未启用材质验证器),其中第一个和第四个材质的漫反射颜色值不正确
The same Scene with the Material Validator enabled and set to Validate Albedo. The texture that is below the minimum luminance value is red. The texture that is above the minimum luminance value is blue
启用材质验证器并将其设置为验证漫反射颜色的同一场景。低于最小亮度值的纹理为红色。高于最小亮度值的纹理为蓝色

这些 材质图表 提供了常见材质的漫反射颜色值。漫反射颜色的亮度会对生成的漫反射间接光量产生重大影响,因此对于全局光照一组模拟直接和间接光照以提供逼真的光照效果的技术。
参见 术语表
烘焙来说,确保不同材质类型处于正确的亮度范围内且彼此成比例非常重要。为了帮助您获得正确的这些值,您可以从亮度验证下拉列表中的预设中进行选择,该列表提供了常见的材质漫反射颜色值,以验证特定材质类型的亮度范围。

验证高光

Unity 的 材质图表 定义了两个独立的高光颜色高光反射的颜色。
参见 术语表
范围

  • 非金属材质:40–75 sRGB
  • 金属材质:155 - 255 sRGB

在 Unity 中,所有非金属材质都具有始终位于正确范围内的恒定高光颜色。但是,金属材质通常具有过低的高光值。为了帮助您识别存在此问题的金属材质,材质验证器的验证金属高光模式会对所有具有过低高光颜色值像素进行着色。根据定义,这包括所有非金属材质。

在下面的示例中,左侧材质低于最小高光值,因此太暗。这也适用于场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,从本质上讲,将游戏设计和构建成片段。 更多信息
参见 术语表
的背景。右侧材质的高光值在有效范围内。

A Scene with two metallic Materials. The left has incorrect metallic specular values
具有两个金属材质的场景。左侧具有不正确的金属高光值
The same Scene with the Material Validator enabled and set to Validate Metal Specular
启用材质验证器并将其设置为验证金属高光的同一场景

验证纯金属

Unity 将高光颜色大于 155 sRGB 的基于物理着色的材质定义为金属材质。对于 Unity 将金属材质定义为纯金属

如果非金属表面的高光颜色值过高但具有非零漫反射颜色值,这通常是由于创作错误造成的。材质验证器还有一个名为检查纯金属的选项。启用此选项后,材质验证器会以黄色着色 Unity 定义为金属但具有非零漫反射颜色值的任何材质。以下图像中可以看到一个示例。它显示了三种材质,左侧和右侧材质是纯金属,但中间材质不是,因此材质验证器将其着色为黄色

A Scene with three metallic Materials. The middle Material is not a pure metal (it has a non-zero albedo value)
具有三种金属材质的场景。中间材质不是纯金属(它具有非零漫反射颜色值)
The same Scene with the Material Validator enabled and set to Validate Metal Specular, with Check Pure Metals enabled)
启用材质验证器并将其设置为验证金属高光,并启用了检查纯金属的同一场景)

在上面的第二张图像中,背景为红色,因为背景中的材质低于材质验证器的验证金属高光模式的最小高光值。

对于结合了金属和非金属属性的复杂材质,纯金属检查器可能会拾取一些无效的像素,但如果材质完全无效,则通常表示创作错误。

覆盖默认亮度值

根据项目的艺术风格,您可能希望材质的亮度值与预设亮度范围不同。在这种情况下,您可以使用自己的值覆盖材质验证器使用的内置漫反射颜色值。要覆盖预设亮度范围,请为每个所需的材质类型分配一个 AlbedoSwatchInfo 值数组到属性 EditorGraphicsSettings.albedoSwatches

内置渲染管线中的材质验证器
使着色器与内置渲染管线中的材质验证器兼容