射线大头针示例
随附视频
请参阅此随附视频操作中的应用程序,了解一些上下文。
相关示例
空间大头针示例演示了通过使用 MRTK 提供将标记物体手动操作到位置来设置空间大头针。 关于空间大头针功能的更抽象的讨论也是此示例的相关背景。
此示例不是手动操作物体,而是使用射线将测试投射到空间重构网格上以设置世界对齐。
值得注意的是,此示例还会通过脚本创建所有必需的 World Locking Tools 组件,而不需要在编辑器中设置资产。
场景内容
RayPin 场景中有八个空间大头针虚拟标记物体。 其中四个物体是楼层,分别位于正方形的东北角、东南角、西北角和西南角,每边四平方米。
另外四个大头针有一米高,表明它们是墙上相距六米的点。
生成示例
示例需要 SpatialPerception 功能。 声音命令还需要使用麦克风功能。
运行示例
物理设置
找一个有一定间隙的物理空间。 将地板和墙壁上的标记放置在与场景中的虚拟标记相同的间距处。 不需要为每个虚拟标记创建物理标记。
使用对应虚拟标记的名称(例如“NW”)标记物理标记或绘制带有标记位置的地图,这会很有帮助。
应用设置
构建 RayPin 场景并将其部署到设备。
运行应用
启动
在启动时,坐标系基于头部位置,而虚拟网格和标记放置是任意的。
第一个标记
在单选选项上,选取房间中有对应物理标记的一个标记。 单击房间中的物理标记。 场景将会移动,以将选定的虚拟标记与射线命中的物理标记对齐。
如果不满意对齐结果(例如由于在选择时出现滑动),只需重复选择,还是选中相应的单选按钮,直到实现令人满意的对齐结果为止。
第二个标记
移至房间中的另一个物理标记,并在单选选项中选择其虚拟标记。 单击该物理标记。 网格和标记现在将进行旋转,以与已对齐的两个标记对齐。
更多标记
当用户靠近放置的前两个大头针中的任何一个时,物理标记和虚拟标记之间的对齐应该非常接近。
然而,对于其他标记,物理标记和虚拟标记之间可能存在明显的错位。 出现此情况的原因有很多,但主要是因为物理标记放置位置不精确或者跟踪误差。
对于放置在房间中的任何其他物理标记,请重复单选选项和虚拟标记的射线命中放置。 在此放置过程之后,任何此类标记在靠近它时都应显示出良好的对齐效果。
验证
物理卷尺可用于验证标记之间的内插对齐。 网格线间隔一米,线宽一厘米。
持久性
由于在 RayPin 场景中的 WorldLockingContext 上启用了 AutoSave 和 AutoLoad,因此在将内容对齐到物理房间并退出应用后,再次运行应用程序时,虚拟网格和标记将恢复与物理房间的对齐。
若要清除对齐并重新开始,请选择“重置”单选按钮,或卸载并重新安装应用程序。