Version: Unity 6.0 (6000.0)
语言 : 中文
在内置渲染管线中为自定义着色器添加光照探针代理体支持
内置渲染管线的光源组件检视面板窗口参考

在内置渲染管线中混合反射探针 (Reflection Probe)

要启用反射探针 (Reflection Probe) 混合,请导航至__图形设置 (Graphic Settings)__ > 层设置 (Tier settings)。层设置 (Tier settings) 仅在 Unity 的内置渲染管线中可用。启用混合后,当反射对象从一个区域移动到另一个区域时,Unity 逐渐淡出一个探针的立方体贴图,同时淡入另一个探针的立方体贴图。这种逐渐过渡避免了当对象穿过区域边界时突然有一个显眼的对象“弹出”到反射中的情况。

必须使用网格渲染器组件的__反射探针 (Reflection Probe)__ 属性控制混合。提供了四个可用的混合选项:

  • Off - 禁用反射探针混合。仅将天空盒用于反射
  • Blend Probes - 仅混合相邻探针并忽略天空盒。应将此选项用于“室内”对象或场景隐蔽区域(例如洞穴和隧道)的对象,因为从这些地方看不到天空,所以天空不应出现在反射中。
  • Blend Probes and Skybox - 作用与 Blend Probes 类似,但还允许在混合中使用天空盒。应将此选项用于天空始终可见的露天对象。
  • Simple - 当存在两个重叠的反射探针体积时,禁用探针之间的混合。

当探针具有相等的 Importance 值时,给定探针区域的混合权重的计算方法,是将该区域与对象包围盒的交叉量(体积)除以所有探针与该包围盒的交叉量之和。例如,如果包围盒与探针 A 区域的交叉量为 1.0 立方单位,而与探针 B 区域的交叉量为 2.0 立方单位,则混合值将为:

  • 探针 A:1.0 / (1.0 + 2.0) = 0.33
  • 探针 B:2.0 / (1.0 + 2.0) = 0.67

换句话说,该混合将包含探针 A 的 33% 反射和探针 B 的 67% 反射。

在一个探针完全包含在另一个探针内的情况下,必须以稍微不同的方式处理该计算,因为内部区域完全与外部区域重叠。如果对象的包围盒完全处于内部区域内,则该区域的混合权重为 1.0(即,根本不使用外部区域)。当对象部分位于内部区域之外时,对象包围盒与内部区域的交叉体积除以包围盒的总体积。例如,如果交叉体积为 1.0 立方单位,而包围盒的体积为 4.0 立方单位,则内部探针的混合权重将为 1.0 / 4.0 = 0.25。然后,从 1.0 中减去该值即得到外部探针的权重,此处即得到 0.75。

当参与混合的一个探针具有比另一个探针更高的 Importance 值时,更重要的探针通常将覆盖另一个探针。

其他资源

在内置渲染管线中为自定义着色器添加光照探针代理体支持
内置渲染管线的光源组件检视面板窗口参考