反射探针
本页介绍反射探针在 URP 中的特定行为。
有关反射探针的一般信息,请参阅反射探针页面。
配置反射探针设置
要配置与反射探针相关的设置,请在 URP 资源中选择 Lighting > Reflection Probes。
反射探针设置。
Reflection Probes 部分包含以下属性:
属性 | 描述 |
---|---|
Probe Blending | 选择此属性可启用反射探针混合。 |
Box Projection | 选择此属性可启用反射探针盒体投影。 |
反射探针混合
反射探针混合可避免对象进入探针盒体时突然发生反射的情况。启用反射探针混合后,随着反射对象从一个体积移动到另一个体积,Unity 会逐渐淡入和淡出探针立方体贴图。
URP 支持前向渲染路径和延迟渲染路径的反射探针混合。
反射探针体积
每个反射探针都有一个盒体。反射探针仅影响游戏对象位于盒体内的部分。当对象的像素位于任何反射探针体积之外时,Unity 使用天空盒反射。
在 URP 中,Unity 根据像素相对于探针体积边界的位置来计算每个探针对每个单独像素的影响。此行为与内置渲染管线不同;在内置渲染管线中,Unity 会计算探针对整个对象的影响。
Blend Distance
每个反射探针都具有 Blend Distance 属性。此属性是从反射盒体的面到盒体中心的距离。
Unity 使用 Blend Distance 属性来确定反射探针的影响。当对象的像素位于反射探针体积的面上时,该像素从探针获得 0% 的反射。当一个像素位于反射探针体积内并且它与每个面的距离超过 Blend Distance 值时,该像素将获得 100% 的反射。
如果 Blend Distance 值大于反射探针体积面之间距离的一半,则反射探针无法为该体积内的任何像素提供 100% 的影响。
影响游戏对象的探针
当游戏对象位于多个反射探针体积内时,最多两个探针可以影响游戏对象。Unity 使用以下标准来选择影响游戏对象的探针:
反射探针的 Importance 属性。Unity 选择两个具有较高 Importance 值的探针并忽略其他探针。
如果 Importance 值相同,Unity 将选择具有最小盒体的探针。
如果 Importance 值和盒体大小均相同,Unity 将确定哪两个反射探针体积包含游戏对象的更大表面积,然后选择这些体积的探针。
当两个反射探针影响一个游戏对象时,对于每个像素,Unity 会根据该像素与探针盒体面的距离以及 Blend Distance 属性的值来计算每个探针的权重。如果像素相对靠近两个盒体的面并且两个探针的权重之和小于 1,则 Unity 将剩余的权重分配给天空盒反射。
如果像素位于两个盒体内并且比两个体积的面的 Blend Distance 值更远:
如果反射探针的 Importance 属性相同,Unity 会混合具有相同权重的探针的反射。
如果其中一个探针的 Importance 属性更高,则 Unity 仅应用该探针的反射。
盒体投影
要使盒体投影起作用,请执行以下操作:
选中 URP 资源上的 Box Projection 复选框。
选择反射探针上的 Box Projection 属性。