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