包含此页的版本:
不含此页的版本:
遮挡剔除是一个阻止 Unity 执行渲染计算的过程游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表被其他游戏对象完全隐藏(遮挡)的视图。
每一帧,摄像机用于在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表执行剔除作,以检查场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表并排除(剔除)那些不需要绘制的。默认情况下,摄像机执行视锥体剔除,这会排除所有不属于摄像机视锥体的渲染器。但是,视锥体剔除不会检查渲染器是否被其他游戏对象遮挡,因此 Unity 仍会将 CPU 和 GPU 时间浪费在渲染器上,这些渲染器在最终帧中不可见。遮挡剔除会阻止 Unity 执行这些浪费的作。
要确定遮挡剔除是否可能提高项目的运行时性能,请考虑以下事项:
遮挡剔除在 Unity 编辑器中生成有关场景的数据,然后在运行时使用该数据来确定摄像机可以看到的内容。生成数据的过程称为烘焙。
当您烘焙遮挡剔除数据时,Unity 会将场景划分为多个单元格,并生成描述单元内几何体以及相邻单元之间的可见性的数据。然后,Unity 会尽可能合并单元格,以减小生成数据的大小。要配置烘焙过程,你可以在 遮挡剔除(Occlusion Culling) 窗口中更改参数,并在场景中使用 遮挡区域(Occlusion Areas)。
在运行时,Unity 将此烘焙数据加载到内存中,对于每个启用了 Occlusion Culling 属性的摄像机,它会对数据执行查询,以确定该摄像机可以看到的内容。请注意,启用遮挡剔除后,摄像机会同时执行视锥体剔除和遮挡剔除。