边界系统概述 - MRTK2
边界系统为在混合现实应用程序中可视化虚拟现实边界组件提供支持。 边界定义了用户在佩戴 VR 头戴显示设备时可在其中安全移动的区域。 边界是混合现实体验的重要组成部分,可帮助用户在佩戴 VR 头戴显示设备时避免遇到看不见的障碍。
许多虚拟现实平台提供了自动显示,例如,当用户或其控制器接近边界时,虚拟世界上会叠加白色轮廓。 混合现实工具包的边界系统扩展了此功能,以允许显示所跟踪区域的轮廓、楼层平面和可用于向用户提供附加信息的其他功能。
使用入门
添加对边界的支持需要混合现实工具包的两个关键组件:边界系统和配置有边界的虚拟现实平台。
启用边界系统
边界系统由 MixedRealityToolkit 对象(或另一个服务注册器组件)管理。
以下步骤假设使用的是 MixedRealityToolkit 对象。 其他服务注册器所要执行的步骤可能不同。
在场景层次结构中选择 MixedRealityToolkit 对象。
在检查器面板中导航到“边界系统”部分,并选中“启用”
选择边界系统实现。 MRTK 提供的默认类实现为
MixedRealityBoundarySystem
注意
所有边界系统实现都必须扩展 IMixedRealityBoundarySystem
配置边界可视化
边界系统使用配置的配置文件来指定要显示的边界组件并配置其外观。
注意
默认配置文件 DefaultMixedRealityBoundaryVisualizationProfile
(资产/MRTK/SDK/配置文件)的用户会将边界系统预配置为显示楼面平面、播放区域和跟踪区域。
构建和部署
在边界系统配置了所需的可视化选项后,就可以构建项目,将其部署到目标平台。
注意
Unity 播放模式启用已配置边界的编辑器内可视化。 使用此功能可以快速进行开发和测试,而无需执行生成和部署步骤。 确保使用在目标硬件和平台上运行的应用程序生成和部署版本进行最终验收测试。
通过代码访问边界系统
如果启用并配置,则可以通过 CoreServices 静态帮助程序类访问边界系统。 然后,可以使用该引用动态更改边界参数,并访问由系统管理的相关 Gameobject。
// Hide Boundary Walls at runtime
CoreServices.BoundarySystem.ShowBoundaryWalls = false;
// Get Unity GameObject for the floor visualization in scene
GameObject floorVisual = CoreServices.BoundarySystem.GetFloorVisualization();