Concept art en tiempo real a partir de una escena de Blender con Stable Diffusion y ComfyUI

Coloca en pose un personaje de Mixamo en una escena de Blender hecha con cajas y obtén una imagen de concepto nueva cada vez que muevas la cámara. Una configuración de ComfyUI con compartición de pantalla, del rápido SD 1.5 al más nítido SDXL Lightning.

Anton Tenitsky13 de octubre de 20266 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 bloqueo gris de Blender de una figura agachada con una espada junto a un render cyberpunk de la misma pose con un escudo de energía azul

Mueve la cámara, mueve un objeto y aparece una nueva imagen de concepto en segundos. Esta configuración captura el viewport de Blender y lo pasa por Stable Diffusion en ComfyUI, en directo. Este tipo de IA controlable es algo que ya uso en trabajo para clientes.

Para la máxima calidad, Flux es la mejor opción. No es en tiempo real, pero da resultados impresionantes. Esta guía trata de la velocidad: una configuración simple y rápida que puedes construir desde cero.

En resumen

  • Captura: el nodo Screen Share de Mixlab captura parte de la ventana de Blender.
  • Profundidad: Depth Anything V2 más un ControlNet de profundidad que coincida con tu modelo (SD 1.5 o SDXL).
  • Modelos: SD 1.5 para velocidad pura; RealVisXL Lightning para imágenes mucho mejores con 6 steps, CFG 1,5.
  • Consejos de Blender: lente de 80 mm, sin superposiciones, área de captura cuadrada.
  • Velocidad: unos 7 segundos por imagen de SDXL Lightning en un PC de 24 GB; más lento en un portátil de 4 GB.

Construye el flujo

1. Empieza desde la plantilla por defecto

Si ComfyUI no se abre con la plantilla de generación de imágenes por defecto, la encuentras en Workflow → Browse Templates. Colorea el prompt positivo de verde y el negativo de rojo (clic derecho → Color), para distinguirlos.

2. Sustituye el latente vacío por la captura de pantalla

El nodo Screen Share viene del paquete Mixlab; instálalo desde el Custom Nodes Manager. Su diseño siempre se dibuja un poco fuera de su recuadro. Es una rareza de JavaScript que no pude arreglar, y no importa.

Conecta su fotograma actual a Image Resize de Essentials, un paquete con muchos nodos útiles. Redimensionar importa porque los modelos se entrenaron con tamaños fijos: 512 px para Stable Diffusion 1.5, 1024 px para SDXL y Flux. Ajustarse a ellos da mejores resultados con menos fallos.

3. Codifica, lee la profundidad, aplica el ControlNet

  • VAE Encode comprime la imagen en el espacio latente, lo que hace el procesamiento mucho más rápido. Conecta el VAE del checkpoint y envía el latente al KSampler.
  • Depth Anything V2 lee la profundidad de la captura. Consigue el modelo en el Model Manager (yo uso el más grande), recarga el navegador y añade un nodo preview para comprobar el mapa de profundidad mientras funciona.
  • Apply ControlNet toma la imagen de profundidad, ambos prompts y el VAE, y alimenta el KSampler.
  • Load ControlNet Model: cada familia de modelos tiene sus propios ControlNet. Para SD 1.5, consigue el modelo ControlNet v1.1 depth en el Model Manager.

Prepara la escena de Blender

Coloqué en pose un personaje de Mixamo, una biblioteca gratuita de personajes y animaciones: un bloqueo agachado con espada de las animaciones Great Sword, importado en Blender como FBX con la armadura oculta. Los personajes de Mixamo no se pueden usar comercialmente en un paquete que yo venda, así que para eso hice los míos; para tus propios renders, Mixamo es el comienzo fácil. El personaje no necesita buena anatomía. Los ControlNet de profundidad se las arreglan con formas muy toscas.

El resto de la escena son cubos, esferas y cilindros: un cilindro para el sable láser y una ciudad hecha de cajas duplicadas y estiradas muchas veces. Coloca la cámara, añade una luz y usa Eevee con ray tracing.

Escena de Blender con el personaje en pose sobre una caja entre altos edificios de cajas grises
Toda la escena son cajas y un personaje de Mixamo en pose.

Dos ajustes antes de capturar:

  • Fija la distancia focal en 80 mm. La distorsión de gran angular hace que la anatomía se vea mal, y a los modelos de IA no les gusta.
  • Oculta las superposiciones y los paneles (pulsa N para ocultar el panel lateral). Las líneas de estructura o las superposiciones en la captura pueden interpretarse como parte de la imagen.

En directo

Pon Blender en una mitad de la pantalla y ComfyUI en la otra (Win+Izquierda / Win+Derecha), o usa dos monitores. En el nodo Screen Share, haz clic en Share Screen, elige la ventana de Blender, luego Set Area y arrastra un marco. Busca un cuadrado que coincida con el modelo; yo reduje el zoom y volví a fijarlo para acercarme más.

Haz clic en Live Run y luego en Run. (Mi primera ejecución se atascó porque había olvidado seleccionar un checkpoint y un modelo ControlNet; elígelos de las listas, no «null».)

SD 1.5: rápido, pero tosco

Con el prompt «a woman holding a red lightsaber in a cyberpunk city at night during rain», el primer resultado con Stable Diffusion 1.5 normal fue bastante feo. Dos arreglos ayudaron:

  • Baja la fuerza del ControlNet a unos 0,8, y reduce su end percent, para que el ControlNet deje de guiar antes del final y el modelo tenga más libertad para terminar.
  • Usa un modelo afinado. Cambiar a epiCPhotoGasm, un modelo SD 1.5 refinado, dio un mejor resultado.
Blender a la izquierda y un render de Stable Diffusion de 512 por 512 de una mujer con un sable láser rojo a la derecha
SD 1.5 a 512 × 512: instantáneo, pero básico.

Cambia la cola a Run (Instant) y seguirá renderizando mientras mueves la cámara. Hay un pequeño retardo, porque aún está procesando la última captura. El Stable Diffusion 1.5 normal se ve mucho peor de lo que sugeriría una miniatura, pero es increíblemente rápido, y sirve para probar en un equipo modesto.

SDXL Lightning: mucho mejor

Primero deja de compartir la pantalla; el nodo consume muchos recursos. Bajar su refresh rate a 50 también ayuda.

El nodo Screen Share con refresh rate 50 y sus botones Share Screen, Set Area y Live Run
Los controles de Screen Share. Un refresh rate de 50 alivia la carga.

Luego mejora:

  • Checkpoint: RealVisXL en su versión Lightning, de Civitai. Los modelos Lightning funcionan en muchos menos steps.
  • Resolución: 1024 × 1024, el tamaño de entrenamiento de SDXL. A 512 obtienes una imagen inferior. Cambia también la resolución de Depth Anything.
  • ControlNet: un ControlNet de profundidad de SDXL del Model Manager.
  • KSampler: 6 steps, CFG 1,5.
La página del modelo RealVisXL en Civitai
RealVisXL, un modelo SDXL con una versión Lightning rápida.

No es tan rápido como SD 1.5. En mi portátil de 4 GB es más lento; en un PC con 24 GB tardó unos 7 segundos. Pero la imagen es mucho, mucho mejor. Mueve la cámara, o coge una caja y colócala en otro sitio, y vuelve a ejecutar.

La pose gris del bloqueo junto a un render cyberpunk con un escudo azul brillante
La misma pose, SDXL Lightning: un gran salto de calidad.

Cambiar la escena con un prompt

Con el mismo bloqueo, «medieval night in front of a castle, gloomy day» lo convirtió en un caballero. Añadir musgo, rocas y hierba al prompt y bajar la fuerza del ControlNet dio una escena más natural. El primer rostro fue gracioso; la siguiente ejecución lo cubrió con un casco, y el castillo quedó bastante bien.

El mismo bloqueo renderizado como un caballero con armadura frente a un castillo de noche
Un prompt nuevo, las mismas cajas: un caballero frente a un castillo.

Una mejor geometría da mejores resultados. Cambia las cajas por mallas de terreno blandas o por modelos de castillo reales en Blender y los renders mejoran mucho. Aun así, es impresionante lo que puede hacer una configuración extremadamente básica.

Siguientes pasos

Para una versión posterior de esta configuración que diseña objetos (armas, tanques y soldados), mira armas de ciencia ficción en directo desde Blender. Para renderizar por lotes una carpeta entera de capturas con mayor calidad usando Flux, mira el proceso automatizado de 3D a concept art. Los flujos están en mi Patreon.

Ver la versión en vídeo (15:16)

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

Preguntas frecuentes

¿Qué modelo es mejor para el renderizado de IA en tiempo real desde Blender?

Stable Diffusion 1.5 normal es el más rápido pero se ve tosco. Un SD 1.5 afinado como epiCPhotoGasm es mejor. SDXL Lightning (RealVisXL) se ve mucho mejor y sigue siendo rápido con 6 steps y CFG 1,5.

¿Por qué usar una lente de 80 mm en Blender?

Las lentes anchas deforman la anatomía, y a los modelos de IA no se les dan bien los cuerpos deformados. Una focal más larga mantiene proporciones naturales.

¿Deben verse las líneas de estructura o las superposiciones en el viewport capturado?

No. El modelo puede interpretarlas como parte de la imagen. Oculta las superposiciones y los paneles laterales antes de capturar.

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