Unity 用户手册 (2019.4 LTS)
图形
摄像机
遮挡剔除
开始使用遮挡剔除
遮挡剔除
对动态游戏对象使用遮挡剔除
开始使用遮挡剔除
本页介绍如何设置场景以进行遮挡剔除、烘焙遮挡剔除数据以及对结果进行可视化。
设置场景
在开始之前,请确定场景中所有要设定为静态遮挡物 (Static Occluder)(这些游戏对象不会移动,但会阻挡后面的游戏对象)和静态被遮挡物 (Static Occludee)(这些游戏对象不会移动,但会被静态遮挡物遮挡)。一个游戏对象可以同时是静态遮挡物和静态被遮挡物。
适合作为静态遮挡物的游戏对象包括中型到大型的实体游戏对象(例如墙壁或建筑物)。要被设定为静态遮挡物,游戏对象必须满足以下条件:
具有 Terrain 或 Mesh Renderer 组件
不透明
在运行时不移动
请注意,如果使用了 LOD 组,则 Unity 会使用静态遮挡物的基础细节级别游戏对象 (LOD0) 来确定要遮挡的对象。如果游戏对象的轮廓在 LOD0 和其他 LOD 级别之间变化很大,这个游戏对象可能不适合设定为静态遮挡物。
任何可能在运行时被遮挡的游戏对象都适合设定为静态被遮挡物,包括小的或透明的游戏对象。要被设定为静态被遮挡物,游戏对象必须满足以下条件:
具有任何类型的 Renderer 组件
在运行时不移动
确定了要设定为静态遮挡物和静态被遮挡物的游戏对象之后,便可以设置场景。
选择要设定为静态遮挡物的所有游戏对象。
在 Inspector 窗口中,打开 Static Editor Flags 下拉菜单,然后选择 Occluder Static。
选择要设定为静态被遮挡物的所有游戏对象。
在 Inspector 窗口中,打开 Static Editor Flags 下拉菜单,然后选择 Occludee Static。
将一个摄像机添加到场景中并选择该摄像机,或者选择一个现有摄像机。
在 Inspector 窗口中,确保启用了摄像机的 Occlusion Culling 属性。
烘焙数据
遮挡剔除检视面板 Bake 选项卡。
在顶部菜单中,选择 Window > Rendering > Occlusion Culling 以打开 Occlusion Culling 窗口。
选择 Bake 选项卡。
在 Inspector 窗口的右下角,按 Bake 按钮。Unity 会生成遮挡剔除数据,将数据另存为项目中的资源,并将该资源与当前场景关联。
对结果进行可视化
Occlusion Culling 窗口的 Visualization 选项卡。
确保 Occlusion Culling 窗口和 Scene 视图均为可见状态。当 Occlusion Culling 窗口可见时,Unity 在 Scene 视图中显示遮挡剔除数据和 Occlusion Culling 弹出窗口。
在场景中选择一个摄像机。
移动摄像机,观察 Scene 视图。当由于视锥体剔除或遮挡剔除而导致摄像机无法看到游戏对象时,您应该会看到游戏对象从视图中消失。
使用 Scene 视图中的 Occlusion Culling 弹出窗口来配置可视化设置。
如果需要,请调整 Occlusion Culling 窗口的 Bake 选项卡中的烘焙设置,然后重复烘焙过程。
如果使用的是内置渲染管线,则可以使用 Scene 视图模式 Overdraw_ 来查看正在发生的过度绘制数量,并可以使用 Game 视图中的 Stats 面板来查看 Unity 正在渲染的三角形、顶点和批处理数量。
遮挡剔除
对动态游戏对象使用遮挡剔除