MRTK World Locking Tools 源码分析

作者:追风剑情 发布于:2023-9-21 14:01 分类:Unity3d

1、坐标空间

World Locking Tools for Unity 中的坐标空间

海绵状空间(Spongy Space),WLT通过不断收集传感器数据,从而使海绵空间逐渐与物理空间对齐。(请注意,MRTK API位于Unity的全局空间,而不是海绵空间)

冰冻空间(Frozen Space),即海绵空间与物理空间完全对齐后,称之为冰冻空间。

锁定空间(Locked Space),即物理空间。

2、空间大头针

HoloLens移动传感器数据与实际移动距离存在±10%的误差,所以离空间大头针越远,全息影像在物理空间中的定位偏移越大。我们可以在空间放置多个空间大头针来尽量消除误差。因为WLT会根据离头盔最近的空间大头针重新对齐物理空间。详见 空间大头针

3、空间对齐持久化

参见源码文件 AlignmentManager.cs ,由 ReferencePoseDB 类负责信息持久化操作。空间对齐数据保存在 {Application.persistentDataPath}/Persistence/Alignment.fwb

清除保存的空间对齐信息:
WorldLockingManager.GetInstance().AlignmentManager.ClearAlignmentAnchors();
WorldLockingManager.GetInstance().AlignmentManager.SendAlignmentAnchors();

获取摄像机在海绵空间中的姿态
Pose spongyFromCamera = camera.transform.GetLocalPose();

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号