边界系统支持在混合现实应用程序中可视化虚拟现实边界组件。 边界定义了用户在佩戴 VR 头戴显示设备时可以安全四处移动的区域。 边界是混合现实体验的重要组成部分,可帮助用户在佩戴 VR 头戴显示设备时避免看不见的障碍。
许多虚拟现实平台提供自动显示,例如,当用户或其控制器靠近边界时,虚拟世界中叠加的白色轮廓。 混合现实 Toolkit 的边界系统扩展了此功能,以允许显示跟踪区域、地面平面的轮廓以及可用于向用户提供其他信息的其他功能。
入门
添加对边界的支持需要混合现实工具包的两个关键组件:边界系统和配置了边界的虚拟现实平台。
启用边界系统
边界系统由 MixedRealityToolkit 对象 (或其他 服务注册器 组件) 管理。
以下步骤假定使用 MixedRealityToolkit 对象。 其他服务注册机构所需的步骤可能有所不同。
在场景层次结构中选择 MixedRealityToolkit 对象。
将“检查器”面板导航到“边界系统”部分,检查“启用”
选择“边界系统”实现。 MRTK 提供的默认类实现是
MixedRealityBoundarySystem
注意
所有边界系统实现都必须扩展 IMixedRealityBoundarySystem
配置边界可视化效果
边界系统使用配置文件来指定要显示的边界组件以及配置其外观。
注意
默认配置文件 DefaultMixedRealityBoundaryVisualizationProfile
(Assets/MRTK/SDK/Profile) 的用户将预先配置边界系统以显示地面平面、游戏区和跟踪区域。
生成和部署
使用所需的可视化选项配置边界系统后,可以生成项目部署到目标平台。
注意
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();