Guías específicas de la plataforma
Android (Kotlin/Java)
NDK de Android (C)
Unity (AR Foundation)
Unreal Engine
Como desarrollador de apps de RA, tu objetivo es combinar a la perfección lo virtual con lo real para tus usuarios. Cuando un usuario coloca un objeto virtual en su escena, quiere que parezca que pertenece al mundo real. Si creas una app para que los usuarios compren muebles, querrás que tengan la certeza de que el sillón que están por comprar cabrá en su espacio.
La API de Depth ayuda a la cámara de un dispositivo a comprender el tamaño y la forma de los objetos reales en una escena. Crea imágenes de profundidad o mapas de profundidad, lo que agrega una capa de realismo a tus apps. Puedes usar la información que proporciona una imagen de profundidad para brindar experiencias del usuario envolventes y realistas.
Casos de uso para el desarrollo con la API de Depth
La API de Depth puede potenciar la oclusión de objetos, mejorar la inmersión y generar interacciones novedosas que mejoran el realismo de las experiencias de RA. A continuación, se incluyen algunas formas en las que puedes usarlo en tus propios proyectos. Para ver ejemplos de la profundidad en acción, explora las escenas de muestra en el ARCore Depth Lab, que muestra diferentes formas de acceder a los datos de profundidad. Esta app de Unity es de código abierto en GitHub.
Habilita la oclusión
La oclusión, o la renderización precisa de un objeto virtual detrás de objetos del mundo real, es fundamental para una experiencia de RA inmersiva. Considera un Andy virtual que un usuario podría querer colocar en una escena que contiene un baúl junto a una puerta. Si se renderiza sin oclusión, Andy se superpondrá de forma poco realista con el borde del baúl. Si usas la profundidad de una escena y comprendes qué tan lejos está el Andy virtual en relación con el entorno, como el tronco de madera, puedes renderizar con precisión el Andy con oclusión, lo que lo hace parecer mucho más realista en su entorno.

Transforma una escena
Muestra a tu usuario un mundo nuevo y envolvente renderizando copos de nieve virtuales que se posan en los brazos y almohadas de sus sofás, o bien proyectando una niebla brumosa en su sala de estar. Puedes usar la profundidad para crear una escena en la que las luces virtuales interactúen con objetos reales, se oculten detrás de ellos y los vuelvan a iluminar.
Distancia y profundidad de campo
¿Necesitas mostrar que algo está lejos? Puedes usar la medición de distancia y agregar efectos de profundidad de campo, como desenfocar el fondo o el primer plano de una escena, con la API de Depth.
Habilita las interacciones del usuario con objetos de RA
Permite que los usuarios “toquen” el mundo a través de tu app habilitando la interacción del contenido virtual con el mundo real a través de colisiones y física. Los objetos virtuales pueden pasar por encima de obstáculos del mundo real, o las bolas de pintura virtuales pueden golpear y salpicar un árbol del mundo real. Cuando combinas la colisión basada en la profundidad con la física del juego, puedes hacer que una experiencia cobre vida.
Mejora las pruebas de posicionamiento
La profundidad se puede usar para mejorar los resultados de las pruebas de impacto. Las pruebas de impacto en el plano solo funcionan en superficies planas con textura, mientras que las pruebas de impacto en profundidad son más detalladas y funcionan incluso en áreas no planas y con poca textura. Esto se debe a que las pruebas de impacto de profundidad usan información de profundidad de la escena para determinar la profundidad y orientación correctas de un punto.
En el siguiente ejemplo, los Andys verdes representan pruebas de impacto estándar en el plano, y los Andys rojos representan pruebas de impacto en profundidad.
Compatibilidad con dispositivos
La API de Depth solo es compatible con dispositivos que tienen la potencia de procesamiento necesaria para admitir la profundidad, y se debe habilitar manualmente en ARCore, como se describe en Habilita la profundidad.
Algunos dispositivos también pueden proporcionar un sensor de profundidad de hardware, como un sensor de tiempo de vuelo (ToF). Consulta la página Dispositivos compatibles con ARCore para obtener una lista actualizada de los dispositivos que admiten la API de Depth y una lista de los dispositivos que tienen un sensor de profundidad de hardware compatible, como un sensor de ToF.
Imágenes de profundidad
La API de Depth usa un algoritmo de profundidad a partir del movimiento para crear imágenes de profundidad, que proporcionan una vista en 3D del mundo. Cada píxel de una imagen de profundidad se asocia con una medición de la distancia entre la escena y la cámara. Este algoritmo toma varias imágenes del dispositivo desde diferentes ángulos y las compara para estimar la distancia a cada píxel a medida que el usuario mueve el teléfono. Utiliza el aprendizaje automático de forma selectiva para aumentar el procesamiento de profundidad, incluso con un movimiento mínimo del usuario. También aprovecha cualquier hardware adicional que pueda tener el dispositivo del usuario. Si el dispositivo tiene un sensor de profundidad dedicado, como el ToF, el algoritmo combina automáticamente los datos de todas las fuentes disponibles. Esto mejora la imagen de profundidad existente y habilita la profundidad incluso cuando la cámara no se mueve. También proporciona una mejor profundidad en superficies con pocas o ninguna característica, como paredes blancas, o en escenas dinámicas con personas u objetos en movimiento.
En las siguientes imágenes, se muestra la imagen de una cámara de un pasillo con una bicicleta en la pared y una visualización de la imagen de profundidad que se crea a partir de las imágenes de la cámara. Las áreas en rojo están más cerca de la cámara, y las áreas en azul están más lejos.

Profundidad a partir del movimiento
Los datos de profundidad están disponibles cuando el usuario mueve el dispositivo. El algoritmo puede obtener estimaciones de profundidad precisas y sólidas desde 0 hasta 65 metros de distancia. Los resultados más precisos se obtienen cuando el dispositivo se encuentra a una distancia de entre medio metro y cinco metros de la escena del mundo real. Las experiencias que alientan al usuario a mover más su dispositivo obtendrán resultados cada vez mejores.
Cómo adquirir imágenes de profundidad
Con la API de Depth, puedes recuperar imágenes de profundidad que coincidan con cada fotograma de la cámara. Una imagen de profundidad adquirida tiene la misma marca de tiempo y los mismos parámetros intrínsecos del campo visual que la cámara. Los datos de profundidad válidos solo están disponibles después de que el usuario comienza a mover el dispositivo, ya que la profundidad se adquiere a partir del movimiento. Las superficies con pocas características o ninguna, como las paredes blancas, se asociarán con una profundidad imprecisa.
Próximos pasos
- Consulta el ARCore Depth Lab, que muestra diferentes formas de acceder a los datos de profundidad.