ARCore: qué es, características y tecnología de realidad aumentada

Autor: IT Sectr Publicado: 2026-03-25 Tiempo de lectura: 8 min

ARCore, la plataforma de Google para realidad aumentada en Android, utiliza la cámara y los sensores inerciales del smartphone para rastrear la posición en el espacio. Según Google AR Developers, 2025, la plataforma admite Motion Tracking, Environmental Understanding y Light Estimation — tres tecnologías básicas para colocar objetos virtuales en entornos reales. La arquitectura multiplataforma permite a los desarrolladores crear aplicaciones de RA para Android, iOS, Unity y Unreal Engine con una base de código unificada.

Puntos clave

  • ARCore — la plataforma de realidad aumentada de Google para Android, presentada en 2018.
  • Motion Tracking — tecnología de seguimiento del movimiento del dispositivo basada en IMU y análisis de imágenes.
  • Environmental Understanding — reconocimiento de planos, bordes y relieve de superficies.
  • Cloud Anchors — mecanismo de sincronización de objetos AR entre múltiples dispositivos a través de la nube.
  • ARCore SDK está disponible para Android (Kotlin/Java), iOS, Unity y Unreal Engine.

¿Qué es ARCore?

ARCore es la plataforma de realidad aumentada de Google, anunciada en 2018 como sucesora de Project Tango en un formato más ligero y accesible. A diferencia de Tango, que requería sensores de profundidad especializados, ARCore funciona en smartphones Android estándar utilizando solo la cámara y los sensores inerciales (IMU).

ARCore utiliza tres tecnologías clave: Motion Tracking para el seguimiento de la posición del dispositivo, Environmental Understanding para la detección de planos horizontales y verticales, y Light Estimation para ajustar la iluminación de los objetos virtuales al entorno real. Estas tres tecnologías permiten colocar objetos AR que se ven naturales en cualquier superficie.

Según Google I/O 2024, ARCore es compatible con más de mil millones de dispositivos Android, incluidos smartphones de Samsung, Xiaomi, Huawei, OnePlus, Google Pixel y otros. La plataforma está integrada con Google Play Services for AR, lo que permite actualizar ARCore a través de Google Play Store independientemente de la versión de Android.

Evolución de ARCore

A lo largo de seis versiones, ARCore ha experimentado una evolución significativa: ARCore 1.0 — seguimiento básico y detección de planos; ARCore 1.2 — planos verticales y Augmented Images; ARCore 1.7 — Cloud Anchors para sesiones multijugador; ARCore 1.10 — Augmented Faces para seguimiento de expresiones faciales.

ARCore 1.20+ incluye Scene Semantic Understanding — reconocimiento de categorías de objetos (suelo, techo, pared, mueble, planta, puerta) mediante un modelo ML de TensorFlow Lite en el dispositivo. La API Street View Geometry permite utilizar mapas de profundidad de Google Street View para navegación AR al aire libre.

kotlin
// Inicializando una sesión de ARCore
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
    Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
    Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)

// Procesamiento de fotogramas
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
    Plane::class.java
)

Cómo funciona ARCore

ARCore utiliza un enfoque híbrido: la IMU (Unidad de Medición Inercial) predice la posición del dispositivo a alta frecuencia (hasta 1000 Hz), mientras que la odometría visual corrige errores basándose en el análisis de puntos característicos de la cámara a 30–60 Hz. Este enfoque proporciona una precisión de seguimiento de aproximadamente 1–2 centímetros en condiciones estacionarias.

El proceso de Environmental Understanding funciona en tres etapas: primero, ARCore encuentra puntos característicos (feature points) en la imagen de la cámara, luego identifica grupos de puntos que se encuentran en un mismo plano y los aproxima a un polígono. Tras reconocer el plano, ARCore crea un objeto Trackable de tipo Plane que se actualiza a medida que se reciben nuevos fotogramas.

Según Google, ARCore detecta un plano de 10x10 centímetros a una distancia de hasta 1 metro de la cámara. Para habitaciones medianas (20 m²), el escaneo completo de planos tarda entre 2 y 4 segundos. Al usar Depth API con soporte de sensor ToF, la precisión del reconocimiento mejora en un 40%.

Depth API y Scene Mesh

Depth API es una tecnología de ARCore que construye un mapa de profundidad de la escena basado en el análisis estéreo de la imagen de la cámara. En dispositivos con sensor ToF (Time-of-Flight), el mapa de profundidad se obtiene al instante con una precisión de hasta 2 cm. En dispositivos sin sensor de profundidad, Depth API utiliza aprendizaje automático para estimar la profundidad a partir de un solo fotograma, proporcionando una precisión de aproximadamente 10 cm.

Scene Mesh es una malla tridimensional del entorno que ARCore construye en tiempo real. La malla se utiliza para la física de colisiones, oclusión de objetos virtuales y proyección de sombras. Scene Mesh está disponible en dispositivos con OpenGL ES 3.1 y soporte de Depth API, generando hasta 500 mil polígonos por fotograma.

kotlin
// Obteniendo el mapa de profundidad
val depthImage = frame.acquireDepthImage16Bits()

// Colocando un objeto en un plano detectado
val hitResult = frame.hitTest(x, y)
    .firstOrNull { it.trackable is Plane }

hitResult?.let { result ->
    val anchor = session.createAnchor(
        result.hitPose
    )
    val model = ModelRenderable.builder()
        .setSourceId(R.raw.my_model)
        .build()
        .exceptionally { null }

    AnchorNode(anchor).apply {
        this.renderable = model.get()
    }
}

ARCore vs ARKit: comparación

Aunque ARCore y ARKit resuelven las mismas tareas — seguimiento de posición, detección de planos y estimación de iluminación — sus enfoques y ecosistemas difieren. ARCore prioriza la compatibilidad multiplataforma, mientras que ARKit utiliza una integración profunda con el hardware de Apple.

Diferencias clave: ARCore funciona en Android e iOS a través de ARCore SDK, mientras que ARKit solo funciona en iOS. ARCore utiliza Cloud Anchors para la sincronización a través de Firebase, mientras que ARKit usa ARWorldMap para el intercambio directo entre dispositivos. ARCore con Depth API admite sensores ToF, mientras que ARKit con LiDAR proporciona escaneo láser con una precisión de hasta 3 cm.

Según las pruebas comparativas de Google 2024, la precisión de seguimiento de ARCore en dispositivos con giroscopio y sensor ToF es comparable a la de ARKit en iPhone con LiDAR: el error no supera los 2 cm a una distancia de 2 metros. En dispositivos sin ToF, ARCore está por detrás de ARKit en velocidad de inicialización: 3 segundos frente a 0,5 segundos.

La elección entre ARCore y ARKit depende del público objetivo: si la aplicación es solo para iOS, ARKit ofrece un mejor rendimiento y acceso a funciones exclusivas de LiDAR. Si se necesita compatibilidad multiplataforma, ARCore con el SDK de ArcoreiOS permite utilizar una base de código única con diferencias mínimas entre plataformas, aunque con cierta pérdida de capacidades de hardware específicas de cada plataforma.

CaracterísticaARCoreARKit
PlataformaAndroid + iOS + Unity/UnrealSolo iOS
Sensor de profundidadToF (opcional)LiDAR (modelos Pro)
SincronizaciónCloud Anchors (Firebase)ARWorldMap (Multipeer)
Seguimiento facialAugmented FacesFace Tracking (TrueDepth)
Precisión VIO1–3 cm0,5–1 cm

Integración de ARCore en una aplicación

La integración de ARCore comienza con agregar la dependencia de Google Play Services for AR en build.gradle: com.google.ar:core. La aplicación debe verificar la disponibilidad de ARCore en el dispositivo mediante ArCoreApk.checkAvailability() — si ARCore no está instalado, solicitar al usuario que lo instale desde Google Play Store.

Un proyecto básico de ARCore incluye: crear una Session y Config, configurar un SurfaceView para la visualización de la cámara, iniciar la sesión mediante session.resume() y procesar los fotogramas con session.update(). Para el renderizado de objetos 3D se utiliza Sceneform SDK (biblioteca de Google basada en Filament) o Unity/Unreal para escenas complejas.

Google recomienda Sceneform para aplicaciones Kotlin — proporciona componentes listos: ModelRenderable para cargar modelos 3D (OBJ, glTF, FBX), ViewRenderable para incrustar vistas de Android en una escena AR y MotionEvent para el manejo de toques. Sceneform gestiona automáticamente el ciclo de vida de la sesión AR y la liberación de recursos.

Manejo de fallos de seguimiento

ARCore puede perder el seguimiento con poca iluminación, superficies uniformes o movimientos rápidos del dispositivo. El estado de seguimiento está disponible mediante frame.getTrackingState() — los valores son TRACKING, PAUSED y STOPPED. Al pasar a PAUSED, se recomienda pausar el renderizado y mostrar al usuario indicaciones: "Mueva el dispositivo más lentamente" o "Muévase a un lugar más iluminado."

Para la recuperación automática tras un fallo, ARCore admite la relocalización basada en un mapa guardado de puntos característicos. El desarrollador puede guardar el mapa mediante session.serialize() y restaurarlo con session.deserialize() — útil para experiencias AR de larga duración donde el usuario regresa al mismo espacio físico. La restauración del mapa tarda entre 1 y 2 segundos, siempre que el entorno no haya cambiado significativamente.

kotlin
class ARCoreActivity : AppCompatActivity() {

    private lateinit var session: Session

    override fun onResume() {
        super.onResume()
        when (ArCoreApk.getInstance()
            .checkAvailability(this)
        ) {
            ArCoreApk.Availability.SUPPORTED_INSTALLED -> {
                session = Session(this)
                session.resume()
            }
            else -> {
                showInstallPrompt()
            }
        }
    }
}

Preguntas frecuentes

¿Qué dispositivos son compatibles con ARCore?

ARCore es compatible con más de mil millones de dispositivos Android, incluidos Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ y muchos otros. La lista completa de dispositivos certificados está publicada en developers.google.com/ar/devices.

¿Se necesita internet para usar ARCore?

Las funciones básicas de ARCore — Motion Tracking y Environmental Understanding — no requieren internet. Cloud Anchors y Augmented Images con referencias en la nube requieren conexión. Depth API y Scene Mesh funcionan completamente en el dispositivo sin conexión a la red.

¿Se pueden crear aplicaciones AR sin Sceneform?

Sí, ARCore se puede usar con OpenGL ES 3.1 directamente, con Unity o Unreal Engine. Sceneform es la opción recomendada para proyectos simples en Kotlin, pero no es obligatorio. Para escenas 3D complejas con física realista, es mejor usar motores de juego con soporte de ARCore SDK.

¿Cómo funciona ARCore en interiores y exteriores?

ARCore está optimizado para espacios interiores con iluminación suficiente (100–500 lux). En exteriores con luz solar intensa, la precisión del seguimiento puede disminuir debido a la sobreexposición de la cámara. Para uso en exteriores, Google recomienda la API Street View Geometry, que proporciona mapas de profundidad para ubicaciones urbanas.

¿En qué se diferencia ARCore de Scene Viewer?

Scene Viewer es un componente de interfaz de usuario listo de Google para ver modelos 3D en AR sin escribir código, que funciona a través de WebXR. ARCore es un SDK completo para crear experiencias AR personalizadas con control programático sobre todos los aspectos de la sesión, el seguimiento y el renderizado.

Resumen

  • ARCore — una plataforma AR multiplataforma de Google, que funciona en Android e iOS.
  • Motion Tracking utiliza un híbrido de IMU y odometría visual para un posicionamiento preciso.
  • Cloud Anchors permiten sesiones AR multiusuario con sincronización a través de Firebase.
  • Depth API construye un mapa de profundidad de la escena — mediante software o a través de un sensor ToF.
  • Sceneform — el SDK recomendado para crear aplicaciones AR en Kotlin con código mínimo.
  • Compatibilidad — más de mil millones de dispositivos Android con certificación ARCore.
  • Elección entre ARCore y ARKit depende de la plataforma objetivo y los requisitos de precisión.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también