Antes de profundizar en ARCore, es útil comprender algunos conceptos fundamentales. En conjunto, estos conceptos ilustran la forma en que ARCore habilita experiencias que pueden hacer que el contenido virtual se posicione en superficies reales o se adjunte a ubicaciones del mundo real.
Seguimiento de movimiento
A medida que tu teléfono se mueve por el mundo, ARCore usa un proceso llamado localización y creación de mapas simultáneos (SLAM) para comprender dónde se encuentra el teléfono en relación con el mundo que lo rodea. ARCore detecta características visualmente distintas en la imagen de la cámara capturada, llamadas puntos de componentes, y los usa para calcular su cambio de ubicación. La información visual se combina con las mediciones inerciales de la IMU del dispositivo para estimar la posición (posición y orientación) de la cámara en relación con el mundo a lo largo del tiempo.
Cuando los desarrolladores alinean la pose de la cámara virtual que renderiza el contenido en 3D con la pose de la cámara del dispositivo proporcionada por ARCore, los desarrolladores pueden renderizar el contenido virtual desde la perspectiva correcta. La imagen virtual renderizada se puede superponer sobre la imagen obtenida de la cámara del dispositivo para que parezca como si el contenido virtual fuera parte del mundo real.
Comprensión ambiental
ARCore mejora constantemente su comprensión del entorno real mediante la detección de planos y puntos de características.
ARCore busca clústeres de puntos de componentes que parezcan ubicarse en superficies horizontales o verticales comunes, como tablas o paredes, y las pone a disposición de tu app como planos geométricos. ARCore también puede determinar el límite de cada plano geométrico y poner esa información a disposición de tu app. Puedes usar esta información para colocar objetos virtuales en superficies planas.
Dado que ARCore usa puntos de componente para detectar planos, es posible que las superficies planas sin textura, como una pared blanca, no se detecten correctamente.
Comprensión detallada
ARCore puede crear mapas de profundidad, imágenes que contienen datos sobre la distancia entre las superficies desde un punto determinado, mediante la cámara RGB principal de un dispositivo compatible. Puedes usar la información que proporciona un mapa de profundidad para habilitar experiencias del usuario envolventes y realistas, como hacer que los objetos virtuales colisionen con precisión con las superficies observadas o hacer que aparezcan delante o detrás de objetos del mundo real.
Estimación de luz
ARCore puede detectar información sobre la iluminación de su entorno y proporcionarte la intensidad y corrección de colores promedio de una imagen de cámara determinada. Esta información te permite iluminar tus objetos virtuales en las mismas condiciones que el entorno que los rodea, lo que aumenta la sensación de realismo.
Interacción del usuario
ARCore usa las pruebas de posicionamiento para tomar una coordenada (x,y) correspondiente a la pantalla del teléfono (proporcionada por un toque o cualquier otra interacción que desees que admita tu app) y proyecta un rayo en la vista del mundo de la cámara y muestra los planos geométricos o los puntos de características con los que se cruza el rayo, junto con la pose de esa intersección en el espacio del mundo. Esto permite a los usuarios seleccionar objetos en el entorno o interactuar con ellos.
Puntos orientados
Los puntos orientados te permiten colocar objetos virtuales en superficies angulares. Cuando realices una prueba de posicionamiento que muestre un punto de componente, ARCore buscará los puntos de componente cercanos y los usará para intentar estimar el ángulo de la superficie en ese punto. Luego, ARCore mostrará una pose en la que se tendrá en cuenta ese ángulo.
Debido a que ARCore usa clústeres de puntos de componentes para detectar el ángulo de la superficie, es posible que las superficies sin textura, como una pared blanca, no se detecten correctamente.
Fijos y elementos de seguimiento
Las poses pueden cambiar a medida que ARCore mejora la comprensión de su propia posición y su entorno. Cuando quieras colocar un objeto virtual, debes definir un ancla para asegurarte de que ARCore haga un seguimiento de la posición del objeto a lo largo del tiempo. A menudo, se crea un ancla basada en la pose que muestra una prueba de posicionamiento, como se describe en Interacción del usuario.
El hecho de que las poses cambien significa que ARCore puede actualizar la posición de los objetos del entorno, como planos geométricos y puntos de características, a lo largo del tiempo. Los planos y los puntos son un tipo especial de objeto llamado rastreo. Como el nombre lo sugiere, ARCore hará un seguimiento de los objetos a lo largo del tiempo. Puedes anclar objetos virtuales a objetos de seguimiento específicos para asegurarte de que la relación entre tu objeto virtual y el objeto de seguimiento permanezca estable incluso mientras el dispositivo se mueve. Esto significa que, si colocas una figura virtual de Android en tu escritorio, si ARCore ajusta más tarde la pose del plano geométrico asociado con el escritorio, la figura de Android seguirá apareciendo sobre la tabla.
Para obtener más información, consulta Cómo trabajar con anclas
Imágenes aumentadas
Las imágenes aumentadas son una función que te permite compilar apps de RA capaces de responder a imágenes 2D específicas, como la presentación de productos o afiches de películas. Los usuarios pueden activar experiencias de RA cuando apuntan la cámara de su teléfono a imágenes específicas. Por ejemplo, pueden apuntar la cámara de su teléfono al póster de una película y hacer que un personaje aparezca y represente una escena.
ARCore también realiza un seguimiento de imágenes en movimiento, como, por ejemplo, una valla publicitaria al costado de un autobús en movimiento.
Las imágenes se pueden compilar sin conexión para crear una base de datos de imágenes, o se pueden agregar imágenes individuales en tiempo real desde el dispositivo. Una vez que se registre, ARCore detectará estas imágenes, sus límites y mostrará la pose correspondiente.
Uso compartido
La API de Cloud Anchor de ARCore te permite crear apps colaborativas o multijugador para dispositivos iOS y Android.
Con Cloud Anchors, un dispositivo envía un ancla y puntos de atributos cercanos a la nube para el hosting. Estas anclas se pueden compartir con otros usuarios en dispositivos Android o iOS en el mismo entorno. Esto permite que las apps rendericen los mismos objetos 3D adjuntos a estas anclas, lo que permite a los usuarios tener la misma experiencia de RA al mismo tiempo.
Más información
Comienza a poner en práctica estos conceptos mediante la compilación de experiencias de RA en la plataforma que elijas.