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