获得ARKit中一个点的绝对位置

问题描述 投票:3回答:1

当我点击ARKit场景中的特定点时,我得到相对于我的设备位置的点的XYZ坐标(我是对的吗?)我想知道该点的绝对位置地球,不只是相对于我的设备。

到目前为止,我的逻辑是得到设备的longitudelatitudealtitude,航向(罗盘方向)和姿态(旋转),并根据它计算点的绝对位置。

想知道是否有比这更简单的方法。

ios swift core-location core-motion arkit
1个回答
3
投票

ARKit没有任何跟踪设备位置或在“绝对”地理空间坐标中放置内容的功能。实际上这样做(并且做得很好)是一个很难的问题......但是有一些事情可以帮助你。

首先,看看ARSessionConfiguration worldAlignment设置。使用默认的gravity选项,x和z方向相对于设备的原始标题,从您开始会话时开始。从那里到地理空间坐标几乎是不可能的。

但是使用gravityAndHeading选项,轴固定为北/南和东/西 - ARKit坐标系原点的位置仍然相对于设备在会话开始时的位置,但方向是绝对的。这为您提供了转换为地理空间坐标/从地理空间坐标转换的基础。

但仍然存在精确度问题。 ARKit可以跟踪几米之外的功能,精确到几毫米。核心位置跟踪设备的精度为几米。所以,如果你有一个真实世界的功能,你想把虚拟内容放在它上面...你可以将一个纬度/经度转换为ARKit空间中的位置,但是你可能会发现你的内容没有真的排队了。

这不是一个无法解决的问题,但也不是一个简单的问题。祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.