Включите Geospatial API для вашего приложения Unity (AR Foundation), ориентированного на Android.

Настройте параметры своего приложения так, чтобы оно могло использовать 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 вы должны добавить библиотеки, чтобы включить геопространственные функции в вашем приложении.

  1. Перейдите в «Правка» > « Настройки проекта» > «Управление плагинами XR» > «Расширения ARCore ».
  2. В разделе «Дополнительные функции» выберите «Геопространственные» .

Включите геопространственные возможности в конфигурации сеанса.

После включения геопространственных функций в вашем приложении включите геопространственные возможности в конфигурации сеанса AR вашего приложения, чтобы оно могло взаимодействовать с API ARCore:

  1. Убедитесь, что папка Assets проекта содержит объект сценария ARCoreExtensionsConfig . Чтобы создать его, щелкните правой кнопкой мыши на панели «Ресурсы» и выберите «Создать» > XR > «Конфигурация расширений ARCore ».
  2. Выберите объект сценария ARCoreExtensionsConfig в папке «Ресурсы » и установите для параметра «Геопространственный режим» значение « Включено» .

  3. Настройте игровой объект ARCore Extensions для использования конфигурации ARCoreExtensionsConfig . На панели «Иерархия» найдите игровой объект ARCore Extensions , который вы создали при первоначальной настройке расширений ARCore, и подключите поле ARCore Extensions Config к объекту сценария ARCoreExtensionsConfig в папке «Активы» .

Запросить пользователя разрешить использование данных устройства

Приложения, использующие ARCore Geospatial API, должны предоставить пользователю запрос на подтверждение и разрешение использования данных со своего устройства. Дополнительную информацию см. в разделе «Требования к конфиденциальности пользователей» .

Проверьте совместимость устройства

Не все устройства, поддерживающие ARCore, также поддерживают Geospatial API. Чтобы проверить устройство пользователя на совместимость, вызовите AREarthManager.IsGeospatialModeSupported() . Если это возвращает FeatureSupported.Unsupported не пытайтесь настроить сеанс.

Запросить у пользователя разрешения на определение местоположения во время выполнения

Расширения ARCore автоматически запрашивают соответствующие разрешения на местоположение, когда в ARCoreExtensions.Update() включен геопространственный режим. Если пользователь не предоставляет разрешение на точное местоположение, сеанс не возобновляется, и возникает ошибка «разрешение не предоставлено». Это ошибка завершения, и для повторного запуска запроса разрешения требуется перезапуск.

Проверьте доступность геопространственных данных в текущем местоположении устройства.

Поскольку Geospatial API использует комбинацию VPS и GPS для определения геопространственной позы, API можно использовать до тех пор, пока устройство может определить свое местоположение. В районах с низкой точностью GPS, таких как закрытые помещения и плотная городская среда, API будет полагаться на покрытие VPS для создания поз с высокой точностью. Ожидается, что в типичных условиях VPS обеспечит точность позиционирования около 5 метров и точность вращения 5 градусов. Используйте AREarthManager.CheckVpsAvailability() , чтобы определить, имеет ли данное местоположение покрытие VPS.

Geospatial API также можно использовать в регионах, где нет покрытия VPS. На открытом воздухе с небольшим количеством препятствий или без них GPS может быть достаточно для определения позы с высокой точностью.

Что дальше