什么是Occlusion Culling(遮挡剔除)
当一个物体被其他物体遮挡住而不在摄像机的可视范围内时不对其进行渲染。
在绝大多数情况下离 camera 最远的物体首先被渲染,靠近摄像机的物体后渲染并覆盖先前渲染的物体(这被称为重复渲染"overdraw")。
注意区分:遮挡剔除!=视锥体剔除.
视锥体剔除(Frustum Culling)只是不渲染摄像机视角范围外的物体,而对于被其他物体遮挡但依然在视角范围内的物体,则不会被剔除。
Occlusion Culling原理
遮挡剔除的运行将通过在场景中使用一个虚拟的摄像机来创建一个物体潜在可视性状态(set)的层级。这些数据可以实时让每个摄像机来确定什么能看见什么看不见。通过这些数据,Unity 将确定只把可以看见的物体送去渲染。这将降低绘制调用(draw calls) 的数量并增加 游戏的运行效率。
非常重要的一点是在创建你的物体时要随时注意,因为你需要在物体的大小和单元格的大小间取得一个好的平衡.。理想情况下,不应该有相比于物体太小的单元格,但同样,物体不应该覆盖许多单元格。
如何设置Occlusion Culling
step1:将对象调整静态标识。
step2:设置Bake选项卡。