Компенсация рулона устройства на дополненной реальности

Я работаю над приложением, которое выполняет геолокализацию по потоку камеры iPhone. Я использую компас, чтобы выяснить, куда помещать значки и информацию на слой камеры. Если я вращаю устройство вокруг оси рыскания, все работает нормально.

Однако, когда я просматриваю iPhone, вся информация на экране исчезает. Это связано с тем, что когда вы переворачиваете устройство, ориентация компаса также изменяется. Тем не менее, есть такие приложения, как Layar или Wikitude, которые позволяют вращать ролл, не теряя при этом фокус на визуальных элементах, которые вы накладываете на слой камеры. Таким образом, эти приложения обеспечивают плавный переход между портретной ориентацией и альбомной ориентацией.

Как они это достигают? Как я могу скомпенсировать вращение рулона устройства, чтобы сохранить информацию на экране?

Кстати, структура ARKit имеет ту же проблему, что и я.

Благодарю.

One Solution collect form web for “Компенсация рулона устройства на дополненной реальности”

Если вы находитесь в 2D, возможно, достаточно взять точку, которую вы вычисляете из поля зрения камеры и заголовка смещения, рассчитать расстояние до центра экрана и использовать это расстояние в качестве радиуса для круга, чтобы сделать x + = r * cos, y + = r * sin с -roll как угол, поэтому объект перемещается по кругу против рулона. Тогда вам просто нужно противодействовать вращению изображения с помощью преобразования (CGAffineTransformMakeRotation), чтобы он был вертикальным.

  • Приложение TouchJoy для iPhone iPhone
  • Я не могу захватить снимок экрана WKWebView
  • Проблемы с производительностью при использовании AVCaptureVideoDataOutput и AVCaptureAudioDataOutput
  • iOS получает физический размер экрана программно?
  • как добавить данные в место google, которое добавлено из моего приложения?
  • Окна игрового центра не прокручиваются гладко в игре OpenGL
  • MKMapView -> отобразить кнопку для моего местоположения
  • Свойство heightHeaderView таблицы UITableView изменяется на странные значения во время загрузки и вращения
  • Перемещение элементов управления при изменении ориентации
  • Push-уведомление для сертификата разработки
  • iOS удалить уведомление из центра уведомлений
  • ERROR ITMS-9000: неверный пакет. пакет в xyz.app не содержит исполняемого пакета
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.