3. 如何为遮挡剔除设置场景
默认情况下,Unity会将整个场景放入一个称为视图体积的大空间块中。
如果你通过在场景中放置一个划定特定的遮挡区域,Unity将只为该空间我们可以让 Unity 仅在这些区域内部计算进行遮挡数据的计算,这可以使从而大幅降低所需处理的遮挡数据大大减小量。如果你您的场景被划分割成多个为若干独立区域块,考虑您可以使用遮挡区域来覆盖它们这些区块,而不是非让Unity计算Unity对整个场景作统一处理,这将会是一种更为一个大体积高效的方法。
你您可以从在对象的静态标志签或遮挡窗口中进行遮挡剔除的设置。
遮挡剔除的简单推荐设置
只有体积大的
、实体的东西该是对象才适合作为遮挡物
这是一个简单的经验法则。如果它若物体尺寸小,或、透明,度较高或者有存在空洞,它就则不应该是适合作为遮挡物。例如,树木不应该是作为遮挡物,因为它们有其叶子,这些叶子片会创建形成许多微小的洞空隙,这些洞无法空隙难以通过遮挡来表示。剔除准确计算;同样,边缘结构复杂的边缘是对象也不好的适宜作为遮挡物。
如果它总是对于始终处于可见状态的对象,不要使无需将其成为纳入被遮挡物的范畴。
例如果你有一个,天空盒或由巨大片平面构组成的海洋等,让将其纳入遮挡剔除并无实际意义,而且错误地将它们判定为被遮挡是没有意义物所带来的。误报的数量将性能损失可能超过由此带来的性能的增收益。
应该使较小的对象成为被遮挡物,
但而不是遮挡物。
仅仅因即使是小型对象,也可以作为某物小并不意味着它不会从被遮挡剔除物从中受获益。
使用
EditorOnly标“EditorOnly”标签来可以创建假虚拟的遮挡物。
如果一个对象有“EditorOnly”标签,它不会在游戏中或运行状态下被渲染。然而,在烘焙过程中它仍将考虑它会被视作遮挡物。
我如何预览遮挡剔除的效果?
在Unity 2018中,遮挡剔除将影响场景相机的渲染。除此之外,如果你通过在遮挡窗口中选择可视化选项,你可以从相机视角观察场景中相机的角度看到遮挡剔除是如何工的实际运作的情况。
当你选择可视化此时,场景层次级结构将被过滤以屏蔽,仅显展示带有含相机组件的对象,并显示和当前活动相机视角下的遮挡剔除结果。你可以看观察到相机所使用的光线投射和光线投射对抗的低分辨率场景技术,以及它是如何确定什么哪些物体被遮挡以及在哪里,和被遮挡的具体位置。
若要恢复正常的场景显示,请只需切换到至遮挡窗口中的其他标签或关闭它窗口即可。
"烘焙"设置是什么意思?
在遮挡窗口中,有一个包含一些了若干预设置的选项和一块段说明文本的“烘焙”部分。正如文本所指出的,你实际上不需要更改这些设置,因为它们已经调整为针对速度和性能之间的良好平衡进行了优化,因此不建议随意更改。
最小孔洞设置了被视为“孔洞”的几何间隙的阈值,可以通过该孔洞看到见外部。这个值越小,生成烘焙遮挡的时间就越长。您可以将此值设置为适合你的场景的值,理想值在0.05到0.5之间(5cm到50cm)。
最小遮挡物设置定了烘焙在计算遮挡数据将时所考虑多少的细节等级。这个值越小,计算遮挡时会考虑更多的小物体,并且在运行时计算可见内容时,遮挡将进行更多的计算量会更大。将此值设置为略大于平均玩家大小的值,因此大约为2-6(6米(2m到6m)。
如果你想了解更多关于它们的信息,请访问Unity博客上的这篇文章,以便更深入地解释了它们。