相关疑难解决方法(0)

如何以绝对值获得 ARAnchor 的偏航、俯仰、滚动?

几天来我一直在努力解决这个问题。

给定一个基于 ARKit 的应用程序,我可以在其中跟踪用户的面部,如何从其锚点获得面部的绝对旋转?

我可以得到 ARAnchor 的变换,它是一个 simd_matrix4x4。有很多关于如何从矩阵中获取位置的信息(它是第 3 列),但没有关于旋转的信息!

我希望能够通过传递 YAW、PITCH 和 ROLL 来控制应用程序外部的 3D 对象。

我尝试的最新一件事实际上有些作用:

let arFrame = session.currentFrame!
guard let faceAnchor = arFrame.anchors[0] as? ARFaceAnchor else { return }

let faceMatrix = SCNMatrix4.init(faceAnchor.transform)
let node = SCNNode()

node.transform = faceMatrix
let rotation = node.worldOrientation
Run Code Online (Sandbox Code Playgroud)

rotation.x .y 和 .z 有我可以使用的值,但是当我移动手机时,这些值会发生变化。例如,如果我年满 180 岁?并继续看手机,数值会根据手机的位置发生剧烈变化。

我尝试在 ARConfiguration 中更改世界对齐方式,但这并没有什么不同。

我读错了参数吗?这应该容易得多!

swift arkit

5
推荐指数
1
解决办法
1963
查看次数

ARKit中x,y和z的SCNVector3位置使用哪个测量单位

let position = SCNVector3(x: 0, y: 0, z: -2) 从原点到上述点的测量单位的距离是多少

swift arkit

3
推荐指数
1
解决办法
1219
查看次数

标签 统计

arkit ×2

swift ×2