Frustum Culling
剔除视锥体外的渲染物体,被剔除的物体不会发送给GPU渲染管线(这是 Unity 层面上的操作与 shader 中对顶点透视除法后进行的剔除不一样),Unity 默认启用这项技术。
Occlusion Culling
剔除被其他物体遮挡的,摄像机不可见(但在视锥体内)的渲染物体。使用 Occlusion Culling 需要手动设置,并在 Occlusion Culling Window 中通过 Bake 计算剔除数据。
https://docs.unity3d.com/Manual/OcclusionCulling.html
Occlusion Culling is different from Frustum Culling. Frustum Culling only disables the renderers for objects that are outside the camera’s viewing area but does not disable anything hidden from view by overdraw. Note that when you use Occlusion Culling you will still benefit from Frustum Culling.
Camera.layerCullDistances
For performance reasons, you might want to cull small objects earlier. For example, small rocks and debris could be made invisible at much smaller distance than large buildings. To do that, put small objects into a separate layer and set up per-layer cull distances using Camera.layerCullDistances script function.
https://docs.unity3d.com/ScriptReference/Camera-layerCullDistances.html
CullingGroup API
CullingGroup offers a way to integrate your own systems into Unity’s culling and LOD pipeline.The CullingGroup will calculate visibility based on frustum culling and static occlusion culling only. It will not take dynamic objects into account as potential occluders.
https://docs.unity3d.com/Manual/CullingGroupAPI.html
本文介绍了Unity中的渲染优化技术,包括视锥体剔除(Frustum Culling)和遮挡剔除(Occlusion Culling)。视锥体剔除用于剔除视锥体外的物体,而遮挡剔除则用于剔除被其他物体遮挡的部分。文章还提到了如何通过Camera.layerCullDistances来调整不同层级物体的剔除距离,并介绍了Culling Group API如何整合到Unity的剔除管线中。

5776

被折叠的 条评论
为什么被折叠?



