Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将摄像机坐标转换为场景的坐标空间?_Ios_Swift_Scenekit_Augmented Reality_Arkit - Fatal编程技术网

Ios 如何将摄像机坐标转换为场景的坐标空间?

Ios 如何将摄像机坐标转换为场景的坐标空间?,ios,swift,scenekit,augmented-reality,arkit,Ios,Swift,Scenekit,Augmented Reality,Arkit,我试图在我制作的场景中找到摄像机的坐标,但最终得到的坐标是另一个系统中的坐标。坐标,例如(0.0134094329550862,在场景坐标系中约为1cm,但移动距离超过1cm 我这样做是为了得到坐标: let cameraCoordinates = self.sceneView.pointOfView?.worldPosition self.POSx = Double((cameraCoordinates?.x)!) self.POSy = Double((cameraCoordinates?

我试图在我制作的场景中找到摄像机的坐标,但最终得到的坐标是另一个系统中的坐标。坐标,例如(
0.0134094329550862
,在场景坐标系中约为
1cm
,但移动距离超过1cm

我这样做是为了得到坐标:

let cameraCoordinates = self.sceneView.pointOfView?.worldPosition

self.POSx = Double((cameraCoordinates?.x)!)
self.POSy = Double((cameraCoordinates?.y)!)
self.POSz = Double((cameraCoordinates?.z)!)

这就是我找到相机坐标和方向的方法

func getUserVector() -> (SCNVector3, SCNVector3) {
    if let frame = self.sceneView.session.currentFrame {
        let mat = SCNMatrix4(frame.camera.transform)
        let dir = SCNVector3(-1 * mat.m31, -1 * mat.m32, -1 * mat.m33)
        let pos = SCNVector3(mat.m41, mat.m42, mat.m43)
        return (dir, pos)
    }
    return (SCNVector3(0, 0, -1), SCNVector3(0, 0, -0.2))
}