Concept art en temps réel à partir d'une scène Blender avec Stable Diffusion et ComfyUI

Posez un personnage Mixamo dans une scène Blender faite de boîtes et obtenez une nouvelle image de concept à chaque déplacement de la caméra. Une configuration ComfyUI avec partage d'écran, du rapide SD 1.5 au plus net SDXL Lightning.

Anton Tenitsky13 octobre 20266 min de lectureVersion vidéo plus bas

Ce guide a été traduit de l'anglais par IA et peut contenir des erreurs. Lire l'original.

Un blockout Blender gris d'une figure accroupie avec une épée à côté d'un rendu cyberpunk de la même pose avec un bouclier d'énergie bleu

Déplacez la caméra, déplacez un objet, et une nouvelle image de concept apparaît en quelques secondes. Cette configuration capture votre viewport Blender et le fait passer par Stable Diffusion dans ComfyUI, en direct. Ce genre d’IA contrôlable, je l’utilise déjà dans des travaux clients.

Pour la meilleure qualité, Flux est la meilleure option. Il n’est pas en temps réel, mais donne des résultats superbes. Ce guide parle de vitesse : une configuration simple et rapide que vous pouvez construire de zéro.

En bref

  • Capture : le node Screen Share de Mixlab capture une partie de la fenêtre Blender.
  • Profondeur : Depth Anything V2 plus un ControlNet de profondeur adapté à votre modèle (SD 1.5 ou SDXL).
  • Modèles : SD 1.5 pour la vitesse brute ; RealVisXL Lightning pour des images bien meilleures à 6 étapes, CFG 1,5.
  • Astuces Blender : objectif de 80 mm, pas d’overlays, zone de capture carrée.
  • Vitesse : environ 7 secondes par image SDXL Lightning sur un PC de 24 Go ; plus lent sur un portable de 4 Go.

Construire le workflow

1. Partir du template par défaut

Si ComfyUI ne s’ouvre pas avec le template de génération d’images par défaut, vous le trouverez sous Workflow → Browse Templates. Colorez le prompt positif en vert et le négatif en rouge (clic droit → Color), pour les distinguer.

2. Remplacer le latent vide par la capture d’écran

Le node Screen Share vient du pack Mixlab ; installez-le depuis le Custom Nodes Manager. Sa mise en page déborde toujours un peu de sa boîte. C’est une bizarrerie JavaScript que je n’ai pas pu corriger, et cela n’a pas d’importance.

Connectez son image courante à Image Resize d’Essentials, un pack avec de nombreux nodes utiles. Le redimensionnement compte parce que les modèles ont été entraînés à des tailles fixes : 512 px pour Stable Diffusion 1.5, 1024 px pour SDXL et Flux. Les respecter donne de meilleurs résultats avec moins de défauts.

3. Encoder, lire la profondeur, appliquer le ControlNet

  • VAE Encode compresse l’image dans l’espace latent, ce qui accélère beaucoup le traitement. Connectez le VAE du checkpoint, et envoyez le latent au KSampler.
  • Depth Anything V2 lit la profondeur de la capture. Prenez le modèle dans le Model Manager (j’utilise le plus gros), rechargez le navigateur et ajoutez un node d’aperçu pour vérifier la carte de profondeur pendant l’exécution.
  • Apply ControlNet prend l’image de profondeur, les deux prompts et le VAE, et alimente le KSampler.
  • Load ControlNet Model : chaque famille de modèles a ses propres ControlNets. Pour SD 1.5, prenez le modèle ControlNet v1.1 depth dans le Model Manager.

Préparer la scène Blender

J’ai posé un personnage de Mixamo, une bibliothèque gratuite de personnages et d’animations : un blocage accroupi à l’épée tiré des animations Great Sword, importé dans Blender en FBX avec l’armature masquée. Les personnages de Mixamo ne peuvent pas être utilisés commercialement dans un pack que je vends, j’ai donc fait les miens pour cela ; pour vos propres rendus, Mixamo est un départ facile. Le personnage n’a pas besoin d’une bonne anatomie. Les ControlNets de profondeur s’accommodent de formes très grossières.

Le reste de la scène est fait de cubes, de sphères et de cylindres : un cylindre pour le sabre laser, et une ville faite de boîtes dupliquées et étirées de nombreuses fois. Placez la caméra, ajoutez une lumière et utilisez Eevee avec lancer de rayons.

Scène Blender avec le personnage posé sur une boîte parmi de grands immeubles de boîtes grises
Toute la scène est faite de boîtes et d'un personnage Mixamo posé.

Deux réglages avant de capturer :

  • Réglez la focale à 80 mm. La déformation du grand angle fait paraître l’anatomie fausse, et les modèles d’IA n’aiment pas cela.
  • Masquez les overlays et les panneaux (appuyez sur N pour masquer le panneau latéral). Les fils de fer ou les overlays dans la capture peuvent être lus comme faisant partie de l’image.

Passer en direct

Mettez Blender sur une moitié de l’écran et ComfyUI sur l’autre (Win+Gauche / Win+Droite), ou utilisez deux moniteurs. Dans le node Screen Share, cliquez sur Share Screen, choisissez la fenêtre Blender, puis Set Area et tracez un cadre. Visez un carré pour correspondre au modèle ; j’ai dézoomé et redéfini pour me rapprocher.

Cliquez sur Live Run, puis sur Run. (Ma première exécution s’est étranglée parce que j’avais oublié de sélectionner un checkpoint et un modèle de ControlNet ; choisissez-les dans les listes, pas « null ».)

SD 1.5 : rapide, mais rudimentaire

Avec le prompt « a woman holding a red lightsaber in a cyberpunk city at night during rain », le premier résultat du Stable Diffusion 1.5 de base était plutôt laid. Deux corrections ont aidé :

  • Baissez la force du ControlNet à environ 0,8, et réduisez son end percent, pour que le ControlNet cesse de guider avant la fin et laisse au modèle plus de liberté pour terminer.
  • Utilisez un modèle affiné. Passer à epiCPhotoGasm, un modèle SD 1.5 raffiné, a donné un meilleur résultat.
Blender à gauche et un rendu Stable Diffusion de 512 par 512 d'une femme avec un sabre laser rouge à droite
SD 1.5 en 512 × 512 : instantané, mais basique.

Passez la file sur Run (Instant) et il continue de rendre pendant que vous déplacez la caméra. Il y a un peu de retard, car il traite encore la dernière capture. Le SD 1.5 de base paraît bien pire que ce qu’une miniature laisserait croire, mais il est incroyablement rapide, et convient pour tester sur un système modeste.

SDXL Lightning : bien meilleur

Arrêtez d’abord le partage ; le node est gourmand en ressources. Baisser son refresh rate à 50 aide aussi.

Le node Screen Share avec un refresh rate de 50 et ses boutons Share Screen, Set Area et Live Run
Les commandes de Screen Share. Un refresh rate de 50 allège la charge.

Puis montez en gamme :

  • Checkpoint : RealVisXL dans sa version Lightning, depuis Civitai. Les modèles Lightning tournent en bien moins d’étapes.
  • Résolution : 1024 × 1024, la taille d’entraînement de SDXL. À 512, vous obtenez une image inférieure. Changez aussi la résolution de Depth Anything.
  • ControlNet : un ControlNet SDXL depth depuis le Model Manager.
  • KSampler : 6 étapes, CFG 1,5.
La page du modèle RealVisXL sur Civitai
RealVisXL, un modèle SDXL avec une version Lightning rapide.

Ce n’est pas aussi rapide que SD 1.5. Sur mon portable de 4 Go, c’est plus lent ; sur un PC de 24 Go, cela a pris environ 7 secondes. Mais l’image est bien, bien meilleure. Déplacez la caméra, ou saisissez une boîte et placez-la ailleurs, et relancez.

La pose en blockout gris à côté d'un rendu cyberpunk avec un bouclier bleu lumineux
La même pose, SDXL Lightning : un grand bond en qualité.

Changer la scène avec un prompt

Avec le même blockout, « medieval night in front of a castle, gloomy day » l’a transformé en chevalier. Ajouter de la mousse, des rochers et de l’herbe au prompt et baisser la force du ControlNet a donné une scène plus naturelle. Le premier visage était drôle ; l’exécution suivante l’a couvert d’un casque, et le château avait plutôt belle allure.

Le même blockout rendu en chevalier en armure devant un château la nuit
Un nouveau prompt, les mêmes boîtes : un chevalier devant un château.

Une meilleure géométrie donne de meilleurs résultats. Remplacez les boîtes par des maillages de terrain irréguliers ou de vrais modèles de château dans Blender, et les rendus s’améliorent beaucoup. Il n’en reste pas moins impressionnant de voir ce qu’une configuration extrêmement dépouillée peut faire.

Prochaines étapes

Pour une version ultérieure de cette configuration qui conçoit des accessoires (armes, chars et soldats), voir des armes de science-fiction en direct depuis Blender. Pour rendre en lot tout un dossier de captures en plus haute qualité avec Flux, voir le pipeline automatisé de la 3D au concept art. Les workflows sont sur mon Patreon.

Voir la version vidéo (15:16)

Tout ce qui précède est aussi dans la vidéo, si vous préférez suivre à l’écran. La vidéo est en anglais.

Questions fréquentes

Quel est le meilleur modèle pour le rendu IA en temps réel depuis Blender ?

Le Stable Diffusion 1.5 de base est le plus rapide mais paraît rudimentaire. Un SD 1.5 affiné comme epiCPhotoGasm est meilleur. SDXL Lightning (RealVisXL) est bien plus beau et reste rapide à 6 étapes et CFG 1,5.

Pourquoi utiliser un objectif de 80 mm dans Blender ?

Les grands angles déforment l'anatomie, et les modèles d'IA gèrent mal les corps déformés. Une focale plus longue garde des proportions naturelles.

Les fils de fer ou les overlays doivent-ils être visibles dans le viewport capturé ?

Non. Le modèle peut les interpréter comme faisant partie de l'image. Masquez les overlays et les panneaux latéraux avant de capturer.

Anton Tenitsky est artiste 3D avec plus de 15 ans d'expérience en infographie, qui a travaillé avec Nickelodeon, Gameloft, Marvel Rivals et de nombreux autres clients. En savoir plus sur moi

Guides associés