Настройте параметры своего приложения так, чтобы оно могло использовать Geospatial API .
Предварительные условия
Прежде чем продолжить, убедитесь, что вы понимаете фундаментальные концепции AR и то, как настроить сеанс ARCore .
Дополнительную информацию о Geospatial API см. в разделе «Введение в Geospatial API».
Если вы новичок в разработке с помощью ARCore, ознакомьтесь с информацией о требованиях к программному и аппаратному обеспечению, предварительных требованиях и другой информации, относящейся к используемым вами платформам, в разделе «Начало работы».
Чтобы использовать ARCore Geospatial API, ваш проект должен поддерживать AR Foundation и расширения ARCore для AR Foundation .
Включите API ARCore
Прежде чем использовать систему визуального позиционирования (VPS) в своем приложении, вы должны сначала включить API ARCore в новом или существующем проекте Google Cloud. Эта служба отвечает за размещение, хранение и разрешение геопространственных привязок.
Предпочтительна авторизация без ключа, но также поддерживается авторизация по ключу API.
Добавьте необходимые библиотеки в ваше приложение
После авторизации вашего приложения для вызова API ARCore вы должны добавить библиотеки, чтобы включить геопространственные функции в вашем приложении.
- Перейдите в «Правка» > «Настройки проекта» > «Управление плагинами XR» > «Расширения ARCore» . Убедитесь, что выбрана опция «Поддержка iOS включена» .
- В разделе «Дополнительные функции» выберите «Геопространственные» .
Включите геопространственные возможности в конфигурации сеанса.
После включения геопространственных функций в вашем приложении включите геопространственные возможности в конфигурации сеанса AR вашего приложения, чтобы оно могло взаимодействовать с API ARCore:
- Убедитесь, что папка Assets проекта содержит объект сценария ARCoreExtensionsConfig . Чтобы создать его, щелкните правой кнопкой мыши на панели «Ресурсы» и выберите «Создать» > XR > «Конфигурация расширений ARCore» .
Выберите объект сценария ARCoreExtensionsConfig в папке «Ресурсы» и установите для параметра «Геопространственный режим» значение «Включено» .
Настройте игровой объект ARCore Extensions для использования конфигурации ARCoreExtensionsConfig . На панели «Иерархия» найдите игровой объект ARCore Extensions , который вы создали при первоначальной настройке расширений ARCore, и подключите поле ARCore Extensions Config к объекту сценария ARCoreExtensionsConfig в папке «Активы» .
Запросить пользователя разрешить использование данных устройства
Приложения, использующие ARCore Geospatial API, должны предоставить пользователю запрос на подтверждение и разрешение использования данных со своего устройства. Дополнительную информацию см. в разделе «Требования к конфиденциальности пользователей» .
Проверьте совместимость устройства
Не все устройства, поддерживающие ARCore, также поддерживают Geospatial API. Чтобы проверить устройство пользователя на совместимость, вызовите AREarthManager.IsGeospatialModeSupported()
. Если это возвращает FeatureSupported.Unsupported
, не пытайтесь настроить сеанс.
Запросить у пользователя разрешения на определение местоположения во время выполнения
Чтобы включить службы определения местоположения Unity в сценарии, который запускает запросы разрешений во время выполнения, выполните следующие действия:
В Project Settings > iOS > Other Settings > Location Usage Description введите имя приложения, которое запрашивает разрешения.
Включите службы определения местоположения Unity, чтобы инициировать запрос разрешения во время выполнения, как показано ниже:
public void OnEnable() { Input.location.Start(); } public void OnDisable() { Input.location.Stop(); }
Дополнительную информацию см. в документации Unity
LocationService
.
Проверьте доступность геопространственных данных в текущем местоположении устройства.
Поскольку Geospatial API использует комбинацию VPS и GPS для определения геопространственной позы, API можно использовать до тех пор, пока устройство может определить свое местоположение. В районах с низкой точностью GPS, таких как закрытые помещения и плотная городская среда, API будет полагаться на покрытие VPS для создания поз с высокой точностью. Ожидается, что в типичных условиях VPS обеспечит точность позиционирования около 5 метров и точность вращения 5 градусов. Используйте AREarthManager.CheckVpsAvailability()
чтобы определить, имеет ли данное местоположение покрытие VPS.
Geospatial API также можно использовать в регионах, где нет покрытия VPS. На открытом воздухе с небольшим количеством препятствий или без них GPS может быть достаточно для определения позы с высокой точностью.
Что дальше
- Получите геопространственную позу камеры устройства, чтобы определить точное местоположение устройства пользователя в реальном мире.
- Проверьте доступность VPS в указанном месте расположения устройства.