ControlNet 线稿
只靠提示词,很多时候像在开盲盒:ControlNet就是再加一道「几何结构」保障——你给我一张基础参考(线稿、照相机视角),生成时尽量顺着它来,而不是纯随机凑一张看起来像的。
扩散模型本来只会瞎画,有了 ControlNet 这个线稿草稿以后,扩散模型就……在线稿基础上瞎画🤪,我们要学会的就是,怎么指挥这些小工具给我们干活
稍微懂点算法的小伙伴可以了解下,ControlNet跟“边缘”有关系,本作对这方面挺感兴趣,有机会再深入去讲
常见类型包括:边缘 / 涂鸦(scribble)、深度、姿态、法线…… 不同类型的 ControlNet,要的参考图也不一样。有的要你手绘草图,有的要你上传照片它会先变成深度图——预处理这一步在实际工作流里经常占一半工作量。
Comfy Core 不一定自带所有「预处理节点」,很多人会用社区扩展,例如文档里常提到的 ControlNet aux 一类预处理合集;具体装啥看你用的工作流说明。
下载好的 ControlNet 权重放在 ComfyUI/models/controlnet,界面里 Load ControlNet 这类节点能扫到。
底模还在 checkpoints;有时还会单独 Load VAE——和官方示例一样,作者推荐单独 VAE 就用单独的,图省事也可以用 checkpoint 里自带的(看你模型说明)。
工作流里你在拧啥
Section titled “工作流里你在拧啥”典型链路:加载 ControlNet → Apply ControlNet → 把处理过的 conditioning 送进采样器。
在 Apply ControlNet 一类节点上,你会经常看到:
| 参数 | 人话 |
|---|---|
| strength | 这条 ControlNet 有多「使劲」。太高容易死死贴在参考上,太低等于没控。 |
| start_percent / end_percent | 扩散进行到百分之多少时开始 / 结束施加这条控制——好比「前半场随便起稿,后半场才卡结构」,灵活用的。 |
官方文档提醒:老工作流里可能出现 Apply ControlNet (Old),那是过时节点,默认隐藏;新项目尽量用新版 Apply。
可以链式接多条 ControlNet(例如草图 + 深度),也能去看官方的 Mixing ControlNets 学习组合思路。原则只有一条:每条都在抢发言权,权重叠太多容易打架,慢慢试。
提示词管「画什么」,ControlNet 多半管「长成啥布局」。 先把类型选对(scribble / depth / pose…),预处理对了,再调强度和时间区间。