Unity3D:遮挡入口
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
遮挡入口
遮挡入口 (Occlusion Portal) 可以是打开或关闭状态。遮挡入口关闭时,它将遮挡其他游戏对象。遮挡入口打开时,它不会遮挡其他游戏对象。
如果场景中有一个处于打开和关闭状态的游戏对象(例如门),可以创建一个在遮挡剔除系统中表示该游戏对象的遮挡入口。然后,可以根据该游戏对象的状态来设置遮挡入口的打开状态。无需将 Occlusion Portal 组件置于其表示的游戏对象上。
在场景中设置遮挡入口
- 选择场景中的合适游戏对象来充当遮挡入口。适合作为遮挡入口的游戏对象包括中型到大型的实体游戏对象(例如门)。
- 确保未将此游戏对象标记为 Occluder Static 或 Occludee Static。
- 将 Occlusion Portal 组件添加到游戏对象。
- 烘焙场景的遮挡数据。请参阅开始使用遮挡剔除以了解相关说明。
- 确保 Occlusion Culling 窗口、Inspector 面板和 Scene 视图均为可见状态。
- 在 Scene 视图中,将摄像机移至遮挡入口正前方的位置。
- 选择具有 Occlusion Portal 组件的游戏对象。
- 在 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 | 定义遮挡入口的大小。 |
由3D建模学习工作室整理翻译,转载请注明出处!