反射探针
简介
如下所示 空间材质 ,对象可以显示反射光或漫反射光. 反射探头用作其影响区域内物体的反射光和环境光源.
这种类型的探测器捕获周围环境(作为一种360度图像),并以不断增加的* blur *水平存储它的版本. 这用于模拟材质的粗糙度以及环境照明.
虽然这些探针是一种有效的存储反射的方式,但它们有一些不足之处:
它们的渲染效率高,但计算成本也高.这就造成默认的行为,即它们只在场景加载时捕获.
它们最适合矩形房间或地方,否则显示的反射不忠实(特别是当粗糙度为0时).
设置
创建一个ReflectionProbe节点并将其包在您想要反射的区域周围:
这应该导致立即的局部反射. 如果您使用的是Sky纹理,则默认情况下会将反射与其混合.
默认情况下,在内部,反射可能看起来不太一致,在这种情况下,一定要勾选 “Box Correct[盒子更正] “ 属性.
此设置将反射从无限天空盒更改为反映探测器大小的框:
调整盒体墙面可能有助于改善一点反射,但是在盒子形状的房间中看起来总是最好的.
探头从Gizmo的中心捕获周围环境. 如果由于某种原因,房间的形状或内容遮挡了中心,可以通过移动中心的把手将其移到空的地方:
默认情况下,渲染探针时仅禁用阴影贴图(仅在探针内的渲染图像中,而不是实际场景中). 这是节省性能和内存的简单方法. 如果您想在探头中使用阴影,可以使用* Enable Shadow *设置打开/关闭它们:
最后,请记住,您可能不希望Reflection Probe渲染某些对象. 一个典型的场景是房间内的敌人会四处移动. 要防止对象在反射中渲染,请使用 Cull Mask 设置:
内部与外部
如果您在室内环境中使用反射探针,建议启用 Interior [内部]属性.这可以阻止探针渲染天空,还可以自定义环境光设置.
当探头设置为** Interior **时,可以为每个探头指定自定义恒定环境光. 只需选择颜色和能量.
可选,您可以通过调整 Ambient Contribution[环境贡献] 属性(0.0表示纯环境色,而1.0表示纯漫射捕获),将此环境光与探针漫射捕获混合.
混纺
可以使用多个反射探针,Godot会使用智能算法将它们混合在一起:
正如所见,这种混合从来都不是完美的(毕竟,这些是盒子反射,而不是真实的反射),而这些伪像只有在使用完美的镜像反射时才可见. 通常情况下,场景具有法线映射和不同程度的粗糙度,因此可以隐藏它.
另外,反射探针与屏幕空间反射混合在一起也能很好地解决这种问题.将它们结合在一起,可以使局部反射显得更加还原,而探针只在找不到屏幕空间信息时作为备用:
最后,在制作内部和外部结合的水平时,建议混合使用内部和外部探头. 在门附近,探头可以标记为 外部 (因此它将获得天空反射),而在内部,它可以是内部.
反思地图集
在当前的渲染器实现中,所有探测器都具有相同的大小并且适合反射图集. 可以在项目设置 ->质量 ->反射中自定义探针的大小和数量
Atlas Subdiv的默认设置:8,将允许一个场景中最多有16个反射探针.如果您需要更多的反射探针,则需要增加该值.