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-контент, связанные с этим сеансом, также уничтожаются, а сеанс становится недействительным.
Дополнительная информация
- Как проверить пространственные возможности
- Переход с HSM на FSM
- Как добавить в приложение пространственные среды
- Как добавить 3D-модели в приложение