Cómo desarrollar con el SDK de Jetpack XR

El SDK de Jetpack XR te permite crear experiencias de XR envolventes con herramientas modernas, como Kotlin y Compose, así como herramientas de generación anterior, como Java y Views. Puedes espacializar tu IU, cargar y renderizar modelos 3D, y comprender semánticamente el mundo real.

Si ya tienes una app para dispositivos móviles o pantallas grandes en Android, el SDK de Jetpack XR extiende tu app a una nueva dimensión espacializando los diseños existentes y mejorando tus experiencias con modelos 3D y entornos envolventes. Consulta nuestros lineamientos de calidad para conocer nuestras recomendaciones sobre cómo espacializar tu app para Android existente.

El SDK de Jetpack XR consta de las siguientes bibliotecas. En conjunto, proporcionan un kit de herramientas integral para crear experiencias espacializadas ricas y diversas, y están diseñados para funcionar sin problemas entre sí.

  • Jetpack Compose para XR: Compila de forma declarativa diseños de IU espaciales que aprovechan las capacidades espaciales de Android XR.
  • Material Design para XR: Compila con componentes y diseños de Material que se adapten a XR.
  • Jetpack SceneCore: Compila y manipula el grafo de escenas de Android XR con contenido 3D.
  • ARCore para Jetpack XR: Lleva el contenido digital al mundo real con capacidades de percepción.

Jetpack Compose para XR

Con Jetpack Compose para XR, puedes usar conceptos de Compose conocidos, como filas y columnas, para crear diseños de IU espaciales en XR, ya sea que estés migrando una app 2D existente a XR o creando una nueva app de XR desde cero.

Esta biblioteca proporciona un tipo de elemento componible: elementos componibles de subespacio, como spatial panels y orbiters, que te permiten colocar tu IU existente de Compose 2D o basada en objetos View en un diseño espacial.

Consulta Cómo desarrollar una IU con Jetpack Compose para XR para obtener una guía detallada.

Ejemplo genérico de orbitador para desarrollar componentes de XR de la IU

Compose para XR presenta el elemento componible de subespacio Volume, que te permite colocar entidades de SceneCore, como modelos 3D, en relación con tu IU.

Obtén información para espacializar tu app para Android existente o consulta la referencia de la API para obtener información más detallada.

Material Design para XR

Material Design proporciona componentes y diseños que se adaptan a XR. Por ejemplo, si compilas con diseños adaptables y actualizas a la versión alfa más reciente de la dependencia, con un wrapper EnableXrComponentOverrides simple, los paneles se colocarán en Spatial Panels y el riel de navegación en un Orbiter. Obtén más información para implementar Material Design para XR.

Jetpack SceneCore

La biblioteca de Jetpack SceneCore te permite colocar y organizar contenido 3D, definido por entidades, en relación con el entorno y entre sí. Con SceneCore, puedes hacer lo siguiente:

La biblioteca de Jetpack SceneCore también proporciona compatibilidad para espacializar aplicaciones compiladas con Views. Consulta nuestra guía para trabajar con vistas para obtener más detalles.

Consulta la referencia de la API para obtener información más detallada.

ARCore para Jetpack XR

Inspirada en la biblioteca de ARCore existente, la biblioteca de ARCore para Jetpack XR proporciona capacidades para combinar contenido digital con el mundo real. Esta biblioteca incluye el seguimiento de movimiento, las anclas persistentes, las pruebas de hit y la identificación de planos con etiquetado semántico (por ejemplo, piso, paredes y mesas). Esta biblioteca aprovecha la pila de percepción subyacente con la tecnología de OpenXR, lo que garantiza la compatibilidad con una amplia variedad de dispositivos y ayuda a preparar las aplicaciones para el futuro.

Consulta Cómo trabajar con ARCore para Jetpack XR para obtener información más detallada.

Nota sobre la Versión preliminar para desarrolladores

Ten en cuenta que esta versión es parte de una Versión preliminar para desarrolladores y estas APIs aún están en desarrollo. Consulta las notas de la versión para conocer los problemas conocidos:

Si encuentras un problema que no está en esa lista, informa un error o envía comentarios.