Unity Culling 相关技术

本文介绍了Unity中的渲染优化技术,包括视锥体剔除(Frustum Culling)和遮挡剔除(Occlusion Culling)。视锥体剔除用于剔除视锥体外的物体,而遮挡剔除则用于剔除被其他物体遮挡的部分。文章还提到了如何通过Camera.layerCullDistances来调整不同层级物体的剔除距离,并介绍了Culling Group API如何整合到Unity的剔除管线中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值