Unity性能优化-遮挡剔除
以下转载于:https://blog.csdn.net/adamwu1988/article/details/55253138
camera剔除主要是把不需要渲染的物体提前剔除 不送去gpu渲染 减少dc、渲染tris。消耗cpu来减轻gpu的压力。
主要用三种形式Frustum Culling(视锥体剔除)、Occlusion Culling(遮挡剔除)、layerCullDistances(远近剔除)。
1、Frustum Culling
视锥体剔除是用camera的frustum matrix剔除不该显示的物体,简单的说就是camera后面的物体不显示。unity默认开启。
2、Occusion Culling
遮挡剔除,顾名思义,就是把被遮住的物体剔除掉。unity里需设置遮挡标识(occluder flag)。
3、layerCullingDistance
远近剔除,就是把超过一定距离的物体剔除掉,设置方法:
float[] distances = new float[32];
distances[LayerMask.NameToLayer(“grass”)] = 50;
camera.layerCullSpherical = true;
camera.layerCullDistances = distances;
当物体离开视线超过50m后,物体就会消失。一般用来设置小的物体。
遮挡剔除使用帮助
https://gameinstitute.qq.com/community/detail/101996
https://blog.csdn.net/leeby100/article/details/94373878
https://blog.csdn.net/yangxuan0261/article/details/91345209
用InstantOC(使用射线)检测物体插件使用