首页 > 解决方案 > ARKit 电平测量

问题描述

我想知道如何像 iOS 12 Measure 应用程序那样使用 ARKit 创建水平测量应用程序。

我正在寻找过去 1 周的解决方案或想法。我看过很多视频和教程,但我不知道该怎么做。

我认为pointOfView代表相机的 ARSceneview 节点可以用来做它,就像可以得到eulerAngles并做某事,但我无法弄清楚。

请任何帮助或建议将不胜感激。我请求你不要关闭这个问题。

标签: iosswiftarkit

解决方案


为了获得电话的水平值,我建议使用self.sceneView.pointOfView?.orientation(如果您只想要此 SCNVector 中的 3 个值之一,只需添加.x.y.z最后)。

例如,如果我将手机完全直立,则值self.sceneView.pointOfView?.orientation.x将约为 0。同样,将其倒置将给出约 1 或 -1 的值。

您可以使用这些值来确定手机在所有三个轴上的水平,并将它们转换为度数。

我建议将以下代码放在一个项目中,并通过一个按钮或一个不断运行它的循环来触发它,并观察值如何变化。希望这会有所帮助。(请注意,它sceneView会替换为您的 ARKit SceneView 的名称。)

print(self.sceneView.pointOfView?.orientation.x)
print(self.sceneView.pointOfView?.orientation.y)
print(self.sceneView.pointOfView?.orientation.z)

推荐阅读