AI 漫画角色每格都换脸?从角色表到 ControlNet/IP-Adapter/LoRA 的锁脸解法
用 AI 生漫画,最让人崩溃的不是「崩坏、爆肢体」,是「同一人物,这格跟下格换了张脸」——发色跑了、瞳色变了、脸型换了,凑不出角色前后一致的一页(キャラ一貫性)。 这不是 AI 坏掉,是它的本质:每次生成都在潜在空间(latent space)重新抽样一个符合你描述的角色,而不是「复制你上次那个角色」。所以锁脸的关键,是叠一套正交的技术栈:一组锚管「角色身分(脸/特征)」,另一组管「姿势/构图」,两边分开锁、互不干扰。这篇拆解:角色表当参考源、文字锚+Tag 权重、ControlNet 锁姿势+IP-Adapter 锁脸、炼角色 LoRA、ADetailer 自动补脸,外加多角色同框的防污染。
为什么 AI 生图总是记不住角色
先搞懂根源。手绘靠画师「记得」角色长怎样;AI 没有这个记忆——每次生成都是潜在空间里的一次随机抽样,就算提示词(prompt)一样,只要种子(seed)、角度、场景不同,就抽出一个「大致符合但细节不同」的角色。
所以问题不是「AI 记性差」,是你没给它足够的约束去复制上一个角色。而且要分清一件事:「角色是谁」和「角色在做什么」是两回事,要用不同的锚分开锁——很多人把两者混在一个提示词里硬拼,结果换个姿势脸就崩。下面的技术栈就是在把这两轴拆开、各自下锚。
AI 漫画角色一致性的技术栈
锚 1:先做「角色表」,剪出干净的参考源
最常见的错是跳过角色设计、直接生分格,每格都在漂。正确第一步是先把角色定死:生成(或挑选)一张满意的角色定装,整理成角色表(キャラ表/character sheet),把发型、瞳色、服装、配色固定下来。
但有个实务坑:别直接把「三视图/turnaround」整张丢给 AI 当参考——那种张着手、前后侧并排的图丢进 IP-Adapter 或 i2i,AI 会把三个角度的特征混在一起、生出畸形多肢体。正确做法是从角色表剪出「单一正面、干净背景的高清脸/半身图」当参考源。这张干净的参考源,是后面所有锚的原点。
锚 2:文字锚——具体特征+Tag 权重+Negative
把角色特征写成一组固定、具体、可复制的提示词,每次都带。重点在具体 + 权重:
- ❌ 模糊:「短发女生、可爱」——每次自由发挥
- ✅ 具体+权重:
(amber eyes:1.2), shoulder-length black hair, side ponytail, sailor collar+ Negative Prompt 扣掉不要的特征(如blonde, long hair)
Tag 权重((特征:1.2))让关键特征在抽样时被强化,Negative 把容易跑掉的方向挡掉。但文字锚再细,AI 还是会飘——它只是最底层、成本最低的锚,一定要叠下面的图像锚。
锚 3:锁脸 vs 锁姿势——ControlNet 和 IP-Adapter 是两件事
这是整套技术栈的核心,也是新手最常搞混的地方。「图像参考」其实有两种完全不同的技术,管的是不同的轴:
- i2i(image-to-image):基于你给的图「重绘」,会同时强绑构图和姿势。重绘幅度(denoise)开高,脸会飘;开低,姿势换不掉。所以 i2i 适合「微调同一张」,不适合拿同一个角色去生不同姿势的新分格。
- IP-Adapter/InstantID/PuLID:撷取参考图的脸/特征向量注入生成,做到「锁脸但不锁姿势」——这才是跨格维持同一人物的主力。喂它锚 1 剪好的干净正面脸。
- ControlNet(OpenPose/Lineart/Depth):锁的是姿势和构图——你分镜(コマ割り)画好的动作、镜位,用它固定下来。
正解是正交组合:ControlNet 锁这一格的姿势/构图 + IP-Adapter(或 LoRA)锁角色的脸/身分。一个管「在做什么」、一个管「是谁」,两轴分开锁,你就能让同一个角色摆任意姿势、进任意场景,脸还是同一张。
锚 4:炼专属角色 LoRA——最牢的锚,给高频主角
如果一个角色要出现几百格(连载主角),每格手动贴 IP-Adapter 也累。这时值得下最牢的锚:炼一个专属这角色的 LoRA(俗称炼丹)——用这角色的多张图训练,之后生成挂上它,角色的长相就「内建」进模型。
这是进阶、成本较高的做法(要备训练图、花算力),但对高频主角,一次炼好、之后每格都稳,长期最省力。配角、路人不必到这步,用角色表+文字锚+IP-Adapter 就够。LoRA 一样可以跟 ControlNet 叠,锁脸+锁姿势。
锚 5:ADetailer/FaceDetailer 自动补脸——收尾的一致性
再多锚,远景小脸、复杂构图还是会偶尔糊掉或跑掉。收尾别再手动一格一格拉 Inpainting 局部重绘了——现在的标准是 ADetailer(SD WebUI)/FaceDetailer(ComfyUI Impact Pack):生成时自动侦测脸部、局部重绘,还能在重绘时挂上角色 LoRA,把脸补回一致。把它设进生成流程当固定一环,跑掉的脸自动被修回来,不用你每格手动救。
多角色同框:用 Regional Prompting 防特征污染
多角色同框是纯提示词最容易崩的地方——两个角色的特征会互相污染(A 的红发沾到 B)。解法不是只「给各自参考图」,而是分区:用 Regional Prompting/Attention Couple/Latent Couple 把画面分成区域,各区套各自角色的提示词和 IP-Adapter,让 A 的特征只作用在 A 的区域。这样多角色同框,各锁各的脸、不串味。
Before / After:每格重新抽 vs 正交锁定
| 没有技术栈(❌) | 正交锚定(✅) | |
|---|---|---|
| 参考源 | 整张三视图乱丢、爆肢体 | 剪单一正面干净脸当参考 |
| 文字 | 模糊提示词 | 具体特征+Tag 权重+Negative |
| 锁脸/锁姿势 | 混在一起、换姿势就崩 | ControlNet 锁姿势+IP-Adapter 锁脸 |
| 高频主角 | 每格手动贴 | 炼角色 LoRA 内建 |
| 收尾 | 手动一格格 inpaint | ADetailer 自动补脸 |
| 多角色同框 | 特征互相污染 | Regional Prompting 分区 |
三个常见误区
- 把「是谁」和「在做什么」塞进同一个提示词:换姿势脸就崩。要 ControlNet 锁姿势、IP-Adapter/LoRA 锁脸,两轴分开。
- 整张三视图直接当参考:AI 把多角度混成畸形。剪出单一正面干净脸/半身当参考源。
- 一致性靠事后手动 inpaint 硬修:慢又易引入新问题。用 ADetailer/FaceDetailer 自动侦测补脸,把校正做进流程。
治本:把这套技术栈自动化,不用自己接一堆节点
上面这套(角色表→文字锚→ControlNet+IP-Adapter→LoRA→ADetailer→Regional Prompting)技术上都做得到,但你会发现一个真相:要自己在 ComfyUI 接这一整串节点、调参数、管每个角色的参考源和 LoRA,门槛高到让大部分人放弃。 手动的天花板不在技术,在「维护这套流程」本身。
LitMemo 的漫画生图把这套锁脸技术栈包成开箱即用:你在角色管理定好角色(表、特征、参考源),生每一格时系统自动带上这个角色的锚并前后格互相参照(双向锚定),你只管画分镜、指定这格谁在做什么——锁脸、防同框污染、跨格一致由系统处理,不用你接节点、调 denoise、炼丹。把「角色一致性」从「自己维护一整套 ComfyUI 工作流」变成「选好角色就稳」。
小结
AI 生漫画角色不一致,不是 AI 记性差,是它每次都在潜在空间重新抽样——你要用一套正交的技术栈把「脸」和「姿势」分开锁。
锁脸的关键:剪干净的角色表当参考源、具体特征+Tag 权重、ControlNet 锁姿势+IP-Adapter 锁脸、高频主角炼 LoRA、ADetailer 自动补脸、多角色用 Regional Prompting 分区。 两轴分开、层层下锚,同一个角色就能摆任意姿势、进任意场景,还是同一张脸。
LitMemo