World Locking Tools for Unity 中的坐标空间
海绵状空间(Spongy Space),WLT通过不断收集传感器数据,从而使海绵空间逐渐与物理空间对齐。(请注意,MRTK API位于Unity的全局空间,而不是海绵空间)
冰冻空间(Frozen Space),即海绵空间与物理空间完全对齐后,称之为冰冻空间。
锁定空间(Locked Space),即物理空间。
HoloLens移动传感器数据与实际移动距离存在±10%的误差,所以离空间大头针越远,全息影像在物理空间中的定位偏移越大。我们可以在空间放置多个空间大头针来尽量消除误差。因为WLT会根据离头盔最近的空间大头针重新对齐物理空间。详见 空间大头针。
参见源码文件 AlignmentManager.cs ,由 ReferencePoseDB 类负责信息持久化操作。空间对齐数据保存在 {Application.persistentDataPath}/Persistence/Alignment.fwb
清除保存的空间对齐信息:
WorldLockingManager.GetInstance().AlignmentManager.ClearAlignmentAnchors();
WorldLockingManager.GetInstance().AlignmentManager.SendAlignmentAnchors();
获取摄像机在海绵空间中的姿态
Pose spongyFromCamera = camera.transform.GetLocalPose();