Доступ к сеансу создания пространственного пользовательского интерфейса и сущностей

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

Session предоставляет основной интерфейс для пространственной функциональности вашего приложения. Каждое пространственное Activity должно создавать и хранить экземпляр Session . После создания сессии ваше приложение может использовать интерфейсы Session для создания пространственных объектов контента, таких как панели или 3D-модели, а также для установки пространственной среды , определения положения пользователя и привязки контента к реальному миру.

Получите доступ к сессии через Jetpack Compose for XR.

При использовании Jetpack Compose для XR сессия создается автоматически и доступна через LocalSession.current . См. следующий пример:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

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

Если вы создаёте пространственные объекты из библиотеки Jetpack SceneCore, вам потребуется создать сессию.

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

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

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

При завершении сессии уничтожается весь пространственный пользовательский интерфейс и 3D-контент, связанные с этой сессией, и сессия становится недействительной.

См. также