ComfyUI 魔法书 Logo
🏠 首页
👥 加群
🔥 报错不求人
😎 大帅比
登录 →
ComfyUI 魔法书 Logo
🏠 首页 👥 加群 🔥 报错不求人 😎 大帅比
登录
  1. 首页
  2. 🧩 插件工坊 (Plugin Workshop)
  3. ComfyUI-DragNUWA插件使用教程 从入门到精通

ComfyUI-DragNUWA插件使用教程 从入门到精通

0
  • 🧩 插件工坊 (Plugin Workshop)
  • 发布于 2025-06-28
  • 12 次阅读
编程界的小学生
编程界的小学生

ComfyUI-DragNUWA 插件保姆级教程

1. 插件简介

插件地址: https://github.com/chaojie/ComfyUI-DragNUWA

这个插件就像是一个神奇的视频魔法师,专门用来制作各种动态视频效果。想象一下,你有一个万能的动画制作工具,能够:

  • 拖拽动画 - 就像用鼠标拖动画面中的物体,让它们按照你指定的路径移动
  • 运动轨迹控制 - 就像导演一样,精确控制画面中每个元素的运动方向和速度
  • 相机运动 - 就像摄影师一样,让整个画面产生左右移动、放大缩小等效果
  • 光流处理 - 就像分析师一样,理解画面中物体的运动规律
  • 姿态动画 - 就像动画师一样,让人物按照特定的姿态序列运动

这个插件特别适合用来:

  • 制作产品展示动画
  • 创建人物动作视频
  • 生成相机运动效果
  • 制作物体移动动画
  • 创作创意短视频内容

2. 如何安装

2.1 自动安装(推荐)

  1. 安装 ComfyUI Manager 插件
  2. 在 Manager 中搜索 "DragNUWA"
  3. 点击安装即可

2.2 手动安装

  1. 打开你的 ComfyUI 安装目录
  2. 进入 custom_nodes 文件夹
  3. 下载插件:
git clone https://github.com/chaojie/ComfyUI-DragNUWA.git
  1. 安装依赖:
pip install -r requirements.txt

2.3 模型下载

这个插件需要下载专门的模型文件:

  • 将模型文件放在 ComfyUI/models/checkpoints/ 目录下
  • 推荐使用 drag_nuwa_svd.pth 模型

3. 节点详细解析

3.1 LoadCheckPointDragNUWA 节点 - 模型加载器

这个节点就像是一个专业的模型管理员,负责加载和初始化DragNUWA模型。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
ckpt_nameckpt_name选择列表drag_nuwa_svd.pth模型文件名,就像选择不同的大脑检查点文件名称选择drag_nuwa_svd.pth作为主模型
dimensiondimension选择列表576x320视频尺寸,就像选择画布大小输出视频的宽高尺寸576x320适合横屏视频,320x576适合竖屏
model_lengthmodel_length整数14视频长度,就像设定动画帧数生成视频的帧数长度设置为14表示生成14帧的短视频

3.2 DragNUWARun 节点 - 基础运行器

这个节点就像是一个动画导演,根据你画的轨迹路径来制作动画视频。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需加载好的模型,就像准备好的工具DragNUWA模型实例连接LoadCheckPointDragNUWA的输出
imageimageIMAGE必需起始图片,就像动画的第一帧输入的静态图像上传一张你想要制作动画的图片
tracking_pointstracking_pointsSTRING[[[25,25],[128,128]]]运动轨迹,就像画出的移动路径轨迹点坐标的JSON格式[[[50,50],[100,100]]]表示从(50,50)移动到(100,100)
inference_batch_sizeinference_batch_size11处理批次大小,就像一次处理多少个推理时的批处理大小设置为1表示一次处理一个
motion_bucket_idmotion_bucket_id1-1004运动强度,就像调节运动的激烈程度运动桶标识符数值越大运动越明显
use_optical_flowuse_optical_flowBOOLEANFalse是否使用光流,就像是否分析运动规律是否启用光流处理设置为True可以更精确地控制运动
directorydirectorySTRING路径光流文件目录,就像存放运动数据的文件夹光流文件的存储路径指向包含.flo文件的文件夹

3.3 DragNUWARunMotionBrush 节点 - 运动画笔运行器

这个节点就像是一个专业的动画师,使用预制的运动画笔来制作动画。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需加载好的模型DragNUWA模型实例连接LoadCheckPointDragNUWA的输出
imageimageIMAGE必需起始图片输入的静态图像上传要制作动画的图片
motion_brushmotion_brushMotionBrush必需运动画笔,就像预设的运动模式运动画笔数据连接其他运动画笔节点的输出
inference_batch_sizeinference_batch_size11处理批次大小推理时的批处理大小通常设置为1
motion_bucket_idmotion_bucket_id1-1004运动强度运动桶标识符控制运动的明显程度

3.4 InstantCameraMotionBrush 节点 - 即时相机运动画笔

这个节点就像是一个摄影师的运动控制器,能快速创建各种相机运动效果。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
model_lengthmodel_length整数14动画长度,就像设定拍摄时间生成动画的帧数设置为14生成14帧动画
widthwidth整数576画面宽度,就像设定画布宽度视频宽度像素576适合横屏视频
heightheight整数320画面高度,就像设定画布高度视频高度像素320配合576形成16:9比例
actionaction选择列表left相机运动方向,就像选择拍摄手法相机运动类型left左移、right右移、up上移、down下移、zoomin放大、zoomout缩小
speedspeed浮点数1运动速度,就像调节运动快慢运动速度系数数值越大运动越快

3.5 InstantObjectMotionBrush 节点 - 即时物体运动画笔

这个节点就像是一个物体动画师,能让画面中特定区域的物体产生运动。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
model_lengthmodel_length整数14动画长度生成动画的帧数设置动画持续的帧数
brush_maskbrush_maskMASK必需运动区域遮罩,就像选择要动的部分定义运动区域的遮罩用遮罩选择要运动的物体区域
actionaction选择列表left物体运动方向物体运动类型选择物体的运动方向
speedspeed浮点数5运动速度运动速度系数控制物体运动的快慢

3.6 LoadMotionBrushFromTrackingPoints 节点 - 从轨迹点加载运动画笔

这个节点就像是一个轨迹翻译器,把你画的路径转换成运动画笔。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需模型实例DragNUWA模型实例连接模型加载器的输出
tracking_pointstracking_pointsSTRING[[[25,25],[128,128]]]轨迹点坐标,就像画出的路径轨迹点的JSON格式数据输入你想要的运动轨迹坐标

3.7 LoadMotionBrushFromTrackingPointsWithoutModel 节点 - 无模型轨迹加载器

这个节点就像是一个独立的轨迹处理器,不需要模型就能处理轨迹数据。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
model_lengthmodel_length整数14动画长度生成动画的帧数设置动画帧数
widthwidth整数36画面宽度处理区域的宽度设置处理区域宽度
heightheight整数20画面高度处理区域的高度设置处理区域高度
tracking_pointstracking_pointsSTRING[[[1,1],[2,2]]]轨迹点坐标轨迹点的JSON格式数据输入运动轨迹坐标

3.8 LoadMotionBrushFromOpticalFlowDirectory 节点 - 从光流目录加载

这个节点就像是一个光流文件读取器,从文件夹中读取光流数据。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需模型实例DragNUWA模型实例连接模型加载器
optical_flow_directoryoptical_flow_directorySTRING路径光流文件夹路径,就像存放运动数据的地方包含光流文件的目录路径指向包含.flo文件的文件夹

3.9 LoadMotionBrushFromOpticalFlow 节点 - 从光流数据加载

这个节点就像是一个光流数据转换器,直接处理光流数据。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需模型实例DragNUWA模型实例连接模型加载器
optical_flowoptical_flowOPTICAL_FLOW必需光流数据,就像运动的详细记录光流数据流连接光流处理节点的输出

3.10 LoadMotionBrushFromOpticalFlowWithoutModel 节点 - 无模型光流加载器

这个节点就像是一个简单的光流传递器,直接传递光流数据。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
optical_flowoptical_flowOPTICAL_FLOW必需光流数据光流数据流直接传递光流数据

3.11 BrushMotion 节点 - 画笔运动处理器

这个节点就像是一个运动区域定制器,把运动画笔应用到特定区域。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需模型实例DragNUWA模型实例连接模型加载器
motion_brushmotion_brushMotionBrush必需运动画笔数据运动画笔数据流连接运动画笔节点
brush_maskbrush_maskMASK必需画笔遮罩,就像选择涂抹区域定义运动区域的遮罩用遮罩选择要应用运动的区域

3.12 CompositeMotionBrush 节点 - 运动画笔合成器

这个节点就像是一个图层混合器,把两个运动画笔合并成一个。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelDragNUWA必需模型实例DragNUWA模型实例连接模型加载器
motion_brush_layer0motion_brush_layer0MotionBrush必需底层运动画笔,就像背景层第一层运动画笔数据连接第一个运动画笔
motion_brush_layer1motion_brush_layer1MotionBrush必需顶层运动画笔,就像前景层第二层运动画笔数据连接第二个运动画笔
modemode选择列表override合成模式,就像图层混合方式运动画笔合成模式override表示上层覆盖下层

3.13 CompositeMotionBrushWithoutModel 节点 - 无模型运动画笔合成器

这个节点就像是一个简化的图层混合器,不需要模型就能合并运动画笔。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
motion_brush_layer0motion_brush_layer0MotionBrush必需底层运动画笔第一层运动画笔数据连接第一个运动画笔
motion_brush_layer1motion_brush_layer1MotionBrush必需顶层运动画笔第二层运动画笔数据连接第二个运动画笔
modemode选择列表override合成模式运动画笔合成模式选择合成方式

3.14 LoadPoseKeyPoints 节点 - 姿态关键点加载器

这个节点就像是一个姿态数据读取器,从文件中读取人体姿态信息。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
file_namefile_name选择列表PoseKeypoint_00001.json姿态文件名,就像选择动作数据姿态关键点文件名选择包含人体姿态数据的JSON文件

3.15 SplitTrackingPoints 节点 - 轨迹点分割器

这个节点就像是一个动作片段提取器,从连续的姿态数据中提取特定片段。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
pose_kpspose_kpsPOSE_KEYPOINT必需姿态关键点数据姿态关键点数据流连接姿态加载器的输出
split_indexsplit_index整数0分割索引,就像选择第几段动作分割的起始索引设置为0表示从第一段开始
heightheight整数320画面高度处理区域高度设置处理区域的高度
widthwidth整数576画面宽度处理区域宽度设置处理区域的宽度
last_pose_kpslast_pose_kpsPOSE_KEYPOINT可选上一段姿态数据,就像动作的连接点前一个姿态关键点数据用于连接动作片段

3.16 GetFirstImage 节点 - 获取首帧图像

这个节点就像是一个图片提取器,从图片序列中取出第一张。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imagesimagesIMAGE必需图片序列,就像一叠照片图像序列数据连接包含多张图片的节点

3.17 GetLastImage 节点 - 获取末帧图像

这个节点就像是一个图片提取器,从图片序列中取出最后一张。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imagesimagesIMAGE必需图片序列图像序列数据连接包含多张图片的节点

3.18 Loop 节点 - 循环控制器

这个节点就像是一个循环开关,用来控制工作流程的循环执行。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
无参数无参数无无循环控制标识,就像循环的开关循环控制对象用于标识循环的开始

3.19 LoopStart_IMAGE 节点 - 图像循环开始

这个节点就像是一个循环的起点,定义循环中图像的初始状态。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
first_loopfirst_loopIMAGE必需首次循环的图像,就像循环的起始图片循环初始图像数据连接要循环处理的初始图像
looploopLOOP必需循环控制器循环控制对象连接Loop节点的输出

3.20 LoopEnd_IMAGE 节点 - 图像循环结束

这个节点就像是一个循环的终点,将处理结果传递给下一次循环。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
send_to_next_loopsend_to_next_loopIMAGE必需传递给下次循环的图像传递到下一循环的图像数据连接处理后的图像结果
looploopLOOP必需循环控制器循环控制对象连接Loop节点的输出

3.21 MotionBrashTransform 节点 - 运动画笔变换器

这个节点就像是一个运动效果调节器,可以对运动画笔进行各种变换。

参数详解

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
motion_brushmotion_brushMotionBrush必需运动画笔数据运动画笔数据流连接运动画笔节点
leftleft整数0左移距离,就像向左推动水平向左偏移像素设置为10向左移动10像素
toptop整数0上移距离,就像向上推动垂直向上偏移像素设置为5向上移动5像素
rotaterotate整数0旋转角度,就像转动方向盘旋转角度(度)设置为45顺时针旋转45度
scalexscalex整数1水平缩放,就像拉伸宽度X轴缩放系数设置为2水平放大2倍
scaleyscaley整数1垂直缩放,就像拉伸高度Y轴缩放系数设置为0.5垂直缩小一半

3.22 前端工具 - 轨迹绘制器

这个插件还包含了两个HTML工具,就像是专门的轨迹绘制软件:

draw.html - 多轨迹绘制工具

  • 功能:就像一个专业的路径绘制器,可以在图片上画出多条运动轨迹
  • 使用方法:
    1. 上传图片作为背景
    2. 在图片上点击绘制轨迹路径
    3. 点击"new line"开始绘制新的轨迹
    4. 复制生成的JSON数据到tracking_points参数中

index.html - 实时预览工具

  • 功能:就像一个实时动画预览器,可以边画轨迹边看效果
  • 使用方法:
    1. 上传图片
    2. 在图片上绘制轨迹
    3. 实时查看动画预览效果
    4. 获取轨迹数据用于节点

4. 使用技巧和建议

4.1 轨迹绘制技巧

  • 简单路径:初学者建议从简单的直线或弧线开始
  • 路径长度:轨迹点不要太密集,适当间隔效果更好
  • 多物体运动:可以为不同物体绘制不同的轨迹路径

4.2 运动效果优化

  • 运动强度:motion_bucket_id参数控制运动明显程度,从小开始调试
  • 帧数设置:model_length建议设置为14-25帧,太长可能影响质量
  • 尺寸选择:576x320适合大多数场景,512x512适合方形构图

4.3 相机运动建议

  • 速度控制:相机运动速度不宜过快,建议从1.0开始调试
  • 运动方向:结合画面内容选择合适的运动方向
  • 组合效果:可以组合多种运动类型创造复杂效果

4.4 光流处理技巧

  • 文件格式:确保光流文件是.flo格式
  • 文件命名:光流文件需要按顺序命名
  • 质量要求:光流数据质量直接影响最终动画效果

5. 常见问题解答

5.1 安装问题

Q: 模型加载失败怎么办?
A: 检查模型文件是否正确放置在checkpoints目录下,确保文件名正确。

Q: 依赖安装失败?
A: 确保Python环境正确,可能需要单独安装某些依赖包。

5.2 使用问题

Q: 轨迹绘制没有效果?
A: 检查轨迹点格式是否正确,确保是有效的JSON格式。

Q: 动画效果不明显?
A: 尝试增加motion_bucket_id的值,或者调整轨迹路径的长度。

Q: 生成的视频质量不好?
A: 检查输入图片质量,尝试调整模型参数或减少帧数。

5.3 性能问题

Q: 处理速度很慢?
A: 确保使用GPU加速,减少不必要的帧数设置。

Q: 内存不足?
A: 降低图片分辨率,减少batch_size设置。

6. 工作流程示例

6.1 基础拖拽动画流程

  1. 加载模型 → LoadCheckPointDragNUWA
  2. 准备图片 → 连接到DragNUWARun的image输入
  3. 设置轨迹 → 在tracking_points中输入轨迹坐标
  4. 运行生成 → 获得动画视频

6.2 相机运动流程

  1. 加载模型 → LoadCheckPointDragNUWA
  2. 创建相机运动 → InstantCameraMotionBrush设置运动类型
  3. 应用运动 → DragNUWARunMotionBrush处理图片
  4. 输出动画 → 获得相机运动效果

6.3 复杂组合流程

  1. 创建多个运动画笔 → 使用不同的运动生成节点
  2. 合成运动效果 → CompositeMotionBrush组合多种运动
  3. 应用到图片 → DragNUWARunMotionBrush生成最终动画
  4. 循环处理 → 使用Loop节点创建连续动画

7. 高级应用

7.1 姿态动画制作

  • 使用LoadPoseKeyPoints加载人体姿态数据
  • 通过SplitTrackingPoints分割动作片段
  • 创建连续的人物动作动画

7.2 光流动画制作

  • 准备光流数据文件(.flo格式)
  • 使用LoadMotionBrushFromOpticalFlowDirectory加载
  • 创建基于真实运动的动画效果

7.3 循环动画制作

  • 使用Loop、LoopStart_IMAGE、LoopEnd_IMAGE节点
  • 创建无缝循环的动画效果
  • 适合制作GIF动画或循环视频

这个插件为创作者提供了强大的视频动画制作能力,通过简单的拖拽和设置就能创造出专业级的动画效果。无论是产品展示、创意视频还是艺术创作,都能找到合适的应用场景!

标签: #插件 2338
相关文章

ComfyUI错误修复插件详解:轻松解决常见问题 2025-07-10 18:25

ComfyUI-CustomMenu插件使用教程:高效自定义工作流指南 2025-07-10 17:50

ComfyUI图像合并插件comfyui-merge使用教程 2025-07-03 22:44

ComfyUI 图像合并插件教程 (comfyui-merge) 1. 插件简介 这是一个专门用来合并图片的 ComfyUI 插件,就像用 PS 把多张图片叠在一起那样。它的特别之处在于你精确控制每张图片的混合方式。 GitHub 地址:https://github.com/LingSss9/com

ComfyUI WAN 2.2视频插件教程:万相AI提示词全攻略 2025-07-31 11:47

ComfyUI WAN 2.2视频插件教程:万相AI提示词实战指南 2025-07-29 20:10

ComfyUI HeyGem数字人插件教程:零基础快速精通指南 2025-07-22 14:10

目录

从节点基础到高阶工作流,我们为你绘制最清晰的 ComfyUI 学习路径。告别困惑,让每一次连接都充满创造的魔力,轻松驾驭 AI 艺术的无限可能。

  • 微信
  • B站
  • GitHub
Copyright © 2025 AIX All Rights Reserved. Powered by AIX.
隐私政策
津ICP备2024019312号