img2threejs convierte una imagen en un modelo 3D editable escrito con código

Las herramientas de inteligencia artificial capaces de transformar una imagen en un objeto 3D llevan tiempo mejorando, pero la mayoría comparten una misma filosofía: generar directamente una malla, normalmente compleja, pesada y difícil de modificar. img2threejs propone un enfoque diferente: reconstruir el objeto escribiendo código procedural con Three.js.

El proyecto es open source, se distribuye bajo licencia Apache 2.0 y está pensado para trabajar con agentes como Claude Code, Codex u OpenCode. A partir de una imagen de referencia, genera una factoría en TypeScript que devuelve un THREE.Group compuesto por primitivas, geometría generada, materiales y una jerarquía preparada para animación e interacción.

Las claves en 30 segundos

  • img2threejs reconstruye objetos a partir de una imagen de referencia.
  • No basa el resultado en fotogrametría ni en la extracción automática de una gran malla.
  • Genera código TypeScript y Three.js.
  • Utiliza primitivas, shaders procedurales y geometría generada.
  • Puede incorporar pivotes, sockets, colliders y jerarquías de componentes.
  • Trabaja en varias fases y compara los renders resultantes con la referencia.
  • Está preparado para ejecutarse con Claude Code, Codex y OpenCode.
  • El resultado puede editarse, versionarse y reutilizarse como cualquier otro código.
  • El proyecto reconoce expresamente las limitaciones derivadas de intentar reconstruir geometría tridimensional desde una única imagen.

De una imagen a código Three.js

La diferencia fundamental de img2threejs está en el resultado que produce.

En lugar de devolver simplemente un archivo 3D, el sistema construye una función en TypeScript encargada de recrear el objeto mediante Three.js. El propio repositorio lo define como un proceso de “reconstruction-by-code”, diferenciándolo expresamente de la fotogrametría, la extracción de mallas o la utilización de paquetes de modelos previamente creados.

Eso permite que un objeto termine formado por elementos comprensibles para un desarrollador: primitivas geométricas, curvas, materiales, geometría procedural y componentes organizados jerárquicamente.

El resultado, según la documentación actual del proyecto, es una factoría que devuelve un THREE.Group. Además de la geometría visible, puede existir una estructura de ejecución con pivotes, sockets, colliders y otros elementos pensados para que el modelo pueda animarse o integrarse posteriormente dentro de una aplicación.

No intenta resolver todo en una sola generación

Otro elemento interesante es que img2threejs no plantea la reconstrucción como una única petición al modelo de IA.

Utiliza un pipeline progresivo similar a un proceso de escultura digital.

Las fases documentadas actualmente son:

blockout → structural → form → material → surface → lighting → interaction → optimization

Primero se trabajan los volúmenes generales y la estructura. Después se refinan las formas, materiales y superficies antes de avanzar hacia iluminación, interacción y optimización.

El sistema genera y revisa cada fase mediante visión, utilizando comparaciones entre la imagen original y el render obtenido. El objetivo es detectar diferencias y corregir el modelo antes de pasar a la siguiente etapa.

La IA juzga; los scripts hacen el trabajo mecánico

Uno de los aspectos más curiosos de la arquitectura es cómo intenta reducir el consumo de tokens.

El proyecto evita que el modelo de lenguaje tenga que ocuparse de todas las tareas mecánicas del proceso.

Una colección de scripts deterministas en Python se encarga de aspectos como la validación, la gestión del estado del pipeline, la generación de especificaciones, las comprobaciones de calidad o la creación de hojas de comparación.

La IA se reserva principalmente para aquello donde resulta más útil: observar el resultado y decidir qué necesita corregirse.

Según el proyecto, sus scripts principales funcionan con Python 3.10 o superior y están diseñados sin dependencias externas para el núcleo básico.

Antes de construir, intenta entender el objeto

img2threejs incorpora además una fase denominada detailInventory.

Antes de comenzar la generación, el sistema intenta identificar pequeños elementos importantes para que el objeto conserve su identidad visual.

Puede registrar características como:

  • biseles y redondeos;
  • tornillos y remaches;
  • líneas grabadas o pintadas;
  • contornos;
  • diferencias entre superficies mate y brillantes;
  • desgaste y manchas;
  • pequeños detalles estructurales.

Estos elementos deben asociarse posteriormente a un componente o material concreto.

Existe incluso un modo de calidad estricto que puede bloquear la generación si la especificación inicial resulta demasiado superficial.

Un modelo pensado para seguir siendo editable

Aquí aparece probablemente la principal ventaja conceptual frente a muchos sistemas image-to-3D.

Una malla generada automáticamente puede ofrecer un resultado visual convincente, pero posteriormente modificarla no siempre resulta sencillo.

Con img2threejs, el objeto es código.

Por tanto, un desarrollador puede localizar una pieza, alterar sus dimensiones, cambiar un material, modificar su posición o incluso sustituir completamente la lógica utilizada para construirla.

También puede añadir comportamiento.

Por ejemplo, una puerta puede tener un pivote de rotación, una rueda puede convertirse en una pieza independiente o determinadas partes pueden exponerse como sockets para conectar posteriormente otros objetos.

Ese enfoque puede resultar especialmente útil para:

  • experiencias web 3D;
  • configuradores de producto;
  • videojuegos;
  • visualizaciones interactivas;
  • prototipos;
  • interfaces WebGL;
  • escenas generativas;
  • experiencias educativas;
  • aplicaciones que necesiten manipular objetos en tiempo real.

Los modelos pueden ejecutarse directamente en el navegador

El repositorio incluye una galería independiente donde las reconstrucciones funcionan directamente mediante Three.js.

Entre los ejemplos disponibles aparecen una bicicleta BMX, unos auriculares Sony WF-1000XM3 con su estuche, un diorama de una casa de Doraemon y distintos objetos hard-surface.

El proyecto señala expresamente que las demostraciones están construidas mediante primitivas, shaders procedurales y geometría generada, y que el código fuente de cada reconstrucción puede inspeccionarse.

Esto refuerza una de las ideas centrales de img2threejs: el objetivo no es obtener un archivo 3D opaco, sino un modelo que forme parte directamente del código de una aplicación.

También admite personajes, aunque con importantes limitaciones

El proyecto ha ampliado su planteamiento inicial más allá de los objetos rígidos.

Actualmente clasifica los sujetos como object, character o hybrid.

Los personajes siguen una ruta específica que tiene en cuenta proporciones, landmarks faciales y pose. Existe además un modo opcional orientado a maximizar el parecido mediante ajuste de una plantilla paramétrica, coincidencia de cámara y proyección de la referencia.

Sin embargo, aquí el propio proyecto introduce una advertencia importante.

Una única imagen no permite conocer con precisión todas las partes de un objeto tridimensional.

Las superficies ocultas tienen que inferirse y el sistema no puede garantizar una reconstrucción geométricamente exacta.

De hecho, la documentación establece que debe indicarse qué regiones tienen menor confianza y que solicitar imágenes adicionales puede ser necesario cuando la fidelidad sea importante.

También puede utilizar varias vistas

Para reducir esa limitación existe un modo opcional denominado visualHull.

Cuando se proporcionan al menos dos siluetas ortográficas, puede intersectarlas para construir una aproximación volumétrica.

En lugar de inventar automáticamente aquello que no aparece en las imágenes, el sistema registra las regiones desconocidas como zonas de baja confianza.

Es un detalle importante porque diferencia entre reconstrucción probable y geometría realmente respaldada por las referencias.

Cómo se utiliza img2threejs

La instalación documentada para Claude Code consiste en clonar el repositorio dentro del directorio de skills:

git clone https://github.com/img2threejs/img2threejs.git ~/.claude/skills/img2threejsLenguaje del código: PHP (php)

Después puede adjuntarse una imagen y realizar una petición similar a:

/img2threejs Rebuild this object as a Three.js model,
keep the proportions, angles, and colours.Lenguaje del código: JavaScript (javascript)

El sistema analiza la imagen, crea una evaluación inicial, genera una especificación y va construyendo posteriormente el modelo por fases.

También puede utilizarse desde Codex u OpenCode, ya que el proyecto se plantea como independiente del agente concreto que aporte visión y acceso al navegador.

No sustituye necesariamente a las herramientas image-to-3D

img2threejs no debería entenderse simplemente como un competidor directo de todos los generadores tradicionales de modelos 3D.

El objetivo es diferente.

Cuando la prioridad consiste exclusivamente en conseguir rápidamente una malla detallada para renderizar, otras técnicas pueden resultar más apropiadas.

img2threejs resulta especialmente interesante cuando importa que la estructura final sea:

  • comprensible;
  • editable;
  • procedural;
  • animable;
  • ligera;
  • versionable con Git;
  • directamente integrable en una aplicación web.

Su salida principal incluye tanto una especificación ObjectSculptSpec en JSON como una factoría TypeScript que genera el objeto.

Eso significa también que los cambios pueden revisarse mediante diffs y mantenerse en un repositorio de software igual que cualquier otra parte de una aplicación.

Su hoja de ruta va mucho más allá de objetos individuales

El roadmap del proyecto apunta hacia algo considerablemente más ambicioso.

Entre las próximas etapas aparecen mejoras en personajes, reconstrucción de entornos, exportadores para Unity y Unreal, integración con Blender, generación de LOD, auto-rigging y una futura interfaz web.

También contempla, más adelante, reconstrucción multivista y generación procedural de escenarios completos.

Conviene diferenciar, no obstante, esas intenciones de las funciones actualmente disponibles: varias pertenecen todavía explícitamente a la hoja de ruta y no deben interpretarse como prestaciones terminadas.

Una forma diferente de pensar el 3D generado por IA

La idea más interesante de img2threejs probablemente no sea únicamente que una IA pueda reconstruir un objeto desde una fotografía.

Eso ya lo hacen otros sistemas.

Lo novedoso es considerar que el activo 3D final puede ser código en lugar de un archivo.

Un objeto deja así de ser simplemente una malla que se importa en una aplicación y pasa a convertirse en una estructura programable cuyos componentes, materiales, interacciones y animaciones pueden modificarse directamente.

Para el desarrollo web y las experiencias interactivas, esa diferencia puede ser importante.

Las herramientas image-to-3D tradicionales intentan generar geometría.

img2threejs intenta generar algo distinto: la receta para reconstruir esa geometría mediante código.

Y precisamente por eso puede terminar siendo especialmente interesante para desarrolladores que quieran utilizar inteligencia artificial no solo para crear activos 3D, sino para obtener activos que posteriormente puedan entender, modificar y programar.

Fuente

Repositorio oficial de img2threejs en GitHub, documentación y README del proyecto.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×