Mettez la boîte à l’échelle, obtenez une plus grosse arme. Cette configuration vous permet de concevoir un accessoire directement dans Blender, avec des cubes et des cylindres, pendant que ComfyUI transforme le viewport en concept art terminé en direct : déplacez une pièce, et le rendu se met à jour. Elle fonctionne avec SDXL ou Flux. Flux est plus lent, mais sa sortie est plus nette et de meilleure qualité.
C’est open source, sans abonnement et sans censure. Ici, je construis tout le workflow de zéro.
En bref
- Capture : le node Screen Share de Mixlab capture la fenêtre Blender.
- Modèle : Juggernaut XL Lightning, un modèle SDXL rapide : 6 étapes, CFG 1,5.
- Profondeur : Depth Anything plus un ControlNet de profondeur SDXL, force d’environ 0,55.
- Vitesse : environ 25 secondes par mise à jour sur un portable de 4 Go, 15 sur 24 Go.
- Astuces : ajoutez un plan de sol, évitez les angles extrêmes et donnez tous les pixels à un seul sujet.
Construire le workflow
1. Partir du template par défaut
Ouvrez ComfyUI, allez dans Workflow → Browse Templates et choisissez le template de génération d’images de base. Ignorez l’avertissement de modèle manquant si vous l’avez déjà.
2. Utiliser un modèle rapide
Pour le travail en direct, la vitesse compte. J’utilise Juggernaut XL Lightning, un modèle SDXL très rapide qui n’a besoin que de 4 à 6 étapes avec un CFG de 1 à 2. Réglez le KSampler ainsi :
- Seed : increment, pour que les rendus soient numérotés 1, 2, 3 au lieu d’énormes nombres aléatoires.
- Étapes : 6.
- CFG : 1,5.
- Sampler / scheduler : euler / normal.
- Denoise : 1,0. Le denoise mélange l’image d’origine au résultat. Baissez-le ici et votre capture Blender grise devient simplement un rendu plus gris.
3. Ajouter la capture d’écran
Cherchez Screen Share parmi les nodes Mixlab (installez le pack depuis le Custom Nodes Manager). Le Manager peut avertir de conflits avec d’autres packs, parce que beaucoup de noms de nodes se recoupent ; ce n’est généralement pas un problème, sauf si votre workflow est énorme.
C’est un node JavaScript, un peu bogué : son interface se dessine hors des limites du node, et si vous passez d’un workflow à un autre, il peut se figer dans des couleurs arc-en-ciel. Recharger le navigateur (Ctrl+R) règle le problème ; cela recharge la page, pas ComfyUI.
4. Redimensionner et encoder
- Image Resize (d’Essentials) amène l’image capturée à 1920 × 1088. J’utilise ces nombres aussi avec Flux, et ils fonctionnent bien avec SDXL. Cette fois je voulais des images larges, pas seulement des carrés.
- VAE Encode transforme les pixels en espace latent. Connectez le VAE du checkpoint, et envoyez le latent au KSampler. Supprimez le node Empty Latent Image.
5. Profondeur et ControlNet
- Depth Anything : prenez le modèle dans le Model Manager (le plus gros devrait donner la meilleure qualité), rechargez le navigateur et réglez sa résolution sur le côté court, 1088. Cela fonctionne encore quand vous passez en portrait.
- Un node d’aperçu, pour voir la carte de profondeur.
- Apply ControlNet, le node qui commande toutes les entrées : l’image de profondeur, le VAE et les deux prompts passent par lui vers le KSampler.
- Load ControlNet Model avec un ControlNet de profondeur SDXL (également dans le Model Manager).
Enregistrez le workflow à ce stade. Renommez les nodes de prompt « Positive Prompt » et « Negative Prompt » pour garder la lisibilité.
Passer en direct
Mettez Blender et le navigateur côte à côte, sur deux écrans ou en partageant un écran (Win+Gauche / Win+Droite). Dans Blender, isolez l’accessoire et appuyez sur N pour masquer les panneaux dont vous n’avez pas besoin.
Écrivez le prompt (j’ai été aidé par ChatGPT), puis cliquez sur Share Screen, choisissez la fenêtre Blender et définissez la zone : tracez un cadre autour de la partie du viewport à capturer. L’image capturée est petite, et c’est bien : le modèle n’a besoin que d’une approximation de la forme.
Cliquez sur Live Run. Chaque modification dans Blender déclenche désormais un nouveau rendu.
Première correction : la force du ControlNet
Le premier résultat paraissait étiré : les proportions de la zone de capture ne correspondaient pas à la toile de 1920 × 1088. Ajustez la zone jusqu’à ce qu’elle ait à peu près la bonne forme.
La correction plus importante : la force du ControlNet était à 1,0, le modèle suivait donc la carte de profondeur de façon trop rigide. À 0,55, c’était bien meilleur. À faible force, il devient créatif et peut ajouter des poignées et des pièces au hasard, ce qui est parfois un bonus.
Vitesse : sur mon portable de 4 Go, environ 25 secondes par mise à jour après 40 secondes de chargement initial. Sur 24 Go, c’était environ 15 secondes. Les images larges sont plus grandes que les carrés, elles prennent donc plus de temps. Il y a un peu de retard pendant que vous modifiez, car il rend encore votre position précédente.
Concevoir en déplaçant des boîtes
Le plaisir est de redessiner en temps réel. Mon lanceur est fait de pièces séparées, je peux donc supprimer des parties, raccourcir le corps ou déplacer des éléments pour faire une arme différente, et le rendu suit. La complexité qu’il tire des formes est assez étonnante.
Deux choses à surveiller :
- Les angles extrêmes le perturbent. Une forte perspective lui fait ajouter des éléments au hasard, je les évite donc.
- Vérifiez le cadrage. Faites pivoter la vue et assurez-vous que l’accessoire n’est pas coupé par la zone de capture.
Chars et soldats
Je suis passé à un blockout de char et à un nouveau prompt, et j’ai obtenu un char plutôt joli. Il n’était pas aussi cyberpunk que je l’avais demandé, cependant : SDXL a tendance à rendre les choses réalistes et manque de la créativité de Flux.
Ajoutez un plan de sol. Il aide le modèle de profondeur à trouver le sol ; sans lui, l’objet peut finir par flotter dans le brouillard. Avec lui, le rendu a très bien lu l’horizon. Changer les proportions du char n’est qu’à un modificateur bevel près. Une caméra vue de dessus a donné des résultats plus science-fiction, sans être du bon concept art : elle a mis une arme sur le dos, ou peut-être un pot d’échappement.
Avec deux soldats ébauchés et un nouveau prompt, il a très bien lu les formes : la plaque de poitrine croisée de la soldate, la visière, l’armure métallique sur les avant-bras là où je l’avais modélisée, la ceinture, et même des doigts raisonnables pour SDXL. Il a tendance à donner aux deux figures le même genre ; SDXL peut être délicat sur ce point.
Donnez tous les pixels à un seul sujet. Pour un soldat unique, passez en portrait : changez le redimensionnement en 1088 × 1920, redéfinissez la zone de capture et masquez le panneau latéral de Blender. Avec tous les pixels sur une seule figure, la qualité a nettement augmenté.
Quand vous êtes satisfait, arrêtez l’exécution en direct et arrêtez le partage. C’est un moyen rapide et peu coûteux d’explorer des designs. Pour des versions de plus haute qualité des mêmes idées, voir le pipeline automatisé de la 3D au concept art avec Flux et son prédécesseur SDXL, concept art en temps réel avec Blender et Stable Diffusion. Tous les workflows et scènes Blender sont sur mon Patreon.
Voir la version vidéo (14:59)
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
Quelle est la vitesse du rendu en direct avec SDXL Lightning ?
Sur mon portable de 4 Go, environ 25 secondes par mise à jour pour une image large de 1920 × 1088, après environ 40 secondes de chargement initial. Sur 24 Go, c'était environ 15 secondes.
Quelle force de ControlNet convient pour la capture Blender en direct ?
Environ 0,55. À 1,0, il suit le blockout de façon trop rigide ; des valeurs plus basses laissent le modèle inventer des détails, parfois au hasard.
Pourquoi l'IA se trompe-t-elle sous certains angles de caméra ?
Une perspective extrême la perturbe et elle se met à ajouter des éléments au hasard. Restez sur des angles modérés, et ajoutez un plan de sol pour que le modèle de profondeur trouve le sol.
