Concept art em tempo real a partir de uma cena do Blender com Stable Diffusion e ComfyUI

Posicione um personagem do Mixamo numa cena do Blender feita de caixas e receba uma nova imagem de conceito cada vez que mover a câmera. Uma configuração de ComfyUI com compartilhamento de tela, do rápido SD 1.5 ao mais nítido SDXL Lightning.

Anton Tenitsky13 de outubro de 20266 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 blockout cinza no Blender de uma figura agachada com uma espada ao lado de um render cyberpunk da mesma pose com um escudo de energia azul

Mova a câmera, mova um objeto, e uma nova imagem de conceito aparece em segundos. Esta configuração captura o viewport do Blender e o passa pelo Stable Diffusion no ComfyUI, ao vivo. IA controlável assim é algo que eu já uso em trabalhos para clientes.

Para a máxima qualidade, o Flux é a melhor opção. Não é em tempo real, mas dá resultados impressionantes. Este guia é sobre velocidade: uma configuração simples e rápida que você pode montar do zero.

Em resumo

  • Captura: o nó Screen Share do Mixlab captura parte da janela do Blender.
  • Profundidade: Depth Anything V2 mais um ControlNet de profundidade compatível com seu modelo (SD 1.5 ou SDXL).
  • Modelos: SD 1.5 para velocidade bruta; RealVisXL Lightning para imagens bem melhores com 6 steps e CFG 1,5.
  • Dicas do Blender: lente de 80 mm, sem overlays, área de captura quadrada.
  • Velocidade: cerca de 7 segundos por imagem do SDXL Lightning num PC de 24 GB; mais lento num laptop de 4 GB.

Monte o fluxo

1. Comece pelo template padrão

Se o ComfyUI não abrir com o template padrão de geração de imagens, encontre-o em Workflow → Browse Templates. Pinte o prompt positivo de verde e o negativo de vermelho (botão direito → Color), para distingui-los.

2. Troque o latente vazio pela captura de tela

O nó Screen Share vem do pacote Mixlab; instale-o pelo Custom Nodes Manager. O layout dele sempre desenha um pouco fora da caixa. É uma peculiaridade de JavaScript que não consegui corrigir, e não importa.

Conecte o quadro atual dele ao Image Resize do Essentials, um pacote com muitos nós úteis. Redimensionar importa porque os modelos foram treinados em tamanhos fixos: 512 px para o Stable Diffusion 1.5, 1024 px para o SDXL e o Flux. Combiná-los dá melhores resultados com menos glitches.

3. Codifique, leia a profundidade, aplique o ControlNet

  • O VAE Encode comprime a imagem no espaço latente, o que acelera muito o processamento. Conecte o VAE do checkpoint e envie o latente ao KSampler.
  • O Depth Anything V2 lê a profundidade da captura. Pegue o modelo no Model Manager (uso o maior), recarregue o navegador e adicione um nó de pré-visualização para conferir o mapa de profundidade enquanto roda.
  • O Apply ControlNet recebe a imagem de profundidade, os dois prompts e o VAE, e alimenta o KSampler.
  • O Load ControlNet Model: cada família de modelos tem seus próprios ControlNets. Para o SD 1.5, pegue o modelo ControlNet v1.1 depth no Model Manager.

Prepare a cena do Blender

Posicionei um personagem do Mixamo, uma biblioteca gratuita de personagens e animações: um bloqueio agachado com espada das animações Great Sword, importado no Blender como FBX com o armature escondido. Os personagens do Mixamo não podem ser usados comercialmente num pacote que eu venda, então para isso fiz os meus; para os seus próprios renders, o Mixamo é um começo fácil. O personagem não precisa de boa anatomia. Os ControlNets de profundidade lidam com formas bem grosseiras.

O resto da cena são cubos, esferas e cilindros: um cilindro para o sabre de luz e uma cidade feita de caixas duplicadas e esticadas muitas vezes. Posicione a câmera, adicione uma luz e use o Eevee com ray tracing.

Cena do Blender com o personagem posicionado sobre uma caixa entre altos prédios cinza feitos de caixas
A cena toda é de caixas e um personagem do Mixamo posicionado.

Dois ajustes antes de capturar:

  • Defina a distância focal em 80 mm. A distorção de grande angular faz a anatomia parecer errada, e os modelos de IA não gostam disso.
  • Esconda overlays e painéis (aperte N para esconder o painel lateral). Wireframes ou overlays na captura podem ser lidos como parte da imagem.

Entre ao vivo

Ponha o Blender numa metade da tela e o ComfyUI na outra (Win+Esquerda / Win+Direita), ou use dois monitores. No nó Screen Share, clique em Share Screen, escolha a janela do Blender, depois Set Area e arraste um quadro. Mire num quadrado para combinar com o modelo; afastei o zoom e defini de novo para chegar mais perto.

Clique em Live Run, depois em Run. (Minha primeira execução engasgou porque esqueci de selecionar um checkpoint e um modelo de ControlNet; escolha-os nas listas, e não «null».)

SD 1.5: rápido, mas tosco

Com o prompt «a woman holding a red lightsaber in a cyberpunk city at night during rain», o primeiro resultado do Stable Diffusion 1.5 puro foi bem feio. Duas correções ajudaram:

  • Reduza a força do ControlNet para cerca de 0,8 e reduza o end percent, para o ControlNet parar de guiar antes do fim e o modelo ter mais liberdade para terminar.
  • Use um modelo refinado. Trocar para o epiCPhotoGasm, um modelo SD 1.5 refinado, deu um resultado melhor.
O Blender à esquerda e um render do Stable Diffusion de 512 por 512 de uma mulher com um sabre de luz vermelho à direita
SD 1.5 em 512 × 512: instantâneo, mas básico.

Mude a fila para Run (Instant) e ele continua renderizando enquanto você move a câmera. Há um pouco de atraso, porque ainda está processando a captura anterior. O SD 1.5 puro fica muito pior do que uma miniatura sugeriria, mas é incrivelmente rápido e serve para testar num sistema modesto.

SDXL Lightning: muito melhor

Pare antes de compartilhar a tela; o nó consome muitos recursos. Reduzir a refresh rate dele para 50 também ajuda.

O nó Screen Share com refresh rate 50 e seus botões Share Screen, Set Area e Live Run
Os controles do Screen Share. Uma refresh rate de 50 alivia a carga.

Depois faça o upgrade:

  • Checkpoint: o RealVisXL na versão Lightning, do Civitai. Os modelos Lightning rodam em muito menos steps.
  • Resolução: 1024 × 1024, o tamanho de treinamento do SDXL. Em 512 você obtém uma imagem inferior. Mude também a resolução do Depth Anything.
  • ControlNet: um ControlNet de SDXL depth do Model Manager.
  • KSampler: 6 steps, CFG 1,5.
A página do modelo RealVisXL no Civitai
RealVisXL, um modelo SDXL com uma versão Lightning rápida.

Não é tão rápido quanto o SD 1.5. No meu laptop de 4 GB é mais lento; num PC com 24 GB levou cerca de 7 segundos. Mas a imagem é muito, muito melhor. Mova a câmera, ou pegue uma caixa e coloque em outro lugar, e rode de novo.

A pose do blockout cinza ao lado de um render cyberpunk com um escudo azul brilhante
A mesma pose, SDXL Lightning: um grande salto de qualidade.

Mudando a cena com um prompt

Com o mesmo blockout, «medieval night in front of a castle, gloomy day» o transformou num cavaleiro. Acrescentar musgo, pedras e grama ao prompt e reduzir a força do ControlNet deu uma cena mais natural. O primeiro rosto foi engraçado; a execução seguinte o cobriu com um elmo, e o castelo ficou bem bonito.

O mesmo blockout renderizado como um cavaleiro de armadura diante de um castelo à noite
Um prompt novo, as mesmas caixas: um cavaleiro diante de um castelo.

Geometria melhor dá resultados melhores. Troque as caixas por malhas de terreno irregulares ou modelos reais de castelo no Blender e os renders melhoram muito. Ainda assim, é impressionante o que uma configuração extremamente básica consegue.

Próximos passos

Para uma versão posterior desta configuração que desenha adereços (armas, tanques e soldados), veja armas de ficção científica ao vivo a partir do Blender. Para renderizar em lote uma pasta inteira de capturas com mais qualidade usando o Flux, veja o pipeline automatizado de 3D para concept art. Os fluxos estão no meu Patreon.

Assista à versão em vídeo (15:16)

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

Qual o melhor modelo para renderização de IA em tempo real a partir do Blender?

O Stable Diffusion 1.5 puro é o mais rápido, mas fica tosco. Um SD 1.5 refinado como o epiCPhotoGasm é melhor. O SDXL Lightning (RealVisXL) fica muito melhor e continua rápido com 6 steps e CFG 1,5.

Por que usar uma lente de 80 mm no Blender?

Lentes grandes angulares distorcem a anatomia, e os modelos de IA não lidam bem com corpos distorcidos. Uma distância focal maior mantém as proporções naturais.

Wireframes ou overlays devem estar visíveis no viewport capturado?

Não. O modelo pode interpretá-los como parte da imagem. Esconda os overlays e os painéis laterais antes de capturar.

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