unity中的内存优化(遮罩剔除)

时间:2024-04-08 17:15:47

在一个较为复杂的游戏中,资源的内存占用约占据着总体内存的70%左右。因此,好不夸张的说,资源使用的合理与否直接决定了游戏的内存的占用情况,直接体现在游戏的流畅性上。
在这篇博客中 简单介绍一下遮罩剔除 这是unity提供的一种很好的方法

所谓遮罩剔除 就是摄像头之外的东西不做渲染 节省内存 摄像头之内的东西渲染出来 然后动态监测摄像头范围内的物体的变化

1.遮罩剔除操作

首先创建一个很多物体的场景,为了待会更好观察CPU的变化
unity中的内存优化(遮罩剔除)
然后创建一个空物体(Occlusion Area) 添加Occlusion Area组件 改变组件的大小 让场景中所有物体包含在这个范围内

然后改变所有物体的static值 一共是两个 一个是Occluder Static (静态遮挡物)一个是Occuludee Static(静态被遮挡物)

从window窗口中找到Rendering中的Occlusion窗口
然后设置相关设置
unity中的内存优化(遮罩剔除)
unity中的内存优化(遮罩剔除)
然后在Bake面板中选择刚刚创建的 Occlusion Area物体 点击Bake开始渲染 等渲染完成后就成功了
然后在unity中的内存优化(遮罩剔除)
中选择Visualize选项即可观察到变化
unity中的内存优化(遮罩剔除)
在scene面板可观察到不在摄像机范围内或者相互遮挡的物体是不显示的
我们可以在unity中的Profiler面板中观察内存的消耗(我也不太会)
那就这样 这篇博客就这么多 希望能帮助到大家