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

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

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

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

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

Благодарю.

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

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

  • Запуск AVAssetReader прекращения обратных вызовов на удаленный ввод / вывод AudioUnit
  • как захватить последние 4 символа из NSString
  • Если я передаю файл unsigned XCARCHIVE с клиентом, может ли он увидеть исходный код?
  • Воспроизвести видео YouTube в приложении iPhone без использования UIWebView?
  • создание insertItemsAtIndexPath в UICollectionView не для анимации
  • как открыть pdf-разметку программно в ios 11
  • Exec bad Access NSString
  • Отключить iMessage в MFMessageComposeViewController
  • скрытие вызовов iOS HTTPS от скрипача
  • PFLogInViewController больше не распознается?
  • Как мне воспроизводить песню назад, когда у меня есть MPMediaItemPropertyPersistentID?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.