Улучшите восприятие приложений с помощью ARCore для Jetpack XR

Применимые устройства XR
Данное руководство поможет вам создавать приложения для устройств XR такого типа.
XR-гарнитуры
Проводные XR-очки

ARCore for Jetpack XR brings powerful perception capabilities for your app to understand the real world through a variety of APIs. Some of these APIs help you enhance immersive experiences for devices such as XR headsets and wired XR glasses, some help you enhance augmented experiences for devices such as AI glasses, and some help you enhance app experiences for all types of Android XR devices.

Например, вы можете использовать ARCore для Jetpack XR, чтобы получать данные о плоскости, привязывать контент к фиксированному местоположению в пространстве или использовать геопространственную позу для привязки контента к реальному местоположению.

Добавьте зависимости библиотеки.

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

Получить доступ к сессии

Функции восприятия в ARCore для Jetpack XR основаны на Session , которая использует среду выполнения Jetpack XR.

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

Получите доступ к сессии из среды выполнения Jetpack XR.

Для доступа к сессии из Jetpack XR Runtime вам нужно будет её создать:

Для создания сессии передайте Context методу create() . Этот Context может представлять собой Activity на устройствах с поддержкой Immersive XR или мобильных устройствах, либо проецируемый контекст .

Создание сессии ARCore может быть ресурсоемкой задачей и должно выполняться в фоновом режиме , как показано в следующем примере:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

При завершении сессии удаляется весь связанный с ней контент дополненной реальности, и сессия становится недействительной.

Настройте сессию

Некоторые функции могут быть отключены по умолчанию и требуют настройки для корректной работы. Для настройки сессии используйте configure() и укажите необходимые параметры конфигурации . Подробную информацию о требуемой конфигурации для различных функций дополненной Session см. на соответствующих страницах для каждой функции.

Следующие шаги

После того, как ваше приложение пройдет сеанс работы, изучите способы его использования для улучшения пользовательского опыта на различных устройствах XR: