Version: 2023.2
遮挡区域
Occlusion Culling 窗口

遮挡入口

遮挡入口 (Occlusion Portal) 可以是打开或关闭状态。遮挡入口关闭时,它将遮挡其他游戏对象。遮挡入口打开时,它不会遮挡其他游戏对象。

如果场景中有一个处于打开和关闭状态的游戏对象(例如门),可以创建一个在遮挡剔除系统中表示该游戏对象的遮挡入口。然后,可以根据该游戏对象的状态来设置遮挡入口的打开状态。无需将 Occlusion Portal 组件置于其表示的游戏对象上。

在场景中设置遮挡入口

  1. 选择场景中的合适游戏对象来充当遮挡入口。适合作为遮挡入口的游戏对象包括中型到大型的实体游戏对象(例如门)。
  2. 确保未将此游戏对象标记为 Occluder Static 或 Occludee Static。
  3. Occlusion Portal 组件添加到游戏对象。
  4. 烘焙场景的遮挡数据。请参阅开始使用遮挡剔除以了解相关说明。
  5. 确保 Occlusion Culling 窗口、Inspector 面板和 Scene 视图均为可见状态。
  6. 在 Scene 视图中,将摄像机移至遮挡入口正前方的位置。
  7. 选择具有 Occlusion Portal 组件的游戏对象。
  8. 在 Inspector 窗口中,开启和关闭 Occlusion Portal 组件的 Open 属性。在 Scene 视图中,观察遮挡剔除的差异。

在运行时打开和关闭遮挡入口

使用脚本将 Occlusion Portal 组件的 open 属性设置为所需状态。

void OpenDoor() {
     // Toggle the Occlusion Portal's open state, so that Unity renders the GameObjects behind it
    myOcclusionPortal.open = true;
    
    // Call a function that plays a door opening animation, or otherwise hides the GameObject
    …
}

Occlusion Portal 组件参考

属性: 功能:
Open 如果启用此属性,遮挡入口将打开并且不会遮挡渲染器。如果禁用此属性,遮挡入口将关闭并且会遮挡渲染器。
Center 设置遮挡入口的中心。默认值为 0,0,0。
Size 定义遮挡入口的大小。

OcclusionPortal

遮挡区域
Occlusion Culling 窗口