反射探头¶
介绍¶
如中所述 空间材料 ,对象可以显示反射光或漫反射光。反射探头用作受影响区域内物体的反射和环境光源。
这种类型的探测器捕捉周围环境(类似于360度的图像),并存储其版本随着 blur . 这用于模拟材料的粗糙度以及环境照明。
虽然这些探针是存储反射的有效方法,但它们有一些缺点:
它们渲染效率高,但计算成本高。这将导致默认行为,即它们只在场景加载时捕获。
它们最适用于矩形房间或地方,否则所示的反射就不那么准确(尤其是粗糙度为0时)。
设置¶
创建一个ReflectionProbe节点,并将其环绕在要进行反射的区域:
这将导致立即的局部反射。如果使用的是天空纹理,则默认情况下会将反射与它混合。
默认情况下,在内部,反射可能看起来不太一致。在这种情况下,请确保勾选 “方框正确” 财产。
此设置将无限SkyBox的反射更改为探头大小的反射框:
调整盒壁可能有助于改善反射一点,但它总是在盒形的房间看起来最好。
探测器从小控件的中心捕捉周围环境。如果由于某种原因,房间形状或内容遮挡了中心,则可以通过移动中心的手柄将其移动到空位置:
默认情况下,渲染探测时禁用阴影映射(仅在探测内的渲染图像中,而不是实际场景中)。这是一种节省性能和内存的简单方法。如果要在探测器中使用阴影,可以使用 启用阴影 设置:
最后,请记住,您可能不希望反射探测渲染某些对象。一个典型的场景是房间里的敌人会四处移动。要防止在反射中渲染对象,请使用 剔除遮罩 设置:
内部与外部¶
如果在内部设置中使用反射探头,建议 内部 属性已启用。这将阻止探测器渲染天空,并允许自定义环境照明设置。
当探针设置为 内部 ,可为每个探头指定自定义恒定环境照明。只需选择颜色和能量。
或者,您可以通过调整 环境贡献 属性(0.0表示纯环境色,1.0表示纯漫反射捕获)。
混合¶
可以使用多个反射探头,Godot将使用智能算法在它们重叠的地方进行混合:
正如您所看到的,这种混合永远都不是完美的(毕竟,这些都是框反射,而不是真实的反射),但只有在使用完全镜像反射时,这些工件才可见。通常情况下,场景具有正常的映射和不同的粗糙度级别,这可以隐藏这一点。
或者,反射探头与屏幕空间反射很好地混合在一起,以解决这些问题。结合它们可以使局部反射看起来更加真实,而探针仅在未找到屏幕空间信息时用作回退:
最后,建议将内部和外部探测器混合在一起,以实现内部和外部的结合。在门附近,探针可以标记为 外部 (这样它会得到天空的反射)而在内部,它可以是内部的。
反射图谱¶
在当前的渲染器实现中,所有探测器的大小都相同,并且都适合反射图集。探头的尺寸和数量可在项目设置->质量->反射中自定义。