Centenas de recursos de jogo em um estilo consistente com Z-Image, um LoRA e o Meshy

Treine um LoRA de estilo com 5–10 das suas próprias imagens, gere centenas de personagens e objetos nesse estilo com o Z-Image Turbo no ComfyUI e transforme os melhores em modelos 3D com o Meshy.

Anton Tenitsky13 de outubro de 20267 min de leituraVersão em vídeo abaixo

Este guia foi traduzido do inglês com IA e pode conter erros. Leia o original.

Um recurso de jogo estilizado com aparência 3D, uma bússola, gerado com o Z-Image Turbo e um LoRA de estilo personalizado

Todo jogo precisa de centenas de recursos que pareçam pertencer ao mesmo conjunto. Cada um deles pode começar como uma imagem e virar um modelo 3D. Este guia constrói essa base de imagens:

  1. Treine um LoRA de estilo com um punhado das suas próprias imagens.
  2. Gere centenas de personagens e objetos nesse estilo com o Z-Image Turbo no ComfyUI, a partir de uma lista de prompts que roda sozinha.
  3. Transforme as melhores imagens em modelos 3D com o Meshy, o gerador 3D mais simples que já usei. (Para um caminho de código aberto, veja o TRELLIS 2.)

Em resumo

  • LoRA de estilo: 5–10 imagens, treinado na fal por US$ 1,70 com 2.000 steps.
  • Geração: cerca de 10 segundos por imagem de 1K em uma RTX 5090.
  • Prompts: 500 deles, um por linha, percorridos automaticamente com meu nó gratuito Prompt Cycler.
  • Seleção: gere cerca de 2.000 imagens, fique com as melhores 300.
  • 3D: jogue uma imagem no Meshy, gere, depois texturize. Cerca de um minuto cada.

Passo 1: treine um LoRA de estilo

Um LoRA é um pequeno modelo complementar que ensina a um modelo grande um visual específico. (Aprofundo o que são LoRAs em como treinar um LoRA no estilo de qualquer artista.) Aqui é o que mantém centenas de recursos em um único estilo.

Treinei o meu na fal com o Z-Image Turbo Trainer:

  1. Adicione cerca de 10 imagens no estilo desejado. Cinco é o mínimo. Usei minhas próprias ilustrações de antes de trabalhar com IA.
  2. Defina uma trigger word no campo de legenda padrão. Ela não pode ser uma palavra comum, então use uma combinação inventada de letras e números. A minha é CASUAL3D. Quando aparece em um prompt, o estilo é ativado.
  3. Deixe os steps em 2.000 e clique em Start. Isso me custou US$ 1,70.
O treinador Z-Image Turbo da fal com duas imagens de criaturas em preto e branco adicionadas, steps em 2000 e um campo de legenda padrão
O treinador Z-Image Turbo na fal: adicione suas imagens, defina a trigger word como legenda padrão, mantenha 2.000 steps.
A nota de preço da fal: US$ 0,85 por treinamento de 1000 steps, então um de 2000 steps custa US$ 1,70
A fal mostra o preço antes de você começar: US$ 0,85 por 1.000 steps.

Quando terminar, baixe o arquivo .safetensors. Ele vem com um nome genérico como pytorch_lora_weights_step_2000.safetensors, então renomeie imediatamente para algo que diga o que é, por exemplo Z-Image-Turbo-Casual3D-LoRA.safetensors. Depois coloque-o em ComfyUI/models/loras/, ou o carregador de LoRA não o encontrará.

JupyterLab mostrando a pasta models/loras do ComfyUI contendo o arquivo do LoRA Z-Image Turbo Casual3D
O LoRA renomeado em ComfyUI/models/loras.

Passo 2: configure o ComfyUI

Rodo isso em um pod do RunPod. O template de um clique, com meu LoRA incluído, está no meu Patreon. Se você roda o ComfyUI localmente, pule para o fluxo.

  1. Crie um volume de rede de cerca de 50 GB, suficiente para os modelos e imagens, cerca de US$ 3,50 por mês e cobrado por hora enquanto existir. Isso faz os modelos (Z-Image Turbo, o codificador de texto Qwen e o resto) serem baixados uma vez em vez de toda vez, o que economiza cerca de 12 minutos por sessão.
  2. Implante o template na GPU mais barata (a partir de cerca de US$ 0,26/h) para a primeira inicialização, enquanto ele baixa tudo. Isso leva de 12 a 15 minutos.
  3. Troque para uma RTX 5090 no mesmo volume quando estiver pronto para gerar em volume.

Minha introdução ao RunPod explica volumes e pods em detalhe.

Passo 3: o fluxo de geração

O fluxo é um grafo padrão do Z-Image com dois acréscimos: o LoRA e uma lista de prompts.

Os nós de carregamento de modelos no ComfyUI: modelo de difusão z_image_turbo_bf16, codificador de texto qwen_3_4b com tipo lumina2 e o VAE ae, com uma nota explicativa
Os três carregadores de modelos: Z-Image Turbo, o codificador de texto Qwen e o VAE.
  • Load Diffusion Model: z_image_turbo_bf16.
  • Load CLIP: o codificador de texto Qwen 3 4B (tipo lumina2), que transforma seu prompt em orientação para a imagem.
  • Load VAE: o VAE que acompanha o Z-Image Turbo. O VAE (autoencoder variacional) converte o resultado do espaço latente em pixels.
  • Load LoRA: seu LoRA de estilo, alimentando a entrada de modelo do sampler.

A lista de prompts

Os prompts vêm do meu nó Prompt Cycler, que é gratuito. Instale-o pelo ComfyUI Manager com «install via Git URL». Ele guarda uma lista, um prompt por linha, e cada execução pega a próxima linha.

O nó Prompt Cycler cheio de longas descrições de personagens, cada uma começando com a trigger word CASUAL3D
Cada linha é um recurso, e cada uma começa com a trigger word.

Peça a um chatbot (Gemini, ChatGPT ou Claude) para escrever descrições dos objetos que você quer, uma por linha, cada uma começando com sua trigger word. Uma linha poderia ser: «CASUAL3D pirate captain wearing an ornate tricorn hat…». Minha lista tem 500 prompts. Algumas coisas que aprendi ao escrevê-los:

  • Para personagens, peça uma pose em T e especifique as proporções. Isso facilita muito a etapa de 3D e o rigging.
  • Misture prompts detalhados e curtos. Menos descrição às vezes dá ao modelo mais liberdade e um resultado melhor.
  • Inclua objetos, não só personagens.

O prompt entra no codificador de texto por uma conexão de string. Um nó de pré-visualização mostra qual prompt está rodando. Deixo o prompt negativo vazio, porque o Z-Image vai bem só com prompts positivos.

Resolução e sampler

O nó Empty Latent Image define o tamanho. Há uma nota no fluxo listando resoluções que funcionam bem com o Z-Image; usei 1K. Deixo o KSampler nos ajustes com que o fluxo vem. Depois que você tem valores que funcionam para um modelo, há pouco a ganhar mexendo neles.

Salvando: o truque do salvamento local

Em um pod, o nó Save Image normal grava no volume de rede, então você teria que buscar cada imagem pelo JupyterLab. O fluxo também tem um nó Local Save Image que envia cada imagem direto para a pasta de downloads do seu navegador. Permita múltiplos downloads quando o navegador perguntar.

O nó Local Save Image no ComfyUI com uma nota sobre permitir múltiplos downloads no navegador
O Local Save Image baixa cada resultado no seu computador conforme é feito.

Passo 4: execute e escolha as melhores

Enfileire com Run (Instant) e ele percorre a lista inteira. Em uma RTX 5090 cada imagem leva cerca de 10 segundos; GPUs maiores reduzem para alguns segundos. A primeira imagem depois de carregar é mais lenta, e ocasionalmente a primeira execução trava no RunPod. Se nada acontecer por muito tempo, reinicie o ComfyUI e tente de novo.

Um personagem pirata gerado em pose em T no estilo do LoRA, mostrado no ComfyUI
Um bom resultado: pose em T, silhueta limpa, no estilo treinado.
Um segundo personagem pirata gerado em pose em T com uma camiseta listrada e uma bandana vermelha
Outro personagem da mesma lista, no mesmo estilo.

Nem toda imagem funciona. Algumas têm dedos estranhos, partes quebradas ou objetos flutuando no ar. Nos modelos de código aberto a taxa de acerto é boa, mas conte com a seleção: gere cerca de 2.000 imagens e fique com as melhores 300.

Passo 5: transforme imagens em 3D com o Meshy

O Meshy é a ferramenta de imagem para 3D mais simples que já usei:

  1. Abra seu Workspace e arraste uma imagem.
  2. O Meshy gera primeiro um modelo cinza.
  3. Clique em Texture. Depois de cerca de mais um minuto, você tem um modelo texturizado a partir da imagem.
O workspace do Meshy mostrando um modelo 3D cinza sem textura de um personagem pirata
Primeiro o modelo cinza.
O mesmo personagem pirata no Meshy depois da texturização, em cores
Depois a versão texturizada, cerca de um minuto mais tarde.

Fazer isso uma imagem por vez serve para poucos recursos. Para centenas, há duas formas de automatizar: o Meshy tem uma API que você pode chamar a partir de um script, ou você pode ficar totalmente em código aberto com o TRELLIS 2 no ComfyUI. A qualidade do TRELLIS 2 é menor que a do Meshy, mas ele roda na sua própria GPU ou em uma alugada, sobre uma pasta inteira de uma vez.

Os links do Meshy são links de indicação, assim como meu link de indicação do RunPod: novas contas do RunPod que se cadastram com o Google ganham de US$ 5 a US$ 500 em crédito após seus primeiros US$ 10, e eu recebo uma pequena comissão.

Assista à versão em vídeo (13:30)

Tudo o que está acima também está no vídeo, se você preferir acompanhar na tela. O vídeo está em inglês.

Perguntas frequentes

Quantas imagens preciso para treinar um LoRA de estilo para o Z-Image?

Cerca de 10 no estilo desejado, e pelo menos 5. Usei minhas próprias ilustrações de antes de trabalhar com IA.

Quanto custa treinar um LoRA do Z-Image na fal?

Com os 2.000 steps padrão, custou US$ 1,70.

Quão rápido é o Z-Image Turbo?

Cerca de 10 segundos por imagem em uma RTX 5090 na resolução de 1K, e alguns segundos em GPUs maiores. A primeira imagem depois de carregar é mais lenta.

Quantas imagens devo gerar para um jogo?

Muito mais do que você precisa. Algumas saem com dedos estranhos, partes quebradas ou objetos flutuando. Eu geraria 2.000 e escolheria as melhores 300.

Anton Tenitsky é artista 3D com mais de 15 anos em computação gráfica, que trabalhou com Nickelodeon, Gameloft, Marvel Rivals e muitos outros clientes. Mais sobre mim

Guias relacionados