Saltar al contenido principal

INVESTIGACIÓN: Model Viewer

Elaboró: María José González

Fecha de elaboración: 12 jun 2026

Model Viewer

Es un componente web de código abierto desarrollado y mantenido por Google que permite incrustar modelos 3D interactivos directamente en una página web, sin necesidad de instalar ninguna aplicación adicional. El usuario puede rotarlo, hacer zoom y explorarlo con un gesto o clic, y en dispositivos compatibles activar Realidad Aumentada (AR) para posicionarlo en su entorno físico real.

Cuándo usarlo

Sí usar:

  • Cuando el objetivo es que el usuario vea un objeto en su espacio real o lo explore en 3D, sin pedirle que descargue una aplicación.
  • Se necesita AR rápida y accesible en móvil, sin presupuesto para app nativa.
  • La experiencia se limita a explorar un objeto: rotar, acercar, ver en espacio real.
  • El tiempo de desarrollo es corto y se necesita una solución lista para web.

No usar:

  • La experiencia requiere que los objetos interactúen entre sí (física, colisiones).
  • Se necesita controlar la UI mientras el usuario está en modo AR.
  • Hay múltiples escenas, flujos o lógica condicional.
  • El diseño depende de efectos visuales avanzados o partículas.

Funcionalidad

El diseñador y el desarrollador acuerdan un archivo .glb (modelo 3D empaquetado) que se incrusta en la página como si fuera una imagen. El componente maneja automáticamente la carga, el renderizado, la iluminación base y los gestos. El equipo de diseño define la experiencia visual y de interacción; el dev conecta el archivo y ajusta parámetros de comportamiento.

Modos de AR

Model Viewer no tiene un solo modo de AR: usa tecnologías distintas dependiendo del dispositivo y el navegador del usuario. El componente detecta automáticamente cuál usar y hace el fallback si es necesario.

Android

WebXR — La AR sucede dentro del mismo navegador. El navegador tiene acceso a la cámara y al rastreo del espacio, todo en la misma ventana donde vive tu página. En teoría permitiría mantener elementos de UI propios encima de la experiencia AR. Requiere Chrome actualizado y ARCore instalado en el dispositivo.

Scene Viewer — Es una aplicación instalada en Android, parte de Google Play Services. Cuando se activa, Chrome literalmente abre otra app del sistema: el usuario sale del navegador, ve el modelo en su espacio real, y al cerrar regresa a Chrome. Nuestra interfaz desaparece por completo mientras dura la experiencia. Es el fallback automático cuando WebXR no está disponible, y funciona en una gama mucho más amplia de dispositivos.

Sin soporte AR: Si el dispositivo no es compatible con ninguno de los modos anteriores (desktop, navegadores sin soporte, dispositivos viejos), Model Viewer simplemente muestra el modelo en 3D sin AR. La experiencia no se rompe.

Comportamiento distinto entre iOS y Android: El mismo modelo puede verse diferente dependiendo del dispositivo. iOS aplica estimación de iluminación automática en AR, lo que tiende a producir modelos más oscuros pero mejor integrados al entorno real. Android con WebXR no adapta la iluminación al entorno por defecto, lo que puede hacer que el modelo se vea más brillante o descontextualizado. Además, iOS en AR solo soporta el formato .usdz, mientras que Android usa el .glb directamente. Cuando no se entrega un .usdz dedicado, Model Viewer lo genera automáticamente a partir del .glb, y esa conversión no siempre es perfecta. El modelo debe validarse en ambos sistemas operativos antes de presentarlo al cliente.

Alcance de diseño

Hay control total sobre todo lo que rodea al modelo: la pantalla de carga, la imagen que aparece mientras carga, el botón que activa AR, los puntos interactivos con su información, las instrucciones para el usuario y cualquier elemento visual que viva fuera del visor. El límite aparece cuando el usuario activa la cámara para ver el objeto en su espacio real. En ese momento, el celular toma el control y la interfaz diseñada desaparece. Los botones que ve el usuario desde ahí — capturar foto, compartir, cerrar — son del sistema operativo y no se pueden modificar.

Limitantes

Formato de archivo: Solo trabajamos con archivos .glb. No se pueden importar archivos nativos de software 3D (como .blend, .fbx o .max). Antes de pasarlo a desarrollo, el modelo debe estar exportado, optimizado y validado en ese formato.

Peso del archivo: El peso del modelo impacta directamente la experiencia del usuario. Un archivo pesado se traduce en tiempos de carga largos, especialmente en móvil. La regla general: geometría simplificada, texturas comprimidas y sin datos innecesarios.

AR nativa: pérdida de control de interfaz: Cuando el usuario activa la cámara para ver el objeto en su entorno real, el navegador transfiere el control al sistema operativo del dispositivo (iOS o Android). En ese momento, nuestra interfaz desaparece: botones, marca y overlays dejan de estar disponibles. No es posible diseñar una UI personalizada encima de la experiencia AR nativa.

No es un motor de videojuegos: Model Viewer está optimizado para visualización de productos: rotación, colores, materiales y animaciones simples como abrir una tapa o desplegar un componente. No soporta mecánicas complejas como físicas, colisiones o sistemas de partículas. Para ese tipo de interactividad, se necesita una herramienta diferente.

Estilo visual basado en PBR: El renderizado de Model Viewer sigue el estándar PBR (Physically Based Rendering), que simula cómo los materiales se comportan con la luz real. No soporta shaders personalizados ni efectos visuales complejos. Si el diseño depende de iluminación muy específica o efectos "de producción", es probable que el resultado en el viewer se vea diferente al render original.

Oclusión de figura humana: El modelo 3D siempre aparece encima de todo lo que hay en la cámara, incluyendo personas. No es posible lograr que un objeto quede detrás de un usuario u objeto. Para conseguir ese efecto se necesita una solución diferente: una app nativa con ARKit (iOS) o ARCore (Android), o herramientas WebAR más avanzadas como 8th Wall.

Solo detección de planos: Model Viewer únicamente detecta superficies planas para colocar el objeto en el espacio real. No detecta paredes, objetos irregulares ni superficies verticales. Esto significa que experiencias donde el objeto necesita anclarse a una pared, flotar en el aire de forma controlada o posicionarse sobre una superficie no plana no son posibles con esta herramienta.


Recursos adicionales

https://modelviewer.dev/https://developers.google.com/ar/develop/webxr/model-viewer?hl=es-419