Как преобразовать координаты камеры в координатное пространство сцены? - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь найти координаты Камеры в сцене, которую я сделал, но я получаю координаты в другой системе. Координаты, такие как (0.0134094329550862, что примерно равно 1cm в системе координат сцены при перемещении больше этого.

Я делаю это, чтобы получить координаты:

let cameraCoordinates = self.sceneView.pointOfView?.worldPosition

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

1 Ответ

0 голосов
/ 21 сентября 2018

Так я нашел координаты камеры и ее ориентацию.

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))
}
...