【Unity项目优化宝典】Unity场景遮挡剔除

欢迎加入Unity业内qq交流群:956187480

实现如下图:

移动相机,在相机的视锥范围内GPU就会渲染出场景,而在相机视锥范围外以及被遮挡的场景GPU就不会渲染出来

一.搭建有大小差异的场景

1.新建不同的物体,摆放位置要有层次,大小要有差异

2.打开 window>OcclusionCulling>Object 创建OcclusionAreas,类似碰撞框,区域要涵盖搭建的场景

3.设置场景物体静态,最好手动勾选

二.设置参数,烘焙场景

1.设置Back面板的cans参数

2.烘焙场景

Smallest Occluder:设置最小遮挡物的尺寸,当遮挡物的长度或者宽大于设定值时,该物体才能够遮挡住后面的物体。 Smallest Hole:设置最小孔的尺寸,当穿过物体内部的孔或者多个物体堆叠形成的孔的大小小于设定的值时,遮挡剔除烘焙将忽略该孔的存在。 
Backface Threshold:设置背面移除阈值,用于优化场景,当该值为100时,摄像机拍摄不到的背面信息也会完整保留;当该值较小时,系统将对背面信息进行优化甚至去掉背景信息。

遮挡区域,用于场景较大而摄像机运动范围相对较小的情况。为摄像机活动的区域设置Occlusion Area,可以减少烘焙的数量,从而节约烘焙时间。可以在未选中场景中物体的情况下,在Occlusion面板的Occlusion Area选项夹下点击Create New后的Occlusion Area,并可以在场景中调整其位置和大小。当需要进行遮挡剔除的区域被覆盖之后就可以对其进行烘焙。在此区域内可以对静态和动态的物体进行遮挡剔除。

三.查看效果

1.选中Occlusion>Visualization>All或者Camera

2.调整相机的位置,即可在scene视图看到效果

3.注意:使用Occlusion Culling需要预先烘培好运行时所需的场景数据。Occlusion Culling相关数据无法动态实时生成。


欢迎加入Unity业内qq交流群:956187480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值