你能用ARKit获得目前的速度吗?

时间:2017-10-03 04:09:55

标签: ios swift arkit

我的相关问题很少。

1)你能在全局坐标中得到设备的位置吗?我试图使用ARFrame.camera.transform.colums.3获取此值,但看起来此列中的[X,Y,Z]总是[0,0,0]。我将此变换解释为相机与身体框架相对应的方向。有人可以解释你究竟从ARFrame.camera.transform中获得了什么吗?

2)如果我们在全局坐标中有设备(摄像机)的位置,我认为我们可以很容易地获得设备的速度。这是一个有效的陈述吗?

3)在跟踪对象时,您是否只能获得全局位置?这样,您获得相对于被跟踪物体的位置?即使相机抖动很多,我也想获得设备的速度,因此跟踪质量并不总是很好。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用ARKit制作速度表。 A few people have already.

关于更具体的问题......

  1. ARKit没有“全局坐标”,或者可能不是您正在考虑的意义上的。相机和锚点变换使用共享参考帧(传统3D图形说法中的“世界”空间),但该参考帧仅在会话中有效:0,0,0是您的相机/设备在会话开始时的位置

  2. 如果您在任何共享参考框架中的两个不同时间有两个位置,则这些位置之间的差异是该时间内的平均速度。

  3. ARKit不会跟踪对象。相机变换始终与“世界”空间相关。如上所述,它在会话开始时为0,0,0,因为参考框架基于会话。

  4. 如果你想要全球定位 - 也就是说,相对于地球 - 你应该看看核心位置。请注意,尺度和精度存在差异:GPS精确到一米或两米,但在行星规模上运行,而ARKit精确到一厘米或两厘米,但在室内尺度下运行。