Cambiar tema

Organización de assets artísticos con IA en Cocos Creator: flujo completo de generación a importación

Easton editorial illustration: 大型资产整理柜, meta 索引签, Atlas 抽屉, 引擎导入滑槽

Tienes en la cabeza montones de personajes, escenarios y objetos geniales, pero el presupuesto y el tiempo solo alcanzan para un boceto de un personaje. Los assets artísticos — esa brecha enorme entre la idea y el producto terminado — han dejado tantos proyectos de juego en el cajón de los documentos.

En el flujo tradicional, un personaje 2D desde el diseño hasta estar usable cuesta miles de yuanes y semanas de trabajo. Hoy las herramientas de IA pueden generar personaje, rigging, skinning y animaciones en 10 minutos, por una décima parte del coste. Pero surge la pregunta: ¿cómo convertir esos assets de IA en recursos válidos para Cocos Creator? Tras importar, directorios caóticos, mantenimiento imposible y Draw Call altísimo que hace trabar el juego — yo me he caído en todos esos agujeros.

Este artículo parte de la generación de assets con IA y desglosa paso a paso la estructura estándar de directorios en Cocos Creator, las reglas de nomenclatura, la creación de atlas y la optimización de rendimiento. Al terminar verás que, de la idea al motor, el camino tiene un método claro.

Estructura básica de directorios de recursos en Cocos Creator

Al abrir un proyecto de Cocos Creator verás varias carpetas: assets, library, local, settings, temp. ¿Cuál es tu «biblioteca de recursos»?

Solo una: assets.

El directorio assets es el único que aparece en el administrador de recursos del editor. Imágenes, animaciones, prefabs y scripts van ahí. Las demás — library es caché, local configuración local, settings ajustes del proyecto, temp archivos temporales — no las toques; tampoco las borres por impulso.

Archivos meta: la «identidad» de cada recurso

En assets hay algo molesto: junto a cada archivo va un .meta. Si tienes knight.png, al lado estará knight.png.meta.

Ese meta es el núcleo de la gestión de recursos en Cocos Creator. Guarda el uuid (identificador único), versión e información de subrecursos. Si borras el meta, el motor pierde el recurso. Al renombrar o mover archivos hay que sincronizar el meta; si no, se rompen todas las referencias.

La primera vez que hice un proyecto, los meta me parecían desorden y los borré todos. Resultado: proyecto inservible, referencias en «Missing». Lección aprendida a pulso.

Directorio resources: canal especial para carga dinámica

Dentro de assets hay un subdirectorio especial: resources. Lo que pongas ahí se puede cargar dinámicamente por código:

resources.load('sprite-frames/background', cc.SpriteFrame, (err, spriteFrame) => {
    // SpriteFrame cargado dinámicamente
});

Pero resources tiene trampa: en el build empaqueta todo lo que contiene, lo uses o no. No metas ahí todo el proyecto. Solo recursos que de verdad cargues en runtime, como textos multilingües o escenas desbloqueadas según el progreso del jugador.

Errores que conviene evitar

Algunos fallos habituales:

  • Editar project.json a mano — lo mantiene el editor; tocarlo rompe cosas
  • Borrar la carpeta library — al reabrir el proyecto se reconstruye, pero tarda mucho; en proyectos grandes pueden ser varios minutos
  • Meter todos los recursos en resources — el build explota de tamaño y la carga se alarga
  • Ignorar la sincronización de meta — referencias rotas e imágenes Missing en prefabs

Herramientas prácticas para generar assets artísticos con IA

Hay demasiadas herramientas de arte con IA. ¿Cuál elegir? Según mi experiencia, tres opciones encajan bien con desarrolladores independientes.

Plataforma SOON: animación esquelética en un clic

SOON es una plataforma de IA orientada a animación de personajes de juegos. Describes al personaje en una frase — por ejemplo, «caballero de dibujos animados con armadura, espada en guardia» — y genera personaje, rigging, skinning y acciones, exportando animación esquelética en formato Spine.

En el flujo tradicional, diseño, rigging, skinning y animación requieren especialistas y semanas. SOON lo comprime a 10 minutos. Según medios como Sina, el coste baja entre un 80 % y un 90 % respecto al flujo clásico.

Usé SOON para el protagonista de un juego de acción lateral. En 10 minutos exporté 36 sets de animación: idle, caminar, correr, saltar, atacar, recibir daño, morir… Cada acción fluida. Con un artista, el presupuesto me habría dejado frío.

Holopix AI: dibujo con IA para juegos y recorte inteligente

Holopix AI está pensada para desarrollo de juegos. Dos funciones muy útiles: borrador en un clic y recorte en un clic.

Borrador en un clic: describes el personaje y genera varios estilos. Estilo occidental, anime, pixel art — modelos entrenados para juegos, más afinados que herramientas genéricas.

Recorte en un clic: los personajes generados traen fondo, pero en el juego necesitas sprites con transparencia. Holopix recorta de un golpe, bordes limpios, sin Photoshop manual. Para programadores sin arte, es salvación.

万象熔炉: SDXL en despliegue local

万象熔炉 (Anything XL) es Stable Diffusion XL en local. Ventajas: sin riesgo de filtrar ideas creativas a la nube, sin límite de usos.

Si el proyecto exige confidencialidad y no quieres subir conceptos artísticos a plataformas online, 万象熔炉 encaja. La instalación cuesta — hace falta GPU — pero una vez estable la generación es constante y la calidad controlable.

Comparativa y criterios de elección

HerramientaCaracterísticasCosteEscenario
SOONAnimación esquelética en un clicPago por proyectoProyectos con animación de personajes
Holopix AIDibujo para juegos + recorte inteligenteGratis básico + pago avanzadoSprites con fondo transparente
万象熔炉SDXL localHardware + uso gratuitoProyectos con requisitos de confidencialidad

Mi estrategia: SOON para animación de personajes, Holopix AI para sprites estáticos, 万象熔炉 para material sensible. Las tres juntas cubren la mayor parte de necesidades artísticas.

Flujo completo: de la generación con IA a la importación en Cocos

Con los assets generados, toca convertirlos en recursos del motor. Aquí hay más trampas; las desgloso paso a paso.

Conversión de formato y eliminación de fondo

Las imágenes de IA suelen traer fondo. En el juego necesitas sprites transparentes; el primer paso es quitarlo.

Herramientas útiles:

  • Transparify: web, subes la imagen y quitas el fondo con un clic; bordes limpios
  • SpriteCut AI: pensada para sprites de juegos; detecta contorno del personaje y recorta espacio sobrante
  • Recorte integrado de Holopix AI: al generar, elige fondo transparente y listo

Al exportar, usa PNG con canal alpha. JPG no soporta transparencia; no lo uses.

Creación de atlas en la práctica

Importar cada sprite suelto dispara un Draw Call por sprite. Diez sprites, diez Draw Calls; cien sprites, cien. En dispositivos modestos, los tirones se ven claros.

El atlas (Atlas) es la solución: empaquetar varios sprites en una sola imagen grande; el motor renderiza con un Draw Call todos los que usan ese atlas.

Puntos clave en TexturePacker:

  1. Abre TexturePacker y añade tus sprites
  2. Formato de salida: cocos2d-x, exporta plist + png
  3. Trim Mode: trim — recorta píxeles transparentes sin cambiar el marco (no uses crop ni flush position; desalinean animaciones)
  4. Max Size según el dispositivo objetivo; 2048x2048 suele bastar

Cocos Creator 3.0 no soporta formatos de TexturePacker anteriores a v4.x. Si usas una versión antigua, actualiza.

Pasos para importar en Cocos Creator

TexturePacker exporta .plist y .png. Hay que importar ambos juntos.

Método: arrastra los dos archivos a assets. En el administrador aparecerá un recurso Atlas; al expandirlo verás todos los SpriteFrame.

Cada SpriteFrame se usa por separado. En el componente Sprite, en la propiedad SpriteFrame, eliges el frame y muestras el sprite.

Caso completo: importar personaje de un juego 2D lateral

Supón que generaste un caballero en SOON con 36 sets de animación. Flujo de importación:

Paso 1: generación con IA

  • En SOON: «caballero de dibujos animados con armadura»
  • Tipos de acción: idle, caminar, atacar, saltar, etc.
  • Exporta secuencia PNG (varios frames por acción)

Paso 2: quitar fondo

  • Importa la secuencia en Transparify
  • Quita el fondo con un clic y exporta PNG transparentes

Paso 3: empaquetar atlas

  • TexturePacker con todos los PNG
  • Salida cocos2d-x
  • Exporta knight_atlas.plist y knight_atlas.png

Paso 4: importar al motor

  • Arrastra plist y png a assets/characters/hero/sprites/
  • Espera a que se generen los meta

Paso 5: usar en escena

  • Crea un nodo Sprite
  • SpriteFrame: frame correspondiente de knight_atlas
  • Componente Animation para animación por frames y cambiar de acción

Con este flujo el caballero corre en el juego. Las 36 acciones disponibles y un solo Draw Call — todo viene del mismo atlas.

Nomenclatura y buenas prácticas de directorios

A mitad de proyecto, assets es un caos: imágenes, scripts y prefabs mezclados, nombres al azar, buscar un recurso como buscar aguja en pajar. Muy habitual. Te dejo una convención basada en proyectos reales.

Reglas básicas de nomenclatura

Principio central: una carpeta, un tipo de archivo.

No mezcles texture, prefab y animation en el mismo sitio. Separar por tipo facilita buscar y mantener.

Formato al estilo Unity/Unreal:

prefix_theme_description_suffix

Ejemplos:

  • char_knight_idle_a.png — personaje, caballero, idle, albedo (color base)
  • char_knight_attack_01.png — personaje, caballero, ataque, número 01
  • ui_btn_play_9slice.png — UI, botón, play, nine-slice

Convención de suffix:

  • _a — albedo, textura de color base
  • _n — normal, mapa de normales
  • _9 — 9slice, imagen nine-slice

Parece pesado, pero el nombre ya documenta qué es y dónde va. En equipo, la convención reduce fricción.

Plantilla de estructura recomendada

Organiza por módulo funcional del juego, no solo por tipo de recurso. Porque al desarrollar piensas en «sistema de personajes», no en «todas las texturas».

assets/
├── characters/
│   ├── hero/
│   │   ├── textures/         # Texturas del personaje
│   │   ├── animations/       # Recursos de animación
│   │   ├── sprites/          # SpriteFrame
│   │   └── prefab/           # Prefabs del personaje
│   ├── enemies/
│   │   ├── textures/
│   │   ├── animations/
│   │   ├── sprites/
│   │   └── prefab/
│   ├── npcs/

├── scenes/
│   ├── level01/
│   │   ├── textures/         # Texturas de escena
│   │   ├── tilemaps/         # Tilemaps
│   │   ├── prefab/           # Prefabs de escena

├── ui/
│   ├── textures/             # Texturas de UI
│   ├── fonts/                # Fuentes
│   ├── prefab/               # Prefabs de UI

├── audio/
│   ├── effects/              # Efectos de sonido
│   ├── music/                # Música de fondo

├── scripts/                  # Scripts TypeScript
│   ├── components/           # Componentes personalizados
│   ├── utils/                # Utilidades

├── resources/                # Carga dinámica (usar con cuidado)
│   ├── languages/            # Textos multilingües
│   ├── unlock-scenes/        # Escenas desbloqueables

Cada módulo es autocontenido y no interfiere con otros. Al tocar el héroe, solo trabajas en characters/hero.

Errores frecuentes

Trampas que yo mismo pisé:

Trampa 1: mezclar tipos
Poner hero.png y hero.prefab en la misma carpeta complica el orden posterior. Separa: textures para imágenes, prefab para prefabs.

Trampa 2: nombres arbitrarios
image1.png, new_picture.png, 未命名.png… al mes ni tú sabes qué es. Nomenclatura clara: el nombre es documentación.

Trampa 3: ignorar meta
Renombrar o mover sin sincronizar meta. Resultado: referencias Missing en prefabs y horas re-enlazando.

Cocos Creator sincroniza meta al renombrar o mover dentro del editor. Todas las operaciones de recursos, en el editor; no manipules el sistema de archivos directamente.

Puntos clave sobre archivos meta

Meta y recurso van ligados. Reglas:

  1. Mismo nombre y carpeta: knight.png.meta junto a knight.png
  2. No borrar: sin meta, se pierde el uuid y se rompen referencias
  3. No renombrar meta a mano: el motor deja de encontrar el recurso
  4. Operar en el editor: renombrar, mover y eliminar solo en el administrador de recursos

Si importas en lote fuera del editor, espera a que se generen los meta; no interrumpas. En proyectos grandes puede tardar minutos.

Optimización de rendimiento: atlas y control de Draw Call

Tras el lanzamiento, jugadores reportan «tirones» y caída de fps. Al investigar: Draw Call 120+. Dispositivos modestos no aguantan.

¿Qué es Draw Call? Cada vez que se renderiza un sprite, el motor envía una orden de dibujo a la GPU. Demasiadas órdenes saturan la comunicación CPU-GPU y los fps caen por debajo de 30.

Por qué hacen falta atlas: principio del Draw Call

Ejemplo claro:

Tu juego tiene 50 elementos de UI: fondo, botones, iconos, cajas de texto… Si cada uno es un Sprite independiente, son 50 Draw Calls.

Si los 50 van en un atlas, el motor envía 1 Draw Call. Una orden carga el atlas en la GPU y cada SpriteFrame recorta la región correspondiente.

Datos reales: antes Draw Call 120+, después menos de 10. Fps de 25 a 60. En gama baja la mejora se nota al instante.

Mecanismo de atlas dinámico

Cocos Creator puede fusionar sprites sueltos en runtime: atlas dinámico (Dynamic Atlas).

No hace falta empaquetar a mano; el motor lo hace al vuelo.

Control: en SpriteFrame, propiedad Packable. Marcada, participa en atlas dinámico; desmarcada, no.

Limitaciones:

  1. Solo con menos de 32 sprites sueltos; más allá, deja de funcionar bien
  2. Fusión en runtime con coste
  3. Inestable si cambia el número de sprites

En producción conviene atlas manual. El dinámico sirve para prototipos rápidos, no para release.

Auto Atlas y flujo de build

Cocos Creator 3.x incluye Auto Atlas.

Uso:

  1. Crea un recurso Auto Atlas en assets
  2. Añade los SpriteFrame a empaquetar
  3. En el build, activa la opción de auto atlas
  4. Tras el build, los sueltos se fusionan

Ventaja: en build, sin paso manual.

Detalle: los atlas quedan en la salida del build, no en assets. En desarrollo sigues viendo sueltos; en build, atlas. Tenlo en cuenta al depurar.

Cuantificar el efecto de la optimización

¿Cómo validar?

Abre el panel de depuración de Cocos Creator y mira Draw Call. Anota antes y después.

120+
Draw Call sin atlas
Típico en dispositivos de gama baja
Menos de 10
Draw Call con atlas
Tras optimizar
25fps → 60fps
Mejora de fps
Comparativa en dispositivos de gama baja
Source: Datos de prueba de rendimiento en CSDN Blog

Duplicar fps y quitar tirones: ese es el valor del atlas.

Además reduce memoria: menos cambios de textura, la GPU carga menos datos distintos, memoria más estable y menos presión de GC.

Resumen

De la generación con IA al recurso usable en Cocos Creator, la clave es estandarizar y automatizar.

SOON, Holopix AI y 万象熔炉 bajan el coste artístico a una décima parte. Pero generar es solo el inicio. Importar al motor, estructura de directorios, empaquetar atlas y controlar Draw Call definen la mantenibilidad a largo plazo.

Recuerda:

  • assets es la única biblioteca; no borres otras carpetas a lo loco
  • meta es la identidad del recurso; opera siempre en el editor
  • estructura por módulo funcional; una carpeta, un tipo
  • empaquetar atlas es obligatorio para rendimiento; Draw Call de 100+ a menos de 10

Prueba en un proyecto pequeño: genera un personaje con SOON o Holopix AI, impórtalo siguiendo este flujo y ordena assets. Verás que gestionar arte deja de ser un problema y pasa a ser un flujo replicable.

Cuando domines esto en pequeño, escalar la gestión de recursos en proyectos grandes será natural.

Flujo completo de importación de assets artísticos con IA en Cocos Creator

Flujo de trabajo estandarizado desde la generación con IA hasta recursos listos en el motor, incluyendo personajes, fondos, empaquetado de atlas y uso en escena.

⏱️ Estimated time: 15 min

  1. 1

    Step 1: Generar personaje con IA

    En la plataforma SOON, introduce la descripción del personaje (por ejemplo, 'caballero de dibujos animados con armadura'), elige el tipo de acción (idle, caminar, atacar, etc.) y exporta la secuencia de frames PNG.
  2. 2

    Step 2: Eliminar fondo

    Importa la secuencia PNG en Transparify o usa la función de recorte integrada de Holopix AI para quitar el fondo con un clic y exportar PNG transparentes.
  3. 3

    Step 3: Empaquetar atlas

    En TexturePacker añade todos los frames PNG, elige cocos2d-x como formato de salida, Trim Mode en trim y exporta knight_atlas.plist y knight_atlas.png.
  4. 4

    Step 4: Importar al motor

    Arrastra los archivos plist y png a assets/characters/hero/sprites/ y espera a que se generen automáticamente los archivos meta.
  5. 5

    Step 5: Usar en escena

    Crea un nodo Sprite, selecciona el frame correspondiente del atlas en la propiedad SpriteFrame y usa el componente Animation para reproducir la animación por frames y cambiar de acción.

FAQ

¿Se pueden importar directamente en Cocos Creator los assets artísticos generados con IA?
Normalmente hace falta convertir el formato. Las imágenes generadas suelen llevar fondo; hay que quitarlo y exportar PNG transparentes. Las animaciones esqueléticas (como las de SOON) pueden exportarse directamente en formato Spine; los sprites estáticos requieren TexturePacker para empaquetarlos en un atlas.
¿Qué recursos deben ir en el directorio resources?
Solo los que realmente necesites cargar dinámicamente, como textos multilingües o escenas desbloqueadas por progreso. No metas todo en resources: infla el tamaño del build. Los recursos normales van en el directorio correspondiente de assets.
¿Se pueden borrar o editar manualmente los archivos meta?
No. Los archivos meta guardan el identificador único (uuid) del recurso; borrarlos rompe las referencias y editarlos a mano hace que el motor no encuentre el recurso. Todas las operaciones (renombrar, mover, eliminar) deben hacerse dentro del editor de Cocos Creator.
¿Qué problemas causa un Draw Call demasiado alto?
Aumenta la sobrecarga de comunicación CPU-GPU, baja los fps y provoca tirones, sobre todo en dispositivos de gama baja. Empaquetar sprites en atlas fusiona varios en un solo Draw Call y mejora el rendimiento de forma notable.
¿Cómo comprobar el efecto de la optimización con atlas?
Abre el panel de depuración de Cocos Creator y revisa el valor de Draw Call. Antes de optimizar suele superar 100; después puede bajar a menos de 10. Los fps pueden pasar de 25 a 60; el cambio se nota a simple vista.
¿Qué Trim Mode elegir en TexturePacker?
Elige trim: recorta píxeles transparentes sin cambiar el marco original de la imagen. No uses crop ni flush position; esos modos desalinean las animaciones.

12 min de lectura · Publicado el: 20 may 2026 · Actualizado el: 21 ago 2026

Comentarios

Inicia sesión con GitHub para dejar un comentario

Easton BlogEaston Blog