ARKit Расстояние Y между двумя узлами - PullRequest
0 голосов
/ 25 октября 2018

Итак, я успешно обнаружил самолеты.Моя цель состоит в том, чтобы измерить расстояние по высоте между узлом камеры и обнаруженной плоскостью, когда телефон повернут ровно (повернут как плоскость (горизонтально)), но это не точный результат из-за угла телефона, то есть некоторое время он не плоский, как слегка вверх или вниз.

Вот что я попробовал.

guard let camera = self.sceneView.session.currentFrame?.camera, let plane = self.sceneView.hitTest(self.sceneView.center, types: [.existingPlaneUsingGeometry]).first else {
            return
        }


        var anchorPosition = plane.anchor?.transform.columns.3
        var cameraPosition = camera.transform.columns.3

        anchorPosition?.x = cameraPosition.x
        anchorPosition?.z = cameraPosition.z

        let cameraToAnchor = cameraPosition - (anchorPosition ?? float4())
        // and here’s just the scalar distance
        let distance = length(cameraToAnchor)

Любой может помочь мне улучшить его.Или как я могу принять во внимание поворот камеры.как плоскость поворачивается на 90 градусов по оси X. Поэтому мне нужно сопоставить это вращение с камерой, чтобы получить точное значение

...