Producción de Arte 2D Formal
Produce recursos 2D listos para enviar: personajes, fondos, UI, objetos, iconos. No son rectángulos de relleno, pero primero hay que aclarar los límites (ver al final).
Paso 0: Verificar la capacidad de generación de imágenes
Verifica en orden, no asumas:
- Primero revisa las herramientas nativas de generación o edición de imágenes disponibles en la sesión actual, y utilízalas directamente si están disponibles; no te limites a escribir prompts.
- El skill de generación de imágenes de Codex usa por defecto la herramienta integrada
image_gen, no necesita API key. Si el usuario elige explícitamente la ruta directa de la API, se puede usar el adaptador del plugin a continuación; esa ruta requiere configurar key y permisos de modelo por separado. - Si ninguna funciona, comunica claramente: por esta ruta no se puede producir arte formal ahora mismo, no dibujes rectángulos con scripts fingiendo que es arte.
OpenAI Images API (opcional)
Úsala solo si el usuario elige explícitamente el servicio de API: requiere que el usuario tenga configurada OPENAI_API_KEY en su máquina, que la organización tenga acceso al modelo de imágenes, y que las solicitudes de generación real puedan generar costos. Primero haz una vista previa con --dry-run. El script requiere --backup-dir, primero respalda las imágenes originales devueltas por la API y luego cópialas al directorio de ejecución, sin sobrescribir archivos existentes.
python scripts/gen_ai_image.py --prompt "casco espacial azul pintado a mano, centrado, icono de objeto, fondo transparente" --format png --background transparent --out assets/art/items/helmet.png --backup-dir doc/temp
python scripts/gen_ai_image.py --prompt "Un pequeño robot verde saluda, luego se da la vuelta y se aleja; animación pixel-art limpia y en bucle" --format gif --frames 8 --frame-duration-ms 100 --out assets/animation/robot.gif --backup-dir doc/temp
La ubicación de guardado predeterminada de la herramienta integrada image_gen está en $CODEX_HOME/generated_images/. Después de generar una imagen para el proyecto actual, guarda inmediatamente una copia de la imagen original en el directorio de respaldo especificado por las reglas del proyecto (en este proyecto es doc/temp/), y luego procesa (recortar, escalar, recortar fondo, etc.); el recurso final también se queda en el directorio de recursos en tiempo de ejecución. No asumas que la herramienta integrada admite la especificación directa de rutas de archivo.
--format gif usa animaciones cortas de 2 a 16 fotogramas generadas por el modelo, no equivale a un sprite sheet optimizado para juegos; la elegibilidad para vista previa GIF, las limitaciones de tamaño y los modelos compatibles se rigen por la documentación oficial de la API de imágenes. Cuando se necesite control fotograma a fotograma, genera un sprite sheet estático y usa game-animation-production. La herramienta de generación de imágenes integrada en la sesión de Codex puede generar o editar imágenes directamente; está separada de la configuración de la API key de este script.
Paso 1: Primero crea la biblia de estilo (el paso que determina el éxito)
Cuando una serie de recursos necesite un estilo unificado, se puede usar una imagen existente o una imagen principal como ancla visual; para ediciones individuales, usa el material existente, no fuerces la creación de una nueva imagen principal.
Genera docs/art-style-bible.md:
## Bloque de anclaje de estilo (debe pegarse textualmente en cada generación)
<Una frase: medio + estilo de dibujo + iluminación + paleta + características de línea/textura>
Ejemplo: 2D cartoon dibujado a mano, trazo grueso, luz cenital suave,
paleta principal violeta y dorado (#7C3AED / #FBBF24),
relleno plano con textura de ruido ligera, sin fondo degradado
## Paleta de colores (HEX)
Color principal / Color secundario / Color de énfasis / Color de sombra / Color de brillo
## Elementos prohibidos
Sin textura fotorrealista / Sin neón cyberpunk / Sin aspecto de render 3D / Sin marcas de agua de texto
El bloque de anclaje de estilo debe ser texto fijo, adjuntado textualmente a cada imagen; es el principal medio para garantizar que 40 imágenes parezcan de un mismo juego.
Paso 2: Generación por recurso
Estructura del prompt individual (no alteres el orden):
[Bloque de anclaje de estilo] + [Sujeto y pose] + [Tamaño/composición: frontal/centrado/espacio en blanco] + [Fondo: blanco puro para facilitar el recorte] + [Requisitos técnicos: sin texto, sin sombra proyectada]
- Cuando se necesite fondo transparente, prioriza pedir a la herramienta de generación que lo genere directamente; usa fondo de color sólido y recorte por color solo si el recurso lo permite.
- Genera variantes según sea necesario y según el presupuesto, no forces una cantidad fija.
- Mismo personaje: utiliza la imagen ya seleccionada como imagen de referencia (si el anfitrión soporta image-to-image) y reutiliza el mismo texto de anclaje.
- Para la generación, recorte de fotogramas y validación de sprite sheets y animaciones, consulta
game-animation-production; verifica la consistencia fotograma a fotograma y retoca si es necesario. - Sigue las reglas de respaldo de imágenes del proyecto: respalda las imágenes originales, borradores y todas las imágenes procesadas según los requisitos del proyecto antes de procesarlas.
Paso 3: Postprocesamiento según especificaciones
python scripts/process_art.py \
--in raw/ui_btn_raw.png \
--out assets/art/ui/ui_btn_primary.png \
--size 256x64 --mode fit \
--key-color "#FFFFFF" --key-tolerance 14 \
--nine-slice 24 --check-nine \
--report assets/art/ui/ui_btn_primary.report.json
Decisiones clave:
--mode fitescala proporcionalmente + centra con relleno transparente, no uses stretch, deformaría la imagen--check-nineverifica si el borde exterior se puede estirar con nine-slice; si no, rediseña, no lo fuerces- Si
transparent_ratioen el informe está cerca de 0, significa que el recorte de fondo no funcionó
Paso 4: Atlas y compresión
python scripts/pack_atlas.py --input assets/art/ui --out-sheet assets/art/ui_atlas.png \
--out-data assets/art/ui_atlas.json --max-size 2048 --padding 2
Agrupa los atlas por "misma pantalla, mismo atlas", no por tipo de recurso. Una sola hoja no debe superar 2048×2048; para dispositivos de gama baja, 1024×1024 es más estable.
Paso 5: Registro y validación final
Cada recurso debe estar completamente documentado en assets/manifest.json:
{
"path": "assets/art/ui/ui_btn_primary.png",
"kind": "ui",
"tier": "final",
"size": [256, 64],
"nine_slice": 24,
"source": "ai",
"ai_generated": true,
"model": "gpt-image",
"license": "Generado por IA, uso comercial autorizado bajo los términos de <servicio>",
"commercial_ok": true,
"note": "Botón principal, tres estados"
}
python scripts/validate_assets.py --manifest assets/manifest.json --final --strict-license
La validación final detectará: recursos que aún son borradores, falta de licencia, sprite/ui sin canal alfa, completamente opacos (no se hizo el recorte de fondo), tamaño incorrecto.
Licencias y revisión (no se puede saltar)
- Los términos comerciales del material generado por IA dependen del servicio, verifica cada servicio y especifica el origen en el campo
license. - Algunas plataformas (especialmente la revisión de juegos pequeños en China) requieren declarar la fuente del material;
ai_generated: truees la marca para la revisión, no la omitas. - Las fuentes solo pueden ser fuentes de código abierto con licencia OFL (serie Noto / Source Han), las fuentes comerciales deben ser compradas y licenciadas por el usuario, no descargues fuentes de origen desconocido.
Lo que no se puede hacer (debes informar honestamente al usuario)
| Necesidad | Conclusión |
|---|---|
| Personajes 2D / Fondos / UI / Iconos / Objetos | Se puede hacer, requiere selección y retoque manual |
| Animación fotograma a fotograma del mismo personaje | Se puede intentar con sprite sheets de IA o secuencias de fotogramas, requiere verificar consistencia y retocar según sea necesario |
| Modelos 3D / Rigging de huesos | Este flujo no puede hacerlo |
| Uniformidad perfecta a nivel de píxel (como alineación estricta de cuadrícula pixel-art) | Requiere retoque manual píxel a píxel; la IA a menudo produce desplazamientos de medio píxel |
| Fuentes comerciales | Solo se pueden ofrecer alternativas de código abierto |