ARKit постоянно получает положение камеры в реальном мире - PullRequest
0 голосов
/ 27 мая 2020

Это первый раз, когда я создаю приложение ARKit, а также не очень знаком с разработкой iOS, однако я пытаюсь достичь чего-то относительно простого ...

Все, что нужно приложению, do - это получить положение телефона в мире и постоянно отправлять его в api отдыха.

Я использую проект ARKit по умолчанию в Xcode и могу получить положение телефона с помощью следующей функции в ViewController.swift :

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {

        if let planeAnchor = anchor as? ARPlaneAnchor {

            let plane = SCNPlane(width: CGFloat(planeAnchor.extent.x), height: CGFloat(planeAnchor.extent.z))
            plane.firstMaterial?.diffuse.contents = UIColor(white: 1, alpha: 0.75)

            let planeNode = SCNNode(geometry: plane)
            planeNode.position = SCNVector3Make(planeAnchor.center.x, planeAnchor.center.x, planeAnchor.center.z)
            planeNode.eulerAngles.x = -.pi / 2

            node.addChildNode(planeNode)
        }


        guard let pointOfView = sceneView.pointOfView else { return }
        let transform = pointOfView.transform
        let orientation = SCNVector3(-transform.m31, -transform.m32, transform.m33)
        let location = SCNVector3(transform.m41, transform.m42, transform.m43)
        let currentPositionOfCamera = SCNVector3(orientation.x + location.x, orientation.y + location.y, orientation.z + location.z)
        print(currentPositionOfCamera)


    }

эта функция работает должным образом, in отображает плоскость в представлении и печатает позицию, но только один раз

Мне нужно получить положение телефона при его перемещении я попытался добавить: updateAtTime time: NSTimeInterval в определение функции, но после этого даже плоскость больше не отображалась.

Как я могу постоянно получать вектор положения телефона?

TIA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...