ComfyUI-ToonCrafter 插件完全教程
1. 插件简介
插件地址: https://github.com/AIGODLIKE/ComfyUI-ToonCrafter
ComfyUI-ToonCrafter 是一个超级厉害的动画制作插件!它就像一个神奇的魔法师,能够把两张静态的卡通图片变成一段流畅的动画视频。
这个插件能做什么?
想象一下,你有两张图片:
- 第一张:一个卡通人物站着
- 第二张:同一个卡通人物在跑步
ToonCrafter 就能帮你自动生成中间的所有动作帧,让这个人物从站立慢慢过渡到跑步,就像专业动画师手绘的一样自然!
能带来什么效果?
- 关键帧动画生成:只需要提供开始和结束的两张图,就能生成完整的动画序列
- 草图引导动画:可以用简单的线条草图来控制动画的运动轨迹
- 卡通风格保持:生成的动画完美保持原有的卡通风格
- 高质量输出:支持512x320分辨率,最多16帧的流畅动画
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开ComfyUI
- 点击"Manager"按钮
- 搜索"ToonCrafter"
- 点击安装
方法二:手动安装
- 打开命令行工具(Windows用户打开CMD,Mac用户打开终端)
- 进入ComfyUI的custom_nodes文件夹:
cd ComfyUI/custom_nodes - 下载插件:
git clone https://github.com/AIGODLIKE/ComfyUI-ToonCrafter - 进入插件文件夹:
cd ComfyUI-ToonCrafter - 安装依赖包:
pip install -r requirements.txt
下载模型文件
你需要下载模型文件才能使用:
- 512分辨率完整模型 (显存要求高,建议16GB以上)
- 512分辨率半精度模型 (显存要求低,推荐)
下载后放到:ComfyUI-ToonCrafter/ToonCrafter/checkpoints/tooncrafter_512_interp_v1/ 文件夹中
3. 节点详细解析
3.1 ToonCrafter 节点
这是主要的动画生成节点,就像一个智能的动画师,能够根据你提供的两张图片和描述文字,自动生成中间的动画帧。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | - | 动画的第一张图片,就像故事的开头 | 输入的起始关键帧图像 | 拖入一张卡通人物站立的图片 |
| image2 | image2 | IMAGE类型 | - | 动画的最后一张图片,就像故事的结尾 | 输入的结束关键帧图像 | 拖入同一个卡通人物跑步的图片 |
| ckpt_name | ckpt_name | 下拉选择 | 根据你下载的模型 | 选择要使用的大脑模型,不同模型效果不同 | 选择预训练的模型检查点文件 | 选择"model.ckpt"或"tooncrafter_512_interp-fp16.safetensors" |
| vram_opt_strategy | vram_opt_strategy | ["none", "low"] | "low" | 显存优化策略,就像调节电脑性能模式 | 显存使用优化策略选择 | 显存不够选"low",显存充足选"none" |
| prompt | prompt | STRING | 描述动画内容 | 用文字描述你想要的动画效果 | 文本提示词,指导生成内容 | 输入"a character walking smoothly"(一个角色平滑地走路) |
| seed | seed | INT | 123 | 随机种子,就像掷骰子的起始数字 | 随机数生成器的种子值 | 相同种子会产生相同结果,想要不同效果就改变数字 |
| eta | eta | FLOAT | 1.0 | 噪声控制器,数值越大动画越随机 | DDIM采样器的eta参数 | 0.0最稳定,1.0最随机,一般用1.0 |
| cfg_scale | cfg_scale | FLOAT | 7.5 | 文字描述的影响力,数值越大越听话 | 分类器自由引导强度 | 1.0几乎不听文字,15.0完全按文字来,7.5刚好 |
| steps | steps | INT | 50 | 生成步数,就像画画的精细程度 | 扩散模型的去噪步数 | 步数越多质量越好但越慢,50步是平衡点 |
| frame_count | frame_count | INT | 10 | 生成多少张动画帧,帧数越多动画越长 | 生成的视频帧数 | 5帧很短,30帧较长,10帧刚好 |
| fps | fps | INT | 8 | 播放速度,就像电影的播放帧率 | 输出视频的帧率 | 8fps较慢,24fps正常,60fps很快 |
3.3 ToonCrafterWithSketch 节点
这是带草图引导的高级动画生成节点,就像给动画师提供了运动轨迹图,能够更精确地控制动画的运动路径。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | IMAGE类型 | - | 动画的第一张图片,就像故事的开头 | 输入的起始关键帧图像 | 拖入一张卡通人物站立的图片 |
| image2 | image2 | IMAGE类型 | - | 动画的最后一张图片,就像故事的结尾 | 输入的结束关键帧图像 | 拖入同一个卡通人物跑步的图片 |
| frame_guides | frame_guides | IMAGE类型 | - | 运动轨迹草图,就像给动画师的指导线 | 中间帧的草图引导图像序列 | 提供几张简单线条图显示运动路径 |
| ckpt_name | ckpt_name | 下拉选择 | 根据你下载的模型 | 选择要使用的大脑模型,不同模型效果不同 | 选择预训练的模型检查点文件 | 选择"model.ckpt"或"tooncrafter_512_interp-fp16.safetensors" |
| vram_opt_strategy | vram_opt_strategy | ["none", "low"] | "low" | 显存优化策略,就像调节电脑性能模式 | 显存使用优化策略选择 | 显存不够选"low",显存充足选"none" |
| prompt | prompt | STRING | 描述动画内容 | 用文字描述你想要的动画效果 | 文本提示词,指导生成内容 | 输入"a character walking smoothly"(一个角色平滑地走路) |
| seed | seed | INT | 123 | 随机种子,就像掷骰子的起始数字 | 随机数生成器的种子值 | 相同种子会产生相同结果,想要不同效果就改变数字 |
| eta | eta | FLOAT | 1.0 | 噪声控制器,数值越大动画越随机 | DDIM采样器的eta参数 | 0.0最稳定,1.0最随机,一般用1.0 |
| cfg_scale | cfg_scale | FLOAT | 7.5 | 文字描述的影响力,数值越大越听话 | 分类器自由引导强度 | 1.0几乎不听文字,15.0完全按文字来,7.5刚好 |
| steps | steps | INT | 50 | 生成步数,就像画画的精细程度 | 扩散模型的去噪步数 | 步数越多质量越好但越慢,50步是平衡点 |
| frame_count | frame_count | INT | 10 | 生成多少张动画帧,帧数越多动画越长 | 生成的视频帧数 | 5帧很短,30帧较长,10帧刚好 |
| fps | fps | INT | 8 | 播放速度,就像电影的播放帧率 | 输出视频的帧率 | 8fps较慢,24fps正常,60fps很快 |
| control_scale | control_scale | FLOAT | 0.6 | 草图引导的强度,就像老师指导的严格程度 | 控制引导的影响强度 | 0.0不听草图,1.0完全按草图,0.6刚好 |
4. 使用技巧和建议
4.1 图片准备技巧
- 保持风格一致:两张输入图片最好是同一个角色、同一种画风
- 清晰度要求:图片越清晰,生成的动画质量越好
- 构图相似:两张图的构图角度不要差太多,否则动画会很奇怪
4.2 参数调优建议
- 新手设置:seed=123, steps=30, cfg_scale=7.5, frame_count=8
- 高质量设置:steps=50, cfg_scale=10, frame_count=16
- 快速预览:steps=20, frame_count=5
4.3 显存优化
- 低显存用户:选择"low"优化策略,使用fp16模型
- 高显存用户:选择"none"优化策略,使用完整模型
4.4 提示词技巧
- 用简单的英文描述动作:如"walking", "running", "jumping"
- 描述要具体:如"smooth transition"(平滑过渡)
- 避免复杂的场景描述,专注于动作本身
5. 常见问题解答
Q1:为什么生成的动画很模糊?
A: 可能的原因和解决方法:
- 输入图片分辨率太低 → 使用高分辨率图片
- steps参数太小 → 增加到50以上
- 显存不足导致精度下降 → 使用"low"优化策略
Q2:动画看起来不自然怎么办?
A: 尝试以下方法:
- 检查两张输入图片是否风格一致
- 调整eta参数(试试0.5或1.5)
- 修改提示词,描述更具体的动作
Q3:生成速度太慢怎么办?
A: 优化方法:
- 减少steps数量(降到30-40)
- 减少frame_count(降到5-8帧)
- 使用"low"显存优化策略
- 使用fp16模型
Q4:出现显存不足错误?
A: 解决方案:
- 选择"low"显存优化策略
- 下载并使用fp16版本的模型
- 减少frame_count参数
- 关闭其他占用显存的程序
Q5:草图引导功能怎么用?
A: 使用ToonCrafterWithSketch节点:
- 准备几张简单的线条图,显示你想要的运动轨迹
- 连接到frame_guides输入端口
- 调整control_scale参数控制引导强度
6. 实际应用案例
案例1:角色走路动画
- 输入图片1:角色站立姿势
- 输入图片2:角色迈步姿势
- 提示词:"character walking forward smoothly"
- 参数设置:steps=50, frame_count=12, fps=12
案例2:表情变化动画
- 输入图片1:角色微笑表情
- 输入图片2:角色大笑表情
- 提示词:"facial expression changing naturally"
- 参数设置:steps=40, frame_count=8, fps=8
案例3:物体运动动画
- 输入图片1:球在左边
- 输入图片2:球在右边
- 提示词:"ball moving smoothly across"
- 参数设置:steps=35, frame_count=10, fps=15
7. 进阶技巧
7.1 批量处理
- 可以连接多个ToonCrafter节点处理不同的动画片段
- 使用相同的seed值保持风格一致性
7.2 与其他节点配合
- 可以连接图片预处理节点优化输入图片
- 可以连接后处理节点增强输出效果
7.3 创意应用
- 故事板动画:将静态故事板转换为动态预览
- 概念设计:快速验证角色动作设计
- 教学演示:制作简单的教学动画
8. 总结
ComfyUI-ToonCrafter 是一个功能强大的动画生成插件,特别适合:
- 动画制作初学者快速制作简单动画
- 专业动画师进行概念验证和预览
- 内容创作者制作社交媒体动画内容
记住,好的动画需要好的输入图片和合适的参数设置。多尝试不同的组合,你会发现这个插件的无限可能!