Unity笔记——遮挡剔除

遮挡剔除简介

当一个物体被其他物体遮挡且不在摄像机的可视范围之内时,对其不进行渲染。

遮挡剔除可以降低被渲染对象的个数,从而降低每帧渲染时间。


遮挡剔除的使用方法

Step1:设置场景中会遮挡其他物品的物品

Step2:设置场景中需要做可见性查询的物品,确定哪些物品可能被挡住

Step3:烘焙遮挡剔除数据,运行测试时使用


编辑器中需要首先开启Occlusion Culling窗口,如下图:



1、设置对象物品为遮挡物或者被遮挡物 如下图



1)遮挡物

    通过勾选一个对象的Occluder Static可将其设置为静态遮挡物。理想的遮挡物应该是实心的,体积较大的物体。

注意:1、可能阻挡到其他对象的对象才应该被设置成遮挡物 2、远景不要设置,影响效率 3、半透明物体不应该设置为遮挡物

    4、带孔的可以不设置

2)被遮挡物

 通过勾选一个对象的Occludee Static可将其设置为静态被遮挡物。

注意:被遮挡物理想状态下应该是体积较小的。


2、烘焙



1)Smallest Occluder

    场景内最小遮挡物尺寸。设置过大会导致剔除成功率下降,过小会有性能问题。

2)Smallest Hole

    场景中有带孔的物体需要被视线穿透,那么就要把Smallest Hole的值小于直径

3)Backface threshold

    为了减少剔除数据大小。


3、遮挡剔除的验证


1)烘焙进行完成后,可以在Bake页面最下方查看遮挡剔除数据大小。遮挡剔除结果可以在Scene窗口实时查看。

2)记得选中visualization页面中选中摄像机,勾选他的Occlusion Culling选项。

猜你喜欢

转载自blog.csdn.net/sorski_cao/article/details/80521013
今日推荐