unity的occlusion area遮挡简述

本文介绍Unity中如何使用OcclusionCulling进行遮挡剔除,通过设置遮挡区域和遮挡物,减少无效渲染,提升游戏性能。具体步骤包括启用相机遮挡剔除,创建遮挡区域,设置遮挡物,烘焙遮挡效果。

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

Unity里面occlusion area或者叫occlusion culling,设置一块区域,区域里设置一些物体作为遮挡物,那么在该区域内被遮挡物遮住的一些物体不会被渲染,从而降低GPU和帧率损耗。occlusion culling的详细介绍可以在Unity官方帮助里面找到,我这里就简单介绍一下怎么用吧。

首先确认你的相机的“Occlusion Culling"勾选上。

打开Window——Rendering——Occlusion Culling,在右侧栏框中出现Occlusion选项卡,

然后在Occlusion选项卡里选Object——Occlusion Areas——Create New Occlusion Area,

然后Scene视口中就出现一个这样的图形并在Hierarchy中出现名为“Occlusion Area”这样一个东西,Hierarchy里的“556”和“方格阵(occlusion测试)”分别是下面测试的被遮挡物和遮挡物,

选择Hierarchy中的Occlusion Area,调整大小直至囊括遮挡物和被遮挡物,因为只有遮挡物、被遮挡物和摄像机三个都在Occlusion Area囊括的范围的遮挡才有效,所以我把Occlusion Area范围做大一点(图中半透明的区域是Occlusion Area范围),

 

点选视口中的遮挡物,在属性观察器中点Static——Occluder Static,将我的“556”物体(一块大板)设为遮挡物,将来用来遮挡“方格阵(occlusion测试)”。

在属性观察器里选Occlusion选项卡,然后在Hierarchy中点中Main Camera(其它相机也行),点Bake开始烘焙,遮挡要在运行前就烘焙好,运行时无法实时烘焙。

在Hierarchy中选中相机,在视口的“Occlusion Culling”的下拉列表中选“Visualize”,打开“Camera Volumes"、"Visibility Lines"、”Portals"可以查看遮挡的作用范围(从名字大致可以知道那些线是做什么的)。

拖动相机可以观察遮挡效果,可以看到方格阵的一些方格被遮挡住了。这里我的相机在最上面,遮挡物在中间,被遮挡的小方格在下面。

你可能会问所有的方格都被遮挡物遮住了不是应该全部小方格都不渲染(不显示)出来吗,因为这里的小方格和墙(遮挡物,下面我都叫它叫墙)不够大,Unity检测不到。你可以设置Unity检测的最小尺寸,将Bake选项卡——Smallest Occluder设小一点,再点下面的烘焙Bake,然后转到Visualization选项卡,在视口中拖动相机,这时许多小方格都不渲染了。

Byebye

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值