我的相关问题很少。
1)你能在全局坐标中得到设备的位置吗?我试图使用ARFrame.camera.transform.colums.3获取此值,但看起来此列中的[X,Y,Z]总是[0,0,0]。我将此变换解释为相机与身体框架相对应的方向。有人可以解释你究竟从ARFrame.camera.transform中获得了什么吗?
2)如果我们在全局坐标中有设备(摄像机)的位置,我认为我们可以很容易地获得设备的速度。这是一个有效的陈述吗?
3)在跟踪对象时,您是否只能获得全局位置?这样,您获得相对于被跟踪物体的位置?即使相机抖动很多,我也想获得设备的速度,因此跟踪质量并不总是很好。
答案 0 :(得分:2)
是的,您可以使用ARKit制作速度表。 A few people have already.
关于更具体的问题......
ARKit没有“全局坐标”,或者可能不是您正在考虑的意义上的。相机和锚点变换使用共享参考帧(传统3D图形说法中的“世界”空间),但该参考帧仅在会话中有效:0,0,0
是您的相机/设备在会话开始时的位置
如果您在任何共享参考框架中的两个不同时间有两个位置,则这些位置之间的差异是该时间内的平均速度。
ARKit不会跟踪对象。相机变换始终与“世界”空间相关。如上所述,它在会话开始时为0,0,0
,因为参考框架基于会话。
如果你想要全球定位 - 也就是说,相对于地球 - 你应该看看核心位置。请注意,尺度和精度存在差异:GPS精确到一米或两米,但在行星规模上运行,而ARKit精确到一厘米或两厘米,但在室内尺度下运行。