Skip to main content

3. 如何为遮挡剔除设置场景

默认情况下,Unity会将整个场景放入一个称为视图体积的大空间块中。

如果你通过在场景中放置一个划定特定的遮挡区域Unity将只为该空间我们可以让 Unity 仅在这些区域部计算进行遮挡数据的计算这可以使从而大幅降低所需处理的遮挡数据大大减小。如果的场景被割成多个为若干独立区考虑您可以使用遮挡区域覆盖它们这些区块,而不是Unity计算Unity对整个场景统一处理,这将会是一种更一个大体积高效的方法

可以对象的静态标或遮挡窗口进行遮挡剔除的设置。

image-1643384082055.png

遮挡剔除的简单推荐设置

只有体积大的实体的东西该是对象才适合作为遮挡物

这是一个简单的经验法则。如果它若物体尺寸,或透明度较高者有存在空洞,它就应该是适合作为遮挡物。例如,不应该是作为遮挡物,因为它们有子,这些叶子创建形成许多微小的洞空隙,这些洞无法空隙难以通过遮挡来表示。剔除准确计算;同样,边缘结构复杂边缘是对象也好的适宜作为遮挡物

如果它总是对于始终处于可见状态对象不要使无需将成为纳入被遮挡物的范畴。

果你有一个天空盒或由平面成的海洋将其纳入遮挡剔除并无实际意义,而且错误地将们判定为被遮挡是没有意义物所带来。误报的数量将性能损失可能超过由此带来的性能的增益。

应该使较小的对象成为被遮挡物,不是遮挡物

仅仅因即使是小型对象,也可以作某物小并不意味着它不会从遮挡剔除物从益。

使用EditorOnly标“EditorOnly”标可以创建虚拟的遮挡物

如果一个对象有“EditorOnly”标签,它不会在游戏中或运行状态下被渲染。然而,在烘焙过程中将考虑它会被视作遮挡物

image.png

我如何预览遮挡剔除的效果

在Unity 2018中,遮挡剔除影响场景相机的渲染外,如果你通过在遮挡窗口中选择可视化选项可以从相机视角观察场景中相机的角度看到遮挡剔除是如何工的实际运情况

当你选择可视化时,场景层结构将被过滤以屏蔽,带有相机组件的对象,并显示当前活动相机视角的遮挡剔除结果。你可以观察到相机使用的光线投射和光线投射对抗的低分辨率场景技术,以及它是如何确定什么哪些物体被遮挡以及在哪里,和被遮挡的具体位置

要恢复正常的场景显示只需切换遮挡窗口中的其他标签或关闭窗口即可

"烘焙"设置是什么意思?

在遮挡窗口中,有一个包含一些了若干预的选项和一段说明文本的“烘焙”部分。正如文本所指出的,你实际上不需要更改这些设置,因为它们经调整为针对速度和性能之间的良好平衡进行了优化,因此不建议随意更改

最小孔洞设置了被视为“孔洞”的几何间隙的阈值,可通过该孔洞看见外部。这个值越小,生成烘焙遮挡的时间就越长。您可以将此值设置为适合你的场景的值,理想值在0.05到0.5之间(5cm到50cm)。

最小遮挡物烘焙在计算遮挡数据将时所考虑多少细节等级。这个值越小,计算遮挡时会考虑更多的小物体,并且在运行计算可见内容时,遮挡将进行更多的计算量会更大。将此值设置为略大于平均玩家大小的值,因此大约为2-6(6米(2m到6m)。

如果你想了解更多关于它们的信息,请访问Unity博客上的这篇文章,以便更深入地解释了它们。