Cientos de recursos de juego con un estilo coherente con Z-Image, un LoRA y Meshy

Entrena un LoRA de estilo con 5–10 de tus propias imágenes, genera cientos de personajes y objetos con ese estilo usando Z-Image Turbo en ComfyUI y convierte los mejores en modelos 3D con Meshy.

Anton Tenitsky13 de octubre de 20267 min de lecturaVersión en vídeo más abajo

Esta guía se tradujo del inglés con IA y puede contener errores. Leer el original.

Un recurso de juego estilizado con aspecto 3D, una brújula, generado con Z-Image Turbo y un LoRA de estilo personalizado

Todo juego necesita cientos de recursos que parezcan pertenecer al mismo conjunto. Cada uno de ellos puede empezar como una imagen y convertirse en un modelo 3D. Esta guía construye esa base de imágenes:

  1. Entrena un LoRA de estilo con un puñado de tus propias imágenes.
  2. Genera cientos de personajes y objetos con ese estilo usando Z-Image Turbo en ComfyUI, a partir de una lista de prompts que se ejecuta sola.
  3. Convierte las mejores imágenes en modelos 3D con Meshy, el generador 3D más sencillo que he usado. (Para una vía de código abierto, mira TRELLIS 2.)

En resumen

  • LoRA de estilo: 5–10 imágenes, entrenado en fal por 1,70 $ con 2000 steps.
  • Generación: unos 10 segundos por imagen de 1K en una RTX 5090.
  • Prompts: 500, uno por línea, recorridos automáticamente con mi nodo gratuito Prompt Cycler.
  • Selección: genera unas 2000 imágenes y quédate con las mejores 300.
  • 3D: arrastra una imagen a Meshy, genera y luego aplica la textura. Alrededor de un minuto cada una.

Paso 1: entrena un LoRA de estilo

Un LoRA es un pequeño modelo complementario que enseña a un modelo grande un aspecto concreto. (Explico con más detalle qué son los LoRA en cómo entrenar un LoRA con el estilo de cualquier artista.) Aquí es lo que mantiene cientos de recursos con un mismo estilo.

Entrené el mío en fal con el Z-Image Turbo Trainer:

  1. Añade unas 10 imágenes con el estilo que quieres. Cinco es el mínimo. Yo usé mis propias ilustraciones de antes de trabajar con IA.
  2. Define una trigger word en el campo de descripción por defecto. No debe ser una palabra normal, así que usa una combinación inventada de letras y números. La mía es CASUAL3D. Cuando aparece en un prompt, se activa el estilo.
  3. Deja los steps en 2000 y haz clic en Start. A mí me costó 1,70 $.
El entrenador Z-Image Turbo de fal con dos imágenes de criaturas en blanco y negro añadidas, steps en 2000 y un campo de descripción por defecto
El entrenador Z-Image Turbo en fal: añade tus imágenes, pon la trigger word como descripción por defecto y deja los 2000 steps.
La nota de precios de fal: 0,85 $ por cada entrenamiento de 1000 steps, así que uno de 2000 steps cuesta 1,70 $
fal muestra el precio antes de empezar: 0,85 $ por cada 1000 steps.

Cuando termine, descarga el archivo .safetensors. Viene con un nombre genérico como pytorch_lora_weights_step_2000.safetensors, así que cámbiale el nombre enseguida por algo que diga lo que es, por ejemplo Z-Image-Turbo-Casual3D-LoRA.safetensors. Luego ponlo en ComfyUI/models/loras/, o el cargador de LoRA no lo encontrará.

JupyterLab mostrando la carpeta models/loras de ComfyUI con el archivo del LoRA Z-Image Turbo Casual3D
El LoRA renombrado en ComfyUI/models/loras.

Paso 2: prepara ComfyUI

Lo ejecuto en un pod de RunPod. La plantilla de un clic, con mi LoRA incluido, está en mi Patreon. Si ejecutas ComfyUI en local, pasa directamente al flujo.

  1. Crea un volumen de red de unos 50 GB, suficiente para los modelos y las imágenes, unos 3,50 $ al mes y facturado por horas mientras exista. Así los modelos (Z-Image Turbo, el codificador de texto Qwen y el resto) se descargan una vez en lugar de cada vez, lo que ahorra unos 12 minutos por sesión.
  2. Despliega la plantilla en la GPU más barata (desde unos 0,26 $/h) para el primer arranque, mientras descarga todo. Eso lleva de 12 a 15 minutos.
  3. Cambia a una RTX 5090 con el mismo volumen cuando estés listo para generar en volumen.

Mi introducción a RunPod explica los volúmenes y los pods en detalle.

Paso 3: el flujo de generación

El flujo es un grafo estándar de Z-Image con dos añadidos: el LoRA y una lista de prompts.

Los nodos de carga de modelos en ComfyUI: el modelo de difusión z_image_turbo_bf16, el codificador de texto qwen_3_4b con tipo lumina2 y el VAE ae, con una nota explicativa
Los tres cargadores de modelos: Z-Image Turbo, el codificador de texto Qwen y el VAE.
  • Load Diffusion Model: z_image_turbo_bf16.
  • Load CLIP: el codificador de texto Qwen 3 4B (tipo lumina2), que convierte tu prompt en guía para la imagen.
  • Load VAE: el VAE que viene con Z-Image Turbo. El VAE (autocodificador variacional) convierte el resultado del espacio latente en píxeles.
  • Load LoRA: tu LoRA de estilo, que alimenta la entrada de modelo del sampler.

La lista de prompts

Los prompts salen de mi nodo Prompt Cycler, que es gratuito. Instálalo desde el ComfyUI Manager con «install via Git URL». Guarda una lista, un prompt por línea, y cada ejecución toma la siguiente línea.

El nodo Prompt Cycler lleno de largas descripciones de personajes, cada una empezando con la trigger word CASUAL3D
Cada línea es un recurso, y cada una empieza con la trigger word.

Pídele a un chatbot (Gemini, ChatGPT o Claude) que escriba descripciones de los objetos que quieres, una por línea, cada una empezando con tu trigger word. Una línea podría ser: «CASUAL3D pirate captain wearing an ornate tricorn hat…». Mi lista tiene 500 prompts. Algunas cosas que aprendí al escribirlos:

  • Para los personajes, pide una pose en T y especifica las proporciones. Facilita mucho el paso a 3D y el rigging.
  • Mezcla prompts detallados y cortos. A veces, menos descripción le da más libertad al modelo y un mejor resultado.
  • Incluye objetos, no solo personajes.

El prompt entra en el codificador de texto mediante una conexión de cadena. Un nodo de vista previa muestra qué prompt se está ejecutando. Dejo el prompt negativo vacío, porque Z-Image funciona bien solo con prompts positivos.

Resolución y sampler

El nodo Empty Latent Image fija el tamaño. Hay una nota en el flujo con las resoluciones que funcionan bien con Z-Image; yo usé 1K. Dejo el KSampler con los ajustes con los que viene el flujo. Una vez que tienes valores que funcionan para un modelo, hay poco que ganar retocándolos.

Guardado: el truco del guardado local

En un pod, el nodo Save Image normal escribe en el volumen de red, así que tendrías que recoger cada imagen con JupyterLab. El flujo también tiene un nodo Local Save Image que envía cada imagen directamente a la carpeta de descargas de tu navegador. Permite varias descargas cuando el navegador te lo pregunte.

El nodo Local Save Image en ComfyUI con una nota sobre permitir varias descargas en el navegador
Local Save Image descarga cada resultado en tu ordenador a medida que se crea.

Paso 4: ejecútalo y elige lo mejor

Pon en cola con Run (Instant) y recorrerá toda la lista. En una RTX 5090 cada imagen tarda unos 10 segundos; las GPU más grandes lo bajan a un par de segundos. La primera imagen tras cargar es más lenta, y en ocasiones la primera ejecución se cuelga en RunPod. Si no pasa nada durante mucho tiempo, reinicia ComfyUI y vuelve a intentarlo.

Un personaje pirata generado en pose en T con el estilo del LoRA, mostrado en ComfyUI
Un buen resultado: pose en T, silueta limpia, con el estilo entrenado.
Un segundo personaje pirata generado en pose en T con una camiseta a rayas y un pañuelo rojo
Otro personaje de la misma lista, con el mismo estilo.

No todas las imágenes sirven. Algunas tienen dedos raros, partes rotas u objetos flotando en el aire. En los modelos de código abierto la tasa de aciertos es buena, pero cuenta con la selección: genera unas 2000 imágenes y quédate con las mejores 300.

Paso 5: convierte las imágenes en 3D con Meshy

Meshy es la herramienta de imagen a 3D más sencilla que he usado:

  1. Abre tu Workspace y arrastra una imagen.
  2. Meshy genera primero un modelo gris.
  3. Haz clic en Texture. Después de otro minuto, más o menos, tienes un modelo con textura a partir de la imagen.
El espacio de trabajo de Meshy mostrando un modelo 3D gris sin textura de un personaje pirata
Primero, el modelo gris.
El mismo personaje pirata en Meshy después de aplicar la textura, a todo color
Luego, la versión con textura, un minuto después.

Hacerlo imagen por imagen está bien para unos pocos recursos. Para cientos, hay dos formas de automatizarlo: Meshy tiene una API que puedes llamar desde un script, o puedes mantenerte en el código abierto con TRELLIS 2 en ComfyUI. La calidad de TRELLIS 2 es menor que la de Meshy, pero se ejecuta en tu propia GPU o en una alquilada, sobre una carpeta entera de una vez.

Los enlaces de Meshy son enlaces de referido, igual que mi enlace de referido de RunPod: las cuentas nuevas de RunPod que se registran con Google reciben entre 5 y 500 $ de crédito después de su primer gasto de 10 $, y yo recibo una pequeña comisión.

Ver la versión en vídeo (13:30)

Todo lo anterior también está en el vídeo, si prefieres seguirlo en pantalla. El vídeo está en inglés.

Preguntas frecuentes

¿Cuántas imágenes necesito para entrenar un LoRA de estilo para Z-Image?

Unas 10 con el estilo que quieres, y como mínimo 5. Yo usé mis propias ilustraciones de antes de trabajar con IA.

¿Cuánto cuesta entrenar un LoRA de Z-Image en fal?

Con los 2000 steps estándar me costó 1,70 $.

¿Qué tan rápido es Z-Image Turbo?

Unos 10 segundos por imagen en una RTX 5090 a resolución 1K, y un par de segundos en GPU más grandes. La primera imagen tras cargar es más lenta.

¿Cuántas imágenes debería generar para un juego?

Muchas más de las que necesitas. Algunas salen con dedos raros, partes rotas u objetos flotando. Yo generaría 2000 y elegiría las mejores 300.

Anton Tenitsky es artista 3D con más de 15 años en gráficos por ordenador, que ha trabajado con Nickelodeon, Gameloft, Marvel Rivals y muchos otros clientes. Más sobre mí

Guías relacionadas