В Android XR 3D-модели — это цифровые объекты, отображаемые с учетом глубины и объема, что добавляет реалистичности и пространственного восприятия вашему приложению. Пользователи могут естественным образом взаимодействовать с 3D-моделями, создавая преобразующий и увлекательный опыт.
Android XR поддерживает 3D-модели с расширением файла .glTF или .glb . GL Transmission Format (glTF) — это стандартный формат 3D-файлов, который минимизирует размер ресурсов, быстро загружается и работает на разных платформах. Вы можете экспортировать эти форматы файлов из сторонних инструментов для создания цифрового контента, таких как Blender , Maya , Spline и других.
Для оптимизации производительности отдавайте приоритет файлам небольшого размера. Избегайте чрезмерного количества полигонов или текстур высокого разрешения, которые могут повлиять на скорость рендеринга.
Методы интеграции 3D-моделей
Android XR предлагает различные инструменты для добавления интерактивных 3D-моделей в ваше приложение: с помощью API SceneCore или Scene Viewer. Если вы используете Compose for XR, вы можете размещать 3D-модели относительно вашего пользовательского интерфейса, используя компонент подпространства SceneCoreEntity .
- API SceneCore . Вы можете создавать собственные интерактивные элементы, включая вращение, перемещение и масштабирование. Это позволяет пользователям взаимодействовать с 3D-моделями наряду с пространственными панелями и окружением вашего приложения. Вы также можете создавать родительские связи между панелями и 3D-моделями. Узнайте больше об API SceneCore .
- Scene Viewer можно использовать для загрузки и отображения 3D-моделей с возможностью взаимодействия, включая вращение, перемещение и масштабирование. Однако Scene Viewer работает как отдельное приложение. В результате пользователи не смогут видеть панели и окружение вашего приложения во время взаимодействия с 3D-моделями. Узнайте больше о Scene Viewer .
API SceneCore
С помощью API SceneCore вы можете разрабатывать сложные интерактивные элементы для 3D-моделей, сохраняя при этом контекст приложения для пользователей. Поскольку SceneCore позволяет отображать панели и окружения параллельно с 3D-моделями, вы можете создавать связи между 3D-моделями и панелями, а также использовать восприятие сцены для привязки контента к физическому пространству пользователя.
С помощью SceneCore вы также можете добавить:
- Аннотации к 3D-моделям
- Воспроизведение анимаций, встроенных в 3D-модели.
- Множество 3D-моделей
- Настраиваемое меню и позиции запуска
Отношения
3D-модели могут иметь родительские связи с панелями или другими 3D-моделями, так что дочерний элемент следует за движением родительского элемента.
Якоря
Пользователи могут привязывать 3D-модели к определенной точке в реальном мире. Есть возможность добавлять якоря к общим горизонтальным или вертикальным поверхностям, а также к конкретным поверхностям, таким как пол или стена.
Просмотр сцены
Scene Viewer позволяет пользователям просматривать 3D-модели и взаимодействовать с ними. Пользователи могут открывать поддерживаемые 3D-модели в формате .glTF как файлы .glb и размещать объекты в пространстве. Вы можете интегрировать 3D-просмотрщик в свое приложение, чтобы упростить пользователям визуализацию продуктов, изучение образовательного контента и работу с 3D-моделями. Scene Viewer предоставляет встроенный пользовательский интерфейс для основных взаимодействий, включая перемещение, вращение, масштабирование и привязку.
Стартовая позиция
3D-модели запускаются на расстоянии 1,5 метра и 15 градусов ниже линии зрения пользователя, в центре его поля зрения. Они раскрываются в миниатюрном размере — 1,5 метра по каждой оси.

Взаимодействия включают в себя
UI and interactions that allow users to move, rotate, anchor, and scale 3D models using natural gestures.
Меню взаимодействия
Меню 3D-модели можно настроить с помощью дополнительных действий. Если файл glTF содержит разные размеры, например, рекомендуемый размер и фактический размер, кнопка 1:1 позволяет пользователям быстро переключаться между ними. Чтобы выйти из режима просмотра 3D-модели и вернуться в приложение, пользователи могут нажать обязательную кнопку закрытия.
