每日签到 地址发布 老王说明书 宣传中心 繁/简
讨论怎么用ai搞涩涩
查看: 3.2K|回复: 1
收起左侧

[硬核教程] 一种在 ComfyUI 中基于 ControlNet 的基础构图方式

[复制链接]
发表于 2026-3-6 21:41:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?免费注册

x
本帖最后由 明心亘青 于 2026-3-8 00:01 编辑

本人研究该方法的目的就是制作百合 CP 图,因此本文多人构图部分示例将存在女女百合。理论上可以应用于多 P 构图(只要你使用的生成底图的模型支持 NSFW),但我懒得试,我也不知道做谁(但不会做百合角色的。)。
本文深度并不高,我所讲述的方法只是 ControlNet 其中一种类型的最基本的应用之一,更多的可自行探索。
笔者并不会教你怎么下载模型,也不会贴链接,找 Gemini 问问也是可以的,毕竟本文所有使用的模型基本上都能在 HuggingFace 或者魔搭上找到。
本文将结合本人之前所著短文《一种基于 WD1.4 反推的提示词书写方式》中所提及的技巧。


本文需要使用光辉系模型以外的新模型,例如 Qwen-image, Anima。具体到正文中再展开。
你需要安装 ComfyUI-Aux 自定义节点包,Manager 可以下载。
如果你看过我以前那篇对 Lora 进行讲解的文章,你一定还记得我当时打了一个比方:ComfyUI 是餐馆,大模型是餐馆里的厨师,Lora 则是厨师可以看的那本菜谱。我自认为这是一个大致上揭露了这些工具应用本质的一个比方。进一步的,我们可以将 ControlNet 视作为一个“模具”,一个规范了厨师给你端上来的菜品长什么样的模具。顾名思义,ControlNet 直译即为“控制网”,你如果不对生成的图像进行“控制”,你便只能通过“抽卡”来抽出你所满意的图像。这无疑是个很坐牢的事情,厨师做饭要时间,可如果他端上来的菜品屡屡不让你满意,甚至是厨师水平太低、资历太小,完全达不到你的要求,你的耐心肯定会消磨殆尽。ComfyUI 当中也是如此,本来我们低配玩家跑图的速度就很慢,放大重采和多个 FaceDetailer 结合起来后,一两分钟甚至到三分钟、四分钟一张图都是常态。可如果抽出的是不符合自己期望的图,那就既浪费了电费,也浪费了时间。我们迫切地需要一种约束模型的方案,使得模型能够生成我们需要的图像。而这时,就是 ControlNet 发挥作用的地方了。
据我所知,常用的 ControlNet 有多个类别,像是 Canny(硬边缘)、Lineart(线稿)、Depth(深度)、Openpose(姿态)、SoftEdge(软边缘)、Normal Map(法线贴图)、Segmentation(语义分割)等等。根据它们的名字其实就能大致看出,它们都有些什么特点。我们这次将会采用 Depth 进行绘制,从笔者的体感上来看不管是二次元还是真人都可使用 Depth 生成底图,在构图方面是一把好手。其他的类别读者可自行探索,但需要明确的是并不存在哪个类型冠绝群雄,例如 Depth 在姿势的保持度上就要逊色于完整识别的 Openpose。
你可能发现了,我在前面的文段中多次提到“底图”这一词汇。ControlNet 的底图实际上就是一张普通的图片经由预处理器处理后得到的特殊图像。
QQ截图20260306200008.png
例如这就是 Openpose 相关的预处理器生成的骨架图。通过这张图片的约束,你所生成的图像中人物就会按照这张图片中“骨架”的形态摆出对应的姿势。当然骨架图本质上只是一些色块的拼接,你自己在 PS 或者什么软件里自己画也能使用,不过想必会麻烦点。
这其实也引出了我们的一个重要的诉求:我要怎么找到符合自己要求的图像?在 Pixiv 或者别的什么网站里翻吗?当然不至于,这也是为什么我们要使用一个新模型。Qwen-image 挂靠于 Qwen2.5 编码器,语义理解相较于 SDXL 强得不是一星半点儿。我们完全可以发挥想象力之后使用自然语言描述自己将要生成的图像,再用这张生成的图像去作为底图。
什么?你配置不太够跑不动 Qwen-image?没关系,Z-image 甚至是 Anima 都是可以的,你不生成 NSFW 甚至可以使用 Seedream、Nano Banana。我们本质上只是需要一张有相关姿势的底图而已,生图质量并不在我们的考虑范围内。能被预处理器准确地处理为我们需要的图像就是好图像,能做到的模型就是好模型。有现成的图自然是最好。
事前的话差不多说完了,现在让我们打开 ComfyUI,搭建一个基础的文生图工作流:
QQ图片20260306201820.png
(muririn 就是梦璃凛,我知道宁宁是小舞一画的,但我想不起来她的 ID 了)
现在,让我们添加 ControlNet。搜索节点“应用ControlNet(旧版高级)”“加载ControlNet模型”和“Depth Anything V2 - Relative”,简单连线(有什么连什么),你得到的应该是这样的工作流:

QQ图片20260306205612.png
嗯,这里或许有些太快了。但这其实没什么好讲的,就是 ControlNet 的最基本的应用:节点读取了底图的信息后,通过 ControlNet 模型将图像中的内容编码为一段信息,与原本的提示词一起输入到条件当中,你只需要塞一张被预处理器处理过的图像,然后使用 ControlNet 模型,应用一下就可以了。Depth Anything V2 - Relative 就是那个预处理器,它可以将图像处理为深度图。ControlNet 模型各司其职,本例中使用的叫 noobaiXLControlnet_epsDepthMidasV11,名字中带有 Depth 就能看出来该模型专用于处理深度图。如果你使用了 Openpose 等其他类型的模型,ControlNet 就会直接不生效。
值得注意的是,你生成的图像与预处理器输出的图像分辨率应该尽量保持接近,这样才能实现更好的效果。当然这不代表不能用,但效果不佳是很可能的事。而且底图的特征不能太过明显,否则不可避免地会造成一定的影响。
QQ截图20260306210747.png
如果你非用不可,那么就只能换一个 ControlNet 模型了。
同时,你最好也在 Prompt 中加入动作的描述词。因为深度图本质上只是限定整体空间构图,如果你不加入这些 Prompt,那么很可能最终成品只是轮廓像,但实际上的内容与底图大相径庭。如果你想知道到底是什么样的,可以参考这张图片:
a4f200cfe3142d2b20e1dae0f9627624.png
这种时候,WD1.4 反推提示词的作用就来了。它能为你反推出图片中的 Prompt。可这时候又来了一个问题:那些外貌描述怎么办?其实也很简单,给 AI 让 AI 解决就行,DeepSeek 就能满足需求。麻烦吗?也不麻烦。你让 Gemini 给你写个调用 DeepSeek API 的节点就好:
QQ截图20260306211016.png
这时候再结合 string of list 等文本行合并节点,你就能解决 Prompt 的问题。
我们现在再利用语义理解更强的模型生成一些图像:
QQ截图20260306212314.png
(我翻译成中文的原文是“两位少女肩并肩走在林间的小路上,看起来十分开心。画面主要呈现两位少女,占据了画幅的大半部分”,不许电我)
这时塞回工作流,你就能看到这样的画面:
QQ图片20260306212837.png
这个方法最显著的优势在于,它可以应用画师串。我应该提到过,“我实测下来(Anima)对画师串的支持极差”。同时由于模型架构的不同,Anima 也无法使用 SDXL 的 Lora。这时 SDXL 本身完善的社区生态的重要性便得以体现。而且,这也能解决 SDXL 最致命的多人构图能力差的问题(因为 CLIP 太落后且参数太小,解决前者问题的例子是 Qwen image 等,解决后者的例子是 NovelAI。)但比较遗憾的是,即使是 ControlNet 也会出现混特征的问题,这个就必须抽卡了。
QQ图片20260306213617.png
如果你的画师串和 Lora 足够独特,那么你就能真正跑出特色: QQ图片20260306213823.png
QQ图片20260306213806.png
(这里的底图使用了 Qwen-image,这个更惨连画师都不支持……但是它支持中文输入!)
同样的,你也可以用我之前文章提到的方式,把片塞进去,也能产生效果。不过,这就需要你的自行探索了。

不知道为什么发出去以后最后总有三张图,暂时不知道解决方案。
QQ截图20260306202532.png
QQ截图20260306202914.png
QQ图片20260306201820.png
QQ图片20260306205612.png
回复

使用道具 举报

发表于 2026-6-6 20:02:30 | 显示全部楼层
这么好,支持支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
点击进行验证

本版积分规则

我们不生产资源,只做资源的搬运工。

广告合作-tags标签-app下载-Archiver-小黑屋-