第 13 讲 · IP-Adapter 与角色一致性
原理在第 05 讲(解耦 cross-attention:参考图经 CLIP 图像塔变成一路并联的 K/V)。本讲两个层次:先把 IP-Adapter 用起来,再把"角色一致性"这个综合问题的完整策略摆开——它是动漫创作者的圣杯问题,没有单发银弹,但有成熟的组合拳。
1. 接线与首跑
需要第 10 讲清单的 #5(ipadapter 权重)+ #6(clip_vision 编码器)。社区标准做法是装 ComfyUI_IPAdapter_plus 扩展节点包(第 15 讲的安装方法),它的 "IPAdapter Unified Loader" 会自动配对两个权重文件,省去手动匹配的坑。接线逻辑(对照 wf07_sdxl_ipadapter.json):
Load Checkpoint ─MODEL─▶ IPAdapter Apply ─MODEL─▶ KSampler
Load Image(参考图) ────▶ ↑
注意它动的是紫线(MODEL)——因为它改装的是 U-Net 内部的 attention(并联新 K/V),而不是往条件向量里加东西。三个参数:
| 参数 | 含义 | 起手 |
|---|---|---|
weight |
参考图话语权 \(\lambda\)(第 05 讲) | 0.7 |
start_at / end_at |
生效的去噪区间 | 0.0 / 0.9 |
| weight_type | 权重随层/步的分布策略 | 默认;style transfer 只取风格 |
手感:weight 0.4–0.6 = "借点气质";0.7–0.9 = "明显像参考图";1.0+ = 开始复制粘贴(连构图都被带走,且提示词失效)。weight 与提示词是零和的——参考图话语权越高,文字越说不上话,这是并联注意力相加的直接推论。
2. 三件套的分工再确认
到这里三种控制手段集齐,用一个 VRChat 场景串起来——"我的角色,摆这个姿势,穿新衣服,画成水彩风":
| 需求分量 | 工具 | 为什么是它 |
|---|---|---|
| "我的角色"(长相) | IP-Adapter(参考图)或角色 LoRA | 语义级外观信息 |
| "这个姿势" | ControlNet openpose | 空间结构信息 |
| "新衣服" | 提示词(danbooru 标签) | 语义指令 |
| "水彩风" | 画风 LoRA 或提示词 | 全局风格偏移 |
四路信号互不冲突地并行注入(各走各的通道:attention 并联 / 条件注入 / 文本编码 / 权重增量)——第 05 讲那张"部件动了哪里"的总表,在这里变成可以自由组合的调色盘。这就是 ComfyUI 节点化的真正回报:每种控制是一个独立插槽,随插随拔。
3. 角色一致性:策略阶梯
"让同一角色稳定出现在几十张图里"没有单发银弹,按投入产出排一个阶梯,从上到下逐级加码:
L1 · 提示词锚定(零成本):给角色写一段固定不变的特征描述(danbooru 标签:发色/发型/瞳色/服装细节/配饰,越具体越好),存成文本反复使用;配合固定的底模+LoRA 组合。对"路人级一致"够用,眼熟但经不起对比。
L2 · IP-Adapter 参考图(本讲):L1 基础上挂 1–3 张角色参考图(IPAdapter plus 支持多图取平均,姿态各异的参考图效果更稳)。五官气质显著收敛,约七八成一致。你的现成优势:VRChat 角色可以随便截高质量多角度参考图——别人求之不得的素材条件。
L3 · 专属角色 LoRA(一次投入,长期复用):用 20–50 张角色图(VRChat 多角度多表情截图,天然合适)炼一个角色 LoRA。一致性九成以上,且与 L2 叠用更稳。这是同人创作圈的标准答案;训练实操是独立主题(第 11 讲第 6 节的预告),等你到这一步我们再展开。
L4 · 局部精修兜底:任凭上面几层,脸部小崩仍是常态——最后一道工序永远是第 09 讲的 inpaint(或第 14 讲的自动修脸),把每张成品的脸单独重绘到位。
实用心法:一致性是"堆叠出来的概率",不是某个开关。L1+L2 起步,产量需求上来了再投 L3,L4 永远垫底。
4. 排查树
一点都不像参考图?
├─ clip_vision 编码器没装对/没配对 → 用 Unified Loader 自动配
├─ weight 太低 → 0.8 试
└─ ipadapter 权重与底模不配(SDXL 版配 SD1.5 底模) → 查文件名
太像了, 提示词失灵/构图被绑架?
├─ weight 降到 0.5-0.6
├─ end_at 降到 0.7(后段放权给文字)
└─ 参考图太"强势"(构图特征过重) → 换纯角色立绘当参考
风格被参考图带偏(想要它的人不要它的画风)?
└─ weight_type 换 style transfer 的反向操作/composition 类选项,
或参考图先转成中性光照的素材图
上机任务
- 截 3 张你的 VRChat 角色参考图(正脸/侧脸/全身,光照均匀),跑通
wf07:weight 扫 0.4 / 0.7 / 1.0,建立"话语权"手感; - 三件套合体:IP-Adapter(角色)+ openpose(姿势,第 12 讲的骨架)+ 提示词换装,产出你的第一张"完全受控"的图——这张图值得存档,它标志着你从"抽卡玩家"变成了"导演";
- 用 L1 的方法给你的角色写一段固定特征描述存档,与 L2 叠用对比一致性提升。
控制问题全部解决,最后补产品质量的最后一公里:1024 的图怎么变成 4K 壁纸、糊脸怎么自动修——放大与精修流水线。