{ } { }
Реактивный ранец SceneCore
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
12 декабря 2024 г. | - | - | - | 1.0.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от XR SceneCore, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha01" // Required for Java implementation "com.google.guava:listenableFuture:1.0" // Required for Kotlin implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha01" }
Котлин
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha01") // Required for Java implementation("com.google.guava:listenableFuture:1.0") // Required for Kotlin implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0
Версия 1.0.0-альфа01
12 декабря 2024 г.
Выпущен androidx.xr.scenecore:scenecore-* 1.0.0-alpha01
.
Особенности начальной версии Первоначальная версия Jetpack SceneCore для разработчиков, библиотеки графов 3D-сцен для создания и управления иммерсивными сценами и средами. Эта библиотека позволяет вам размещать и упорядочивать 3D-модели и панели контента относительно друг друга и вашей виртуальной или реальной среды.
- SpatialEnvironment : создавайте полностью захватывающие впечатления с помощью изображения скайбокса и/или геометрии 3D-модели в качестве фона для сцены XR вашей среды. Или включите сквозную передачу, чтобы ваша виртуальная сцена могла интегрироваться с реальной средой пользователя.
- PanelEntity : добавляйте 2D-контент в 3D-сцены, встраивая стандартные макеты и действия Android в пространственные панели, которые могут плавать или быть привязаны к поверхностям реального мира.
- GltfModelEntity : размещайте, анимируйте и взаимодействуйте с 3D-моделями в вашей сцене. SceneCore поддерживает формат файлов glTF для простоты интеграции с существующими моделями.
- SpatialAudio : добавьте окружающие и точечные источники звука в свою 3D-сцену для получения полностью захватывающего пространственного звука.
- StereoSurfaceEntity : SceneCore поддерживает маршрутизацию содержимого для левого и правого глаза, отображаемого на поверхности Android. Это можно использовать для рендеринга стереоскопического контента в формате «бок о бок» или «сверху вниз», например стереофотографии, 3D-видео или другие динамически отображаемые пользовательские интерфейсы. Приложения должны использовать MediaPlayer или ExoPlayer для декодирования видео.
- Система компонентов: SceneCore предлагает надежную и гибкую систему компонентов для добавления возможностей к вашему контенту XR, включая возможности для пользователей перемещать, изменять размер и взаимодействовать с моделями и панелями.
- Привязка : при включенной сквозной передаче вы можете прикреплять панели и модели к реальным поверхностям, предоставляя пользователям беспрепятственную интеграцию виртуального контента в их реальную среду.
- Поза пользователя: доступ к местоположению пользователя в виртуальной сцене, чтобы ориентировать контент вокруг положения пользователя.
- SpatialCapabilities : создавайте полностью адаптивные приложения, которые используют пространственные возможности, когда они доступны, такие как трехмерное позиционирование содержимого пользовательского интерфейса. Мало того, ваше приложение может отслеживать изменения возможностей во время работы приложения, чтобы изменять работу в зависимости от того, как пользователь использует свое устройство Android XR.
Известные проблемы
- В настоящее время для использования Jetpack SceneCore требуется minSDK 30. В качестве обходного пути добавьте следующую запись манифеста
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
чтобы иметь возможность сборки и запуска с minSDK 23. - Сеанс может стать недействительным в различных ситуациях, которые автоматически воссоздают действие, включая изменение размера главной панели, подключение периферийных устройств и переключение между светлым и темным режимом. Если вы столкнулись с проблемами аннулирования сеанса, обходные пути включают в себя запретить изменение размера основной панели, использование объекта динамической панели, отключение воспроизведения активности для определенных изменений конфигурации или отключение изменений тем в светлом/темном режиме.
- Компоненты Movable и Resizable не поддерживаются в GltfEntity.
- Entity.getSize() не поддерживается в GltfEntity.
- Приложения Jetpack XR должны запрашивать разрешение
android.permission.SCENE_UNDERSTANDING
в AndroidManifest. - Создание сеанса поддерживается только на устройстве Android XR. В настоящее время, если вы создадите сеанс и попытаетесь использовать его на устройстве, отличном от Android XR, вы получите исключение RuntimeException.
- Установка для скайбокса значения null с помощью SpatialEnvironment.setSpatialEnvironmentPreference() не приводит к появлению сплошного черного скайбокса, как описано в документации. Это может привести к использованию системного скайбокса по умолчанию или к отсутствию изменений в текущем скайбоксе.
- Клиенты SceneCore должны добавить
implementation(“com.google.guava:listenablefuture-1.0”)
в свою конфигурацию Gradle для зависимостей своего приложения. В будущем выпуске Scenecore будет включать эту библиотеку в качестве зависимостиapi
, поэтому клиентам не нужно будет явно объявлять ее. - SceneCore ошибочно включает
com.google.guava:guava-31.1-android
иcom.google.protobuf:protobuf-javalite
в качестве транзитивных зависимостей. Если это приведет к дублированию ошибок классов в вашей сборке, эти две зависимости можно безопасно исключить. - Если ваше приложение использует SceneCore и включает ProGuard, оно выйдет из строя при создании сеанса. В качестве обходного пути отключите ProGuard. См. это руководство для получения дополнительной информации о том, как включить ProGuard.