漏光是指太亮或太暗的区域,通常位于墙壁或天花板的角落。
当几何体接收到来自其视线外光照探针的光线时,通常就会出现漏光现象,例如,光照探针位于墙壁的另一侧。自适应探针体积使用光探针的规则网格,因此光探针可能不会沿着墙壁或位于不同照明区域之间的边界。
要修复漏光,可以执行以下操作:
调整墙壁宽度,使其更接近局部砖块内探针之间的距离
您可以添加一个体积,然后将自适应探针体积选项覆盖添加到体积。这会调整游戏对象用于对光照探针进行采样的位置。
仅当摄像机靠近或位于体积内时,体积才会影响场景。有关更多信息,请参阅了解体积。
有关自适应探针体积选项设置的更多信息,请参阅探针体积选项覆盖。
您可以在 Lighting 窗口的自适应探针体积面板中配置渲染层遮罩。这允许 APV 为每个光照探针分配渲染层遮罩。
出于性能原因,自适应探针体积最多仅支持 4 个渲染层遮罩。您可以使用列表创建新遮罩,并使用下拉选单为其分配任何渲染层。生成光照时,Unity 将尝试通过查看探针周围对象的渲染层遮罩来为每个探针自动分配遮罩。此外,您可以使用探针调整体积覆盖分配给光照探针的渲染层遮罩。
在运行时,渲染器仅对具有匹配渲染层遮罩的探针中的光照数据进行采样。如果对象与 Lighting 窗口中定义的任何遮罩不匹配,它将从所有有效的周围探针对光照进行采样。请注意,此功能要求在 URP 资源中启用使用渲染层。
例如,为解决漏光问题,你可以创建内部和外部渲染层遮罩。通过这种方式,可确保内部物体永远不会从外部探针中采样光照数据,从而解决光线穿墙的漏光问题。渲染器的渲染层遮罩中可以启用多个渲染层。在处理可能需要同时从外部和内部光照探针采样光照的动态对象时,这个方法非常有用。
您可以可视化分配给探针的层: - 转到探针体积 (Probe Volumes) 选项卡 - 启用显示探针 (Display Probes) - 将探针着色模式 (Probe Shading Mode) 字段设置为渲染层遮罩 (Rendering Layer Masks) - 使用场景视图覆盖中的开关可隐藏与渲染层遮罩匹配的探针
如果添加体积不起作用,请使用 Lighting 窗口中的自适应探针体积面板来调整虚拟偏移和扩张的各项设置。
注意:不要使用非常低的设置值,否则“扩张”和“虚拟偏移”可能无法工作。
使用探针调整体积组件使光探针在小范围内无效。这会在烘焙过程中触发扩张,并改善运行时泄漏减少模式 (Leak Reduction Mode) 的结果。
使用探针调整体积组件可以解决大部分漏光问题,但通常无法解决所有问题。
如果您在一个场景中使用许多探针调整体积,则烘焙速度会更慢,并且场景可能更难以理解和维护。
有关更多信息,请参阅探针调整体积组件参考。
接缝是一种照明条件立即转变为另一种照明条件时出现的伪影。当两个相邻的砖块具有不同的光探针密度时,就会产生接缝。有关更多信息,请参阅砖块。
要修复接缝,请执行以下操作: