下面将介绍互反射 (Interreflections) 和盒体投影 (Box Projection),这两个高级功能可以改善从反射探针获得的视觉真实感。
有一种情况是两面镜子靠得相当近并面对面放置。两面镜子不仅反射对面的镜子,还反射镜子产生的反射。结果是两者之间的反射无穷无尽;像这样两个对象之间的反射称为互反射。
反射探针通过从探针位置创建视图快照来创建立方体贴图。但是,对于单个快照,视图无法显示互反射,因此必须为互反射序列中的每个阶段创建其他快照。
在 Lighting 窗口中控制反射在两个对象之间来回“反弹”的次数;选择 Environment > Environment Reflections 并编辑 Bounces 属性。这是针对所有探针全局设置的,而不是针对每个探针单独设置的。反射反弹计数为 1 时,探针观察到的反射对象显示为黑色。计数为 2 时,第一级互反射可见,计数为 3 时,前两级可见,依此类推。
请注意,反射反弹计数也等于必须烘焙探针的次数,并相应增加完成完整烘焙所需的时间。因此,仅当反射对象会在一个或多个探针中清晰可见时,才应将计数设置为高于 1。
通常情况下,假设反射立方体贴图处于与任何给定对象之间无限远的距离。当对象转动时,立方体贴图的不同角度都将变为可见状态,但是对象不能进一步靠近或远离反射环境。这种状态通常对于室外场景表现良好,但其局限性表现在室内场景中;房间的内部墙壁显然不是无限远的距离,物体越靠近墙壁,墙壁的反射应该越大。
Box Projection 选项允许在距探针有限距离处创建反射立方体贴图,从而允许对象根据它们与立方体贴图墙壁的距离显示不同大小的反射。周围立方体贴图的大小由探针效果区域决定(由其 Box Size 属性决定)。例如,如果一个探针在房间内部反射,应使设置的大小与房间的尺寸匹配。
In the Built in Render Pipeline, you can enable global Box Projection for a given Graphics tier in Project Settings > Graphics > Tier Settings. You can disable this setting for individual Reflection Probes in the Reflection Probe inspector if you want to create infinite projection.