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

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

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

Как получить доступ к сеансу из Jetpack Compose для XR

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

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

Как получить доступ к сеансу из Jetpack XR Runtime

Если вы создаете пространственные объекты с помощью библиотеки 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-контент, связанные с этим сеансом, также уничтожаются, а сеанс становится недействительным.

Дополнительная информация