ARKit Измерение уровня - PullRequest
       9

ARKit Измерение уровня

0 голосов
/ 12 октября 2018

Интересно, как создать приложение для измерения уровня с ARKit, как это делает приложение iOS 12 Measure.

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

Я думаю, что pointOfView узел ARSceneview, представляющий камеру, может использоваться для этого, как может получить eulerAngles и сделать что-то, но я не могу понять.

Пожалуйсталюбая помощь или предложение будут оценены.Я прошу вас, пожалуйста, не закрывайте этот вопрос.

1 Ответ

0 голосов
/ 12 октября 2018

Для получения значения уровня телефона, я бы рекомендовал использовать self.sceneView.pointOfView?.orientation (если вам нужно только одно из 3 значений из этого SCNVector, просто добавьте .x, .y или .z наконец).

Например, если я держу свой телефон в вертикальном положении, значение self.sceneView.pointOfView?.orientation.x будет приблизительно равно 0. Аналогичным образом, удерживая его в перевернутом положении, вы получите значение около 1 или -1.

Вы можете использовать эти значения, чтобы выяснить, насколько выровнен телефон по всем трем осям, и преобразовать их в градусы.

Я бы порекомендовал поместить следующий код в проект и запустить егочерез кнопку или цикл, который постоянно его запускает, и наблюдайте, как меняются значения.Надеюсь, это поможет.(Обратите внимание, что sceneView заменяется любым именем вашего ARKit SceneView.)

print(self.sceneView.pointOfView?.orientation.x)
print(self.sceneView.pointOfView?.orientation.y)
print(self.sceneView.pointOfView?.orientation.z)
...