Version: Unity 6.0 (6000.0)
语言 : 中文
创建高精度遮挡区域
遮挡剔除窗口参考

使用遮挡入口控制区域的遮挡

Switch to Scripting

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

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

在场景中设置遮挡入口

  1. 在场景 (Scene) 中选择一个合适的游戏对象作为遮挡入口 (Occlusion Portal)。适合作为遮挡入口 (Occlusion Portal) 的良好游戏对象包括中型到大型的实体游戏对象(例如门)。
  2. 确保未将此游戏对象标记为 Occluder Static 或 Occludee Static。
  3. 将__遮挡入口 (Occlusion Portal)__ 组件添加到游戏对象。
  4. 烘焙场景的遮挡数据。有关说明,请参阅开始使用遮挡剔除
  5. 确保遮挡剔除 (Occlusion Culling) 窗口、检视面板 (Inspector) 面板和场景 (Scene) 视图均为可见状态。
  6. 在场景 (Scene) 视图中,将摄像机 (Camera) 移至遮挡入口 (Occlusion Portal) 正前方的位置。
  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 组件参考

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

OcclusionPortal

创建高精度遮挡区域
遮挡剔除窗口参考