Llevo años construyendo experiencias de Realidad Aumentada con Unity para clientes. Catálogos que cobran vida, productos que se prueban en tu sala antes de comprarlos. Y sin embargo, mi portfolio decía "hago AR" en texto plano. Como un chef que te describe el plato pero nunca te deja probarlo.
Eso me incomodó lo suficiente como para arreglarlo un martes por la tarde.
La regla que me puse fue una sola: tiene que funcionar en el celular de quien me está evaluando, sin instalar nada, con un solo tap. Un reclutador no va a descargar una app para conocerme. Si hay fricción, no hay demo.
La decisión aburrida que resultó ser la correcta. Mi primer instinto fue armar algo con Three.js y WebXR, control total de la escena. Pero mientras leía documentación me di cuenta de que estaba resolviendo el problema equivocado. model-viewer — el componente web de Google — ya hace todo lo que necesitaba: visor 3D con rotación, y AR nativo vía Scene Viewer en Android y Quick Look en iOS. Veinte líneas donde yo estaba planeando trescientas.
El modelo 3D lo generé con código. Aquí viene mi parte favorita. En vez de descargar un modelo de Sketchfab con licencias dudosas y 5 MB de peso, escribí un script en Python que construye mi logo — una torre de ajedrez — con cajas y materiales PBR. Resultado: un .glb de 4.7 KB. Sí, kilobytes. Carga instantánea hasta en 4G rural.
Para iOS necesitaba el formato .usdz de Apple. La ruta oficial es una app con interfaz gráfica, pero encontré algo mejor: las herramientas USD de Pixar tienen paquete de Python. Otro script, misma geometría, y el validador ARKit dio cero errores. Todo el pipeline de assets es reproducible con dos comandos.
El bug que me costó una hora. El visor vive en un modal, y en react-native-web descubrí que el wrapper animado del Modal deja pointer-events: none pegado después del fade: todo se ve perfecto, pero nada es clickeable. La solución fue quitar la animación nativa del Modal y hacer el fade por mi cuenta. Lo cuento porque ese tipo de bug — visualmente todo bien, funcionalmente todo muerto — es el que no aparece en los tutoriales.
Hoy, en la sección de proyectos, hay una card que dice "Realidad Aumentada en tu navegador". La abres, giras la torre, y desde tu celular la pones en tu escritorio. La demo es el proyecto.
¿Tienes un producto que la gente entendería mejor tocándolo que leyéndolo? Eso es exactamente lo que el WebAR resuelve. Cuéntame qué vendes y te digo si aplica.