Pipeline de assets 3D · del prompt al GLB

Pipeline de assets 3D: de un prompt de texto a un GLB listo para el juego (paso a paso)

Crea tu propio pipeline de assets 3D

Todo el recorrido que hace un modelo 3D creado con IA: prompt, malla, retopología, UV, textura, GLB comprimido, y los puntos de control que impiden que un asset defectuoso llegue a tu juego.

✦Juego
Crea pipeline de assets 3d

Un pipeline de assets 3D es el recorrido ordenado que sigue un modelo desde una descripción escrita hasta un archivo que tu juego pueda cargar: describir, generar la malla, retopologizar, desplegar y texturizar, inspeccionar y exportar un GLB comprimido. En Neta Studio ese recorrido termina en un GLB que el constructor de juegos 3D entrega a Three.js en el navegador, así que cada etapa tiene que producir algo que un navegador pueda soportar, no solo algo que se vea bien en un viewport de escritorio.

La mayoría de los pipelines no fallan con estrépito. Fallan en silencio: un modelo que se veía correcto en el editor llega al nivel cuarenta veces más grande, o una textura que era nítida en el torso se ve como papilla en las botas porque las islas UV se empaquetaron con densidades distintas. Los puntos de control que se describen abajo son los baratos: un pase de wireframe, una selección de geometría no manifold, una medición de la caja delimitadora. Cada uno toma menos de un minuto y cada uno atrapa una clase de defecto que te cuesta una tarde una vez que el asset está dentro de la escena.

Respuesta rápida: qué es un pipeline de assets 3D

Un pipeline de assets 3D es el conjunto ordenado de etapas que convierte una descripción en un archivo que un motor de juegos o un navegador puede cargar. Son seis: describir el objeto con palabras, generar la malla, retopologizar cuando la topología es inutilizable, desplegar las UV y texturizar la superficie, inspeccionar el wireframe, las normales y los slots de material, y exportar un GLB comprimido. Nada de esa lista es opcional para un objeto texturizado, y cada etapa tiene una puerta que puedes revisar antes de continuar.

El orden importa porque las etapas son dependencias, no una lista de tareas. La retopología reescribe los índices de vértices, así que cualquier mapa UV o textura horneada que se haya producido antes se descarta. Las texturas se crean contra las UV, así que desplegar después de texturizar significa rehacer la textura. La compresión tiene pérdida y se ejecuta al final, así que los artefactos que introduce son indistinguibles de defectos que deberías haber atrapado tres etapas antes. Ejecutar las etapas fuera de orden no solo cuesta tiempo; produce archivos que pasan la inspección y aun así se rompen en la escena.

Piensa en cada etapa como un productor con un contrato. La etapa 2 debe entregar a la etapa 3 una sola malla en metros con un recuento de triángulos conocido. La etapa 4 debe entregar a la etapa 5 un modelo cuyas islas compartan un único set de texturas. La etapa 6 debe entregar al runtime un archivo por debajo de un presupuesto de tamaño, con materiales que se correspondan uno a uno con lo que espera el renderizador. Cuando un asset se comporta mal más adelante, el contrato que nunca se escribió suele ser el que se rompió.

Las seis estaciones de un vistazo

Cada estación tiene una salida y un fallo característico. La columna de fallo es la útil: te dice qué tiene que revisar la puerta al final de cada etapa antes de dejar avanzar el asset.

EtapaQué produceFallo más común
1. DescribirUn prompt que fija silueta, material, escala, pose y estiloUn prompt vago devuelve un objeto fusionado de varias partes a un tamaño arbitrario
2. Generar la mallaUna malla densa de triángulos, normalmente decenas de milesCáscara abierta, caras interiores, ninguna silueta usable desde el lateral
3. RetopologizarUna malla limpia con el presupuesto de triángulos que elegisteRetopología hecha después del desplegado, descartando las UV
4. Desplegar y texturizarIslas UV empaquetadas en 0–1 más un set de albedo y rugosidadDensidad de téxeles desigual, costuras que cruzan la curvatura visible
5. InspeccionarNormales, slots de material y wireframe confirmadosNormales invertidas y slots de material vacíos descubiertos después de exportar
6. Exportar GLBUn .glb comprimido con las texturas incrustadasCompresión de geometría aplicada a una malla con skin que luego pierde los pesos

Etapa 1: describir el objeto

Un prompt de generación es una especificación, no un deseo. Cinco campos hacen el trabajo: silueta, material, escala, pose y estilo. Las palabras de silueta deciden el contorno alrededor del cual se construye la malla. Las palabras de material deciden el albedo y la rugosidad. Las palabras de escala anclan la proporción: escribe 1,8 m de alto en lugar de alto, porque el generador no tiene otra forma de saber si está haciendo un adorno de mesa o un edificio. Las palabras de pose importan para cualquier cosa que vaya a llevar esqueleto: una pose neutra en A o una postura erguida genera una malla a la que se le puede ajustar un esqueleto, mientras que una pose de acción incrusta las extremidades en una forma que no puedes volver a riggear con facilidad.

Vale la pena añadir dos cláusulas más siempre. Indica el número de partes —objeto único, o cuerpo y base separados— porque la geometría fusionada es la razón más común por la que un asset generado no se puede animar ni recibir materiales por parte. Y indica qué dejar fuera: sin peana, sin fondo, sin plano de suelo. Los generadores llenan el espacio vacío con geometría de aspecto plausible, y cada superficie extra que no pediste es una superficie que tendrás que borrar después.

  • Prompt débil"una linterna de piedra": sin escala, sin material, sin pose, sin número de partes. El generador elige un estilo y un tamaño por ti, y recibes una linterna fantástica de 9 m de alto con un cristal brillante en el brasero y una peana fusionada a la base que te llevará veinte minutos quitar.
  • Prompt sólido"linterna de piedra única, 1,8 m de alto, tapa hexagonal, granito gris desgastado con líquenes en las juntas, postura vertical recta, brasero vacío, estilo realista sobrio, un solo objeto, sin peana, centrada en el origen": cada cláusula corresponde a una decisión que le quitaste al generador. La escala está fijada, el material está fijado, la pose es neutra, el número de partes es uno.

Etapa 2: generar la malla

La generación de malla es de texto a malla o de imagen a malla. La entrada de imagen te da un control más fino sobre la silueta porque puedes aportar una referencia con las proporciones que ya quieres; la entrada de texto es más rápida para objetos donde la forma es convencional. De un modo u otro, lo que vuelve es materia prima, no un asset listo para publicar. Una malla generada suele ser mucho más densa de lo necesario, con un flujo de triángulos irregular y sin ninguna consideración sobre cómo se cortará la superficie para las UV.

Revisa tres cosas antes de hacer cualquier otra cosa: si la malla está cerrada, si la escala es sensata y si el recuento de triángulos es uno que puedes permitirte en la escena que estás construyendo. Si la respuesta a la tercera es no y el objeto nunca se deforma, un modificador Decimate en modo Collapse con la silueta preservada es una respuesta legítima: no sustituye a la retopología, pero para un objeto estático suele ser el intercambio correcto.

1

01

Comprobación de estanqueidad: en Blender, Edit Mode → Select All by Trait → Non Manifold. El recuento esperado es cero. Los agujeros bajo una tapa o a lo largo de una extremidad significan que el generador produjo una cáscara abierta; sombreará mal y no se le podrán aplicar booleanos, solidificar ni imprimir en 3D.

2

02

Geometría duplicada e interior: Merge by Distance a 0,0001 m y luego vuelve a leer el recuento de triángulos. Las caras interiores sobreviven a la generación con una frecuencia sorprendente y aparecen como manchas oscuras bajo un render de normales.

3

03

Escala: lee la caja delimitadora en el panel N, no en el viewport. Un objeto pensado para medir 0,4 m que mide 4 m será reducido por quien lo coloque, y su volumen de colisión estará mal por el mismo factor.

4

04

Presupuesto de triángulos: aproximadamente 500–3.000 triángulos para un objeto, 5.000–15.000 para un objeto protagonista, menos de 500 para decoración de fondo. Una malla cruda de 200.000 triángulos es normal para un generador; no es normal para un asset listo para publicar.

Etapa 3: retopologizar cuando la malla está desordenada

La topología limpia de quads importa cuando la superficie tiene que hacer un trabajo después de exportar. Eso significa cualquier cosa que se deforme —personajes, tela, banderas, follaje— porque los bucles de aristas determinan si un codo se dobla o se colapsa. También importa cuando piensas subdividir, cuando piensas hornear detalle de alta densidad en un normal map (lo que necesita quads distribuidos de forma uniforme y un layout UV estable), cuando otra persona editará la silueta después y cuando necesitas versiones predecibles de menor detalle del mismo objeto.

No importa para un objeto estático visto a distancia, un objeto de superficie dura cuya silueta ya es correcta, ni para nada que termine por debajo de unos mil triángulos. En esos casos, una malla decimada con normales correctas y un contorno limpio es la respuesta correcta, y pasar una hora en el flujo de quads es una hora que nunca recuperarás en el render.

El orden es fijo: primero remallar o decimar, luego desplegar. La guía de UV unwrap de Blender asume que la malla es definitiva cuando empiezas a cortar costuras, y esa suposición es justamente el punto: la retopología cambia los índices de vértices y el flujo de aristas, así que un mapa UV hecho antes ya no existe en ningún sentido significativo, y cada textura pintada contra él queda desalineada. Haz el remallado, aplícalo y luego sigue la documentación de desplegado. Un Voxel Remesh a 0,01–0,02 m en un objeto de un metro seguido de QuadriFlow hasta un recuento de caras objetivo es la ruta estándar; Decimate Collapse es la ruta rápida para geometría estática.

Etapa 4: desplegar y texturizar

El desplegado corta la superficie en islas, aplana cada una con la menor distorsión posible y las empaqueta en el cuadrado UV 0–1. Smart UV Project da una base tolerable para objetos de superficie dura en segundos. Los personajes y cualquier cosa con curvatura visible merecen costuras colocadas a mano: por el interior de una extremidad, a lo largo de la espalda, detrás de la oreja; nunca por el medio de una forma que la cámara verá de frente.

La densidad de téxeles es el número que decide si el modelo se ve coherente. Es la resolución de textura por unidad de mundo: un mapa de 1024×1024 repartido sobre un metro cuadrado da unos 1.024 píxeles por metro. Si la cabeza de tu personaje recibe 1.024 px/m y las botas reciben 300 px/m, las botas se ven visiblemente más blandas en el mismo cuadro y ningún enfocado lo arregla. Presupuesta la densidad una vez, luego escala cada isla para igualarla y mantén las islas dentro de aproximadamente un 10–20% entre sí.

El empaquetado necesita margen, no solo eficiencia. Deja 4 píxeles de relleno a 1024 y 8 a 2048 para que el mipmapping y el filtrado bilineal no arrastren islas vecinas a una costura. Mantén las UV estrictamente dentro de 0–1 para una build web: algunos exportadores admiten los tiles UDIM y la mayoría de los cargadores de navegador no, y un segundo set de texturas cuesta un segundo draw call. Si parte del modelo nunca es visible, gasta su espacio UV en las partes que sí lo son en lugar de borrar las caras: las caras faltantes son más difíciles de diagnosticar después que una zona oculta con algo menos de densidad.

Etapa 5: inspeccionar antes de exportar

La inspección son tres pasadas separadas, cada una buscando una clase específica de defecto. Hazlas en este orden, porque un problema de normales esconde un problema de material y un problema de material esconde un problema de wireframe.

Wireframe

Cambia a wireframe y lee la distribución de triángulos. Buscas astillas largas y finas, que sombrean mal y deforman peor; n-gonos, que el exportador de glTF triangula por su cuenta y a veces en una dirección que no elegiste; y densidad en el lugar equivocado: una pared plana que carga 6.000 triángulos mientras la tapa curva carga 200. La densidad debe seguir la curvatura y la deformación, no el orden en que el generador emitió las caras.

Normales

Recalcula hacia fuera y luego mira el modelo bajo una sola luz direccional con el descarte de caras traseras activado. Las caras invertidas se leen como manchas negras o desaparecen por completo. Revisa también las aristas duras: un ángulo de auto-smooth de unos 30° va bien para objetos de superficie dura y 60° para orgánicos, y las normales divididas personalizadas son lo primero que una conversión de formato mutila en silencio. Si el modelo solo se ve negro después de exportar, vuelve a exportar sin compresión de geometría para ver si el culpable es el compresor o la malla.

Slots de material

Cuenta los slots. Las mallas generadas llegan rutinariamente con seis, dos vacíos y otros dos apuntando a copias duplicadas de la misma imagen. Cada material es un draw call, así que consolida en un material con una textura cuando el objeto lo permita, borra los slots vacíos y confirma el modo alfa: BLEND fuerza el ordenado y cuesta fill rate, MASK es más barato y normalmente correcto para follaje y barandillas. Revisa también la bandera de doble cara: dejarla activada duplica la superficie sombreada sin ninguna ganancia visual.

Galería de modelos de Blender: una exportación real de Blender que puedes inspeccionar en el navegador.

Etapa 6: exportar un GLB comprimido

Para una build de navegador, fija un presupuesto de tamaño antes de exportar, no después. Un solo objeto debería quedar por debajo de aproximadamente 1 MB, un personaje protagonista entre 2 y 4 MB, y una escena completa por debajo de unos 15–20 MB si esperas que cargue en un portátil de gama media sin una pausa visible. Las texturas dominan ese presupuesto: 512 px para elementos de fondo, 1024 px para objetos, 2048 px solo para algo a lo que la cámara se acerque.

La compresión hace dos trabajos distintos y vale la pena separarlos. La compresión de geometría —Draco o Meshopt— cuantiza las posiciones de vértices, las normales y las UV a un número fijo de bits y reordena el búfer. Draco suele producir el archivo más pequeño; Meshopt decodifica más rápido, lo que importa en móvil. Ambos tienen pérdida a nivel de precisión y ambos pueden alterar los pesos de skin y los morph targets si la malla no era limpia desde el principio. La compresión de texturas vía KTX2/Basis mantiene la imagen comprimida en la memoria de la GPU en lugar de decodificarla a RGBA sin procesar, a costa de una extensión que tu cargador tiene que soportar: la especificación central de glTF solo garantiza PNG y JPEG.

Abre siempre el archivo exportado en un visor de GLB o impórtalo en el constructor de juegos 3D antes de darlo por terminado. El exportador es donde las normales se invierten, los slots de material se colapsan en uno y la escala se desvía porque se aplicó una transformación al padre y no a la malla. Probar en la herramienta que produjo el asset no demuestra nada; probar en el cargador con el que realmente vas a publicar lo demuestra todo.

Dónde se rompen los pipelines y cómo detectarlo

Los síntomas de abajo cubren la mayor parte de lo que sale mal. Fíjate en que cuatro de los seis son visibles en una sola pasada de inspección, y ninguno requiere que abras el archivo de origen si pruebas bien el GLB exportado.

Por qué los fallos del pipeline de assets 3D se agrupan en dos etapas

La generación y la exportación producen la mayoría de los defectos, por razones opuestas. La generación no tiene restricciones: no se le ha dicho al modelo qué debe ser, así que inventa escala, número de partes y geometría interior. La exportación es destructiva: es el primer punto donde los datos se cuantizan, se reordenan y se empaquetan en un solo archivo, así que cada problema latente de la malla se vuelve visible a la vez. Las etapas 3 a 5 existen para mover los defectos fuera del extremo destructivo de la cadena y llevarlos a un lugar donde todavía puedes verlos con claridad.

SíntomaCausaSolución
El modelo se renderiza negro absoluto o invisible en la escenaNormales de vértice invertidas o ausentes, a veces introducidas al exportarRecalcular hacia fuera antes de exportar; reexportar sin compresión para aislar la causa
El objeto es demasiado grande o demasiado pequeño en el nivelDesajuste de unidades: creado en centímetros, esperado en metros, o escala nunca aplicadaMedir la caja delimitadora, aplicar escala y fijar la unidad de escena en metros antes de exportar
La textura es nítida en el torso y borrosa en las botasDensidad de téxeles desigual entre islas UVReempaquetar por densidad en espacio de mundo y acercar las islas a un 20% entre sí
El GLB pesa decenas de megabytes y la pestaña se bloqueaGeometría sin comprimir más texturas PNG de 4096 pxBajar a 1024/2048, aplicar Draco o Meshopt, eliminar materiales sin uso y caras ocultas
La malla se desgarra en el codo al animarRetopología hecha después del rigging, o vértices sin soldar a lo largo de una costuraRetopologizar antes del rigging; fusionar por distancia y revisar los pesos de skin
Líneas brillantes o resplandor en las costuras UVSin relleno en los bordes de las islas, así que los mipmaps muestrean la isla vecinaAñadir 4–8 px de margen a 1024, hornear con margen y mantener las islas dentro de 0–1

Entra al mundo al que pertenece

Un sprite es un personaje sin un lugar donde estar. El último paso es el que nadie más ofrece: toma la hoja de sprites que acabas de construir y ponla en un mundo por el que alguien pueda caminar: una isla pequeña, un planeta, una esquina de calle lluviosa. Cada mundo de este sitio se hizo a partir de una descripción escrita y se publicó como una página que puedes jugar.

FAQ

¿Qué es un pipeline de assets 3D? +

El conjunto ordenado de etapas que convierte una descripción en un archivo cargable: describir, generar la malla, retopologizar, desplegar y texturizar, inspeccionar y exportar un GLB comprimido. El orden lo fijan las dependencias: la retopología destruye las UV, las texturas dependen de las UV y la compresión esconde defectos introducidos antes.

¿Por qué GLB en lugar de FBX u OBJ? +

GLB es un único contenedor binario definido por la especificación glTF: geometría, materiales, texturas y skinning en un solo archivo que Three.js y la mayoría de los motores leen sin conversor. OBJ no lleva datos de material ni de animación, y FBX necesita un SDK propietario. Para una build de navegador, GLB es el único formato que no exige una segunda herramienta en la cadena.

¿Necesito retopología? +

Solo cuando la superficie tiene que funcionar después de exportar: deformación, subdivisión u horneado de detalle de alta densidad en un normal map. Un objeto estático cuya silueta es correcta puede publicarse decimado. Retopologiza antes de desplegar y antes de riggear, nunca después.

¿Cuántos triángulos son demasiados? +

Presupuesta según la cobertura en pantalla y el número de instancias, no según una sola cifra. Aproximadamente 500–3.000 triángulos van bien para un objeto, 5.000–15.000 para un objeto protagonista y menos de 500 para decoración de fondo. Un objeto que ocupa una pequeña parte de la pantalla y aparece cincuenta veces debería presupuestarse en píxeles, no en triángulos.

¿Puedo saltarme el desplegado UV? +

Solo si el objeto usa colores planos o un shader procedural que no necesita UV, y ese shader no sobrevivirá a la exportación, porque glTF lleva texturas PBR horneadas, no grafos de nodos. Cualquier cosa con un albedo pintado u horneado necesita un layout UV real, así que despliega antes de texturizar.

¿Dónde debería probar un GLB? +

En el cargador con el que realmente vas a publicar. Impórtalo en el constructor de juegos 3D, o ábrelo en un visor glTF independiente, y revisa cuatro cosas: la escala contra una referencia conocida, las normales bajo una sola luz, que el material y el modo alfa hayan sobrevivido, y el tamaño del archivo por la red con la caché desactivada.

Volver al 3D Game Builder

Los 31 mundos, juegos y escenas 3D terminados viven en una sola página: todos jugables.

Plataforma: Neta StudioPágina: Pipeline de assets 3D: de un prompt de texto a un GLB listo para el juego (paso a paso)Lee a continuación: /explore/guide/blender-uv-unwrap · /explore/tool/3d-model-generator · /explore/tool/glb-viewer
×