⬡ 节点流学园

🚀 04-进阶

条件节点组与区域引导:一幅图多个提示词

进阶conditioning区域引导regionalcombineconcat

一句话定义

ComfyUI 有一组专门加工 CONDITIONING 的节点(Combine/Concat/Set Mask/Set Strength…),组合它们可以实现区域引导(regional prompting)——左边一个 prompt、右边一个 prompt,各管画面的一块。

为什么重要

双人构图、左右分屏、商品+文案区分工……"一句话管全图"力不从心时,条件节点组是官方内置的正解;它还是理解 IPAdapter 等高级条件注入的地基。

前置知识

CLIP 与条件编码:文字如何变成方向(CONDITIONING 是什么)、局部重绘(Inpainting):只改该改的地方(蒙版)。

核心概念

节点行为典型用途
Conditioning (Combine)多条条件并列注入(各自独立引导)区域引导的拼装
Conditioning (Concat)条件串接(拼接特征序列)叠加 ControlNet/局部条件
ConditioningSetMask给某条条件指定作用区域(MASK)+强度区域引导的核心
ConditioningSetAreaStrength调整该条件的整体权重区域间的主次
ConditioningZeroOut / Set Default Strength置零/设基线强度负面基线、实验

区域引导标准拼装(以左右两块为例):

prompt_left ──SetMask(左半图 MASK, strength 1.0)──┐
                                                  ├─Conditioning Combine─▶ KSampler.positive
prompt_right ─SetMask(右半图 MASK, strength 1.0)──┘
(MASK 可由 Solid Mask + MaskComposite 拼出,或加载蒙版图)

原理与机制

cross-attention 的作用范围由"条件张量 + 空间掩码"共同决定:SetMask 在条件的空间维度上乘以蒙版,于是该 prompt 的引导力只在指定区域生效;Combine 把多条带区域的条件并列送入,每一步去噪同时接受各区域的引导。Concat 则是把条件序列拼长(不分区,整体叠加),语义完全不同——最常见的翻车就是 Combine/Concat 用反。

直观类比

画面是一张分格的订单:SetMask 是给每条需求盖上"只负责左半页"的章,Combine 把多张单子并排放在画师桌上——画师画左半页看左单,右半页看右单。Concat 则是把两张单子装订成一本(全页都看),别搞混。

实例与案例

  • 双人构图:左区"man in suit"、右区"woman in red dress",区域重叠 5-10%(中间过渡更自然)。
  • 商品+场景分工(案例研究:电商商品图生产管线):主体区喂商品描述(配 LoRA),背景区喂场景 prompt,互不干扰。
  • 负面区域化:Set Default Strength + SetMask 可以让某负面只作用于某区域(高级用法)。
  • community 方案:Attention Couple(rgthree/KJ 系)用注意力分离实现更锐利的边界,是 SetMask 方案的增强替代。

常见误区

  • Combine/Concat 用反:Concat 后两条 prompt 全图生效且序列变长,效果是"混合"而非"分区"。
  • 区域之间零重叠:分界线生硬甚至出现"拼贴感";让相邻区域 mask 轻微重叠。
  • 忘了负条件同步:正面分区了,负面还是全图;通常可以接受,但人物特征类负面需配合。
  • Mask 尺寸与 latent 不一致:蒙版图分辨率要匹配生成分辨率(或用内置 Solid/Mask 节点按 latent 尺寸生成)。

自测题

  1. Combine 与 Concat 的语义差异各是什么?
  2. 区域引导的最小节点组合是哪三个?
  3. 相邻区域 mask 为什么要留少量重叠?
  4. 想让一条条件"整体生效但只占 30% 话语权",用哪个节点?
参考答案
  1. Combine=并列独立引导(可分区);Concat=特征序列串接(全图整体叠加)。
  2. 两条 CLIP Text Encode + 各自 ConditioningSetMask + Conditioning (Combine)。
  3. 零重叠会让边界生硬,重叠 5-10% 使过渡自然。
  4. ConditioningSetAreaStrength(或 SetMask 强度=0.3 作用于全图)。

与其他知识点的关系

延伸阅读

  • 官方节点文档 Conditioning 组:docs.comfy.org
  • Attention Couple:rgthree-comfy 文档

前置知识

CLIP 与条件编码:文字如何变成方向局部重绘(Inpainting):只改该改的地方

关联知识点

IPAdapter 与参考图控制:让图像自己当提示词ControlNet:把构图权从模型手里拿回来案例研究:电商商品图生产管线