De una foto a un modelo 3D para AR: lo que debes saber

Convertir una foto en un modelo 3D para realidad aumentada significa producir un activo ligero y en tiempo real que pueda anclarse al mundo real y entregarse a través de runtimes de AR como ARKit/RealityKit en Apple, ARCore en Android o WebXR en el navegador. El objetivo no es solo crear una malla, sino que sea óptima para su visualización en dispositivos móviles.

Los formatos de entrega dominantes son glTF/GLB para la transmisión de activos 3D en tiempo de ejecución y USDZ para Apple AR Quick Look. glTF es un estándar libre de regalías para la transmisión eficiente de escenas y modelos 3D, y puede almacenarse como un único archivo binario .glb; glTF 2.0 se convirtió en ISO/IEC 12113:2022.

Formatos y estándares para AR

glTF es un formato clave para la entrega de activos 3D en runtime. Su especificación es royalty-free y puede almacenarse como un archivo .glb único, lo que facilita su carga en aplicaciones y web. glTF 2.0 alcanzó el estatus de norma ISO/IEC 12113:2022, lo que respalda su adopción generalizada.

Para el ecosistema Apple, USDZ es el formato preferido para AR Quick Look, que permite colocar objetos 3D en el mundo real en iPhone y iPad. AR Quick Look, impulsado por ARKit, también admite modelos y escenas creadas en Reality Composer.

  • glTF/GLB: formato binario único, ideal para transmisión eficiente.
  • USDZ: formato de Apple para AR Quick Look en iOS.
  • Un mismo activo puede requerir exportación en múltiples formatos.

Herramientas para crear modelos 3D desde fotos

Apple ofrece Object Capture API en RealityKit, que utiliza algoritmos de fotogrametría para crear objetos 3D optimizados para AR en minutos. Esta herramienta está diseñada para desarrolladores que trabajan en el ecosistema Apple y buscan una integración rápida con ARKit y RealityKit.

Para Android y web, ARCore proporciona conceptos fundamentales de AR como anclas, hit-testing, profundidad, estimación de iluminación e imágenes aumentadas. ARCore tiene rutas de desarrollo para Android, iOS, Unity (AR Foundation) y Unreal Engine, lo que facilita la colocación de contenido en entornos reales.

Visualización web y AR en el navegador

El componente <model-viewer> permite mostrar modelos 3D interactivos en la web y en AR. Es compatible con las dos últimas versiones principales de los navegadores de escritorio y móviles de ciclo continuo, además de las dos últimas versiones de Safari. Las funciones de WebXR solo son necesarias para el modo 'webxr' en ar-modes.

La WebXR Device API permite renderizar escenas 3D en dispositivos de salida AR y VR, incluidos teléfonos móviles que aumentan la vista de la cámara con imágenes generadas por computadora. Sin embargo, es experimental, no es Baseline y requiere un contexto seguro (HTTPS), por lo que el soporte en navegadores no es universal.

Limitaciones y consideraciones prácticas

Los activos para AR deben ser ligeros y capaces de funcionar en tiempo real, lo que limita el número de polígonos y el tamaño de las texturas en comparación con la renderización offline o para VR. Además, AR Quick Look y Object Capture son características de la plataforma Apple; Android y la web AR requieren formatos y pipelines diferentes.

Dado que glTF/GLB y USDZ son formatos de entrega distintos, un mismo activo puede necesitar conversión o exportación en múltiples formatos. La investigación no establece límites específicos de polígonos, tamaño de texturas o tamaño de archivo para modelos listos para AR, por lo que se recomienda optimizar según las necesidades del proyecto.

Preguntas frecuentes

¿Puedo convertir una sola foto en un modelo 3D para AR?+

La investigación no confirma qué métodos de fotogrametría o reconstrucción por IA funcionan a partir de una sola foto en comparación con múltiples fotos. Apple Object Capture utiliza fotogrametría, que generalmente requiere varias imágenes, pero no se especifica si una sola es suficiente.

¿Qué formato debo usar para AR en iOS y Android?+

Para iOS, USDZ es el formato preferido para AR Quick Look. Para Android y web, glTF/GLB es el estándar para transmisión eficiente. Un mismo activo puede necesitar exportarse en ambos formatos.

¿WebXR funciona en todos los navegadores?+

No. WebXR es experimental, no es Baseline y requiere un contexto seguro (HTTPS). Su soporte no es universal y depende del navegador y dispositivo.