ComfyUI_FizzNodes 插件保姆级教程
1. 插件简介
插件地址: https://github.com/FizzleDorf/ComfyUI_FizzNodes
这个插件就像是一个专业的动画制作工具箱,专门用来制作各种动态效果和动画。想象一下,你有一个神奇的时间控制器,能够:
- 制作动画提示词 - 就像电影剧本一样,让提示词随时间变化
- 生成波浪效果 - 就像音响的均衡器,创造各种起伏变化
- 控制数值变化 - 就像调音台的推子,让参数随时间平滑变化
- 同步音频节拍 - 就像DJ混音器,让画面跟着音乐节拍变化
这个插件特别适合用来:
- 制作视频动画和转场效果
- 创建音乐可视化效果
- 制作参数随时间变化的动态图像
- 批量生成有规律变化的图片序列
2. 如何安装
2.1 自动安装(推荐)
- 安装 ComfyUI Manager 插件
- 在 Manager 中搜索 "FizzNodes"
- 点击安装即可
2.2 手动安装
- 打开你的 ComfyUI 安装目录
- 进入
custom_nodes文件夹 - 下载插件:
git clone https://github.com/FizzleDorf/ComfyUI_FizzNodes.git
- 安装依赖:
pip install -r requirements.txt
3. 节点详细解析
3.1 Lerp 节点 - 线性插值器
这个节点就像是一个平滑的滑梯,能让数值从一个点平滑地滑到另一个点。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| num_Images | num_Images | 0.0-9999.0 | 1.0 | 总共要处理多少张图片,就像设定滑梯的长度 | 定义插值计算的总帧数 | 设置为100表示要在100帧内完成变化 |
| strength | strength | 0.0-10.0 | 1.0 | 变化的强度,就像滑梯的高度差 | 插值的起始值和变化幅度 | 设置为2.0表示从2.0开始递减 |
| current_frame | current_frame | 0-9999 | 1 | 当前是第几帧,就像你在滑梯的哪个位置 | 当前帧的索引位置 | 第10帧时会输出对应位置的插值 |
3.2 SinWave 节点 - 正弦波生成器
这个节点就像是一个音响的波形显示器,能产生平滑的上下起伏效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 波浪的周期长度,就像海浪多久重复一次 | 正弦波的周期参数 | 设置为24表示24帧完成一个完整波形 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 波浪的高度,就像海浪有多高 | 正弦波的振幅大小 | 设置为1.0表示波峰波谷相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 波浪左右移动的距离,就像调整波浪的起始位置 | 波形在X轴上的平移量 | 设置为6会让波形向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 波浪上下移动的距离,就像调整海平面高度 | 波形在Y轴上的偏移量 | 设置为1.0表示整个波形向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前是第几帧,就像时间轴上的位置 | 当前帧的索引位置 | 第12帧时会输出对应的波形值 |
3.3 InvSinWave 节点 - 反向正弦波生成器
这个节点就像是把正弦波上下颠倒,创造相反的波浪效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 反向波浪的周期长度 | 反向正弦波的周期参数 | 设置为24表示24帧完成一个完整反向波形 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 反向波浪的高度 | 反向正弦波的振幅大小 | 设置为1.0表示反向波峰波谷相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 反向波浪的左右偏移 | 反向波形在X轴上的平移量 | 设置为6会让反向波形向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 反向波浪的上下偏移 | 反向波形在Y轴上的偏移量 | 设置为1.0表示整个反向波形向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的反向波形值 |
3.4 CosWave 节点 - 余弦波生成器
这个节点就像是正弦波的兄弟,产生稍微不同相位的波浪效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 余弦波的周期长度 | 余弦波的周期参数 | 设置为24表示24帧完成一个完整余弦波形 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 余弦波的高度 | 余弦波的振幅大小 | 设置为1.0表示余弦波峰波谷相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 余弦波的左右偏移 | 余弦波形在X轴上的平移量 | 设置为6会让余弦波形向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 余弦波的上下偏移 | 余弦波形在Y轴上的偏移量 | 设置为1.0表示整个余弦波形向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的余弦波形值 |
3.5 InvCosWave 节点 - 反向余弦波生成器
这个节点就像是把余弦波翻转过来,创造相反的余弦波效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 反向余弦波的周期长度 | 反向余弦波的周期参数 | 设置为24表示24帧完成一个完整反向余弦波形 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 反向余弦波的高度 | 反向余弦波的振幅大小 | 设置为1.0表示反向余弦波峰波谷相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 反向余弦波的左右偏移 | 反向余弦波形在X轴上的平移量 | 设置为6会让反向余弦波形向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 反向余弦波的上下偏移 | 反向余弦波形在Y轴上的偏移量 | 设置为1.0表示整个反向余弦波形向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的反向余弦波形值 |
3.6 SquareWave 节点 - 方波生成器
这个节点就像是一个开关,能产生突然跳跃的方形波效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 方波的周期长度,就像开关多久切换一次 | 方波的周期参数 | 设置为24表示24帧完成一个完整方波周期 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 方波的高度,就像开关的高低差 | 方波的振幅大小 | 设置为1.0表示方波高低相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 方波的左右偏移 | 方波在X轴上的平移量 | 设置为6会让方波向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 方波的上下偏移 | 方波在Y轴上的偏移量 | 设置为1.0表示整个方波向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的方波值 |
3.7 SawtoothWave 节点 - 锯齿波生成器
这个节点就像是一个锯子的齿,能产生逐渐上升然后突然下降的效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 锯齿的周期长度,就像锯子齿的间距 | 锯齿波的周期参数 | 设置为24表示24帧完成一个完整锯齿周期 |
| step_increment | step_increment | 0.0-9999.0 | 0.5 | 每步增加多少,就像锯齿的陡峭程度 | 锯齿波每帧的增量值 | 设置为0.1表示每帧增加0.1 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 锯齿的左右偏移 | 锯齿波在X轴上的平移量 | 设置为6会让锯齿波向右偏移6个单位 |
| start_value | start_value | 0.0-9999.0 | 0.5 | 锯齿的起始高度 | 锯齿波的起始值 | 设置为1.0表示锯齿从1.0开始 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的锯齿波值 |
3.8 TriangleWave 节点 - 三角波生成器
这个节点就像是山峰的轮廓,能产生上升下降都很平滑的三角形波效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 三角波的周期长度 | 三角波的周期参数 | 设置为24表示24帧完成一个完整三角波周期 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 三角波的高度 | 三角波的振幅大小 | 设置为1.0表示三角波峰谷相差2.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 三角波的左右偏移 | 三角波在X轴上的平移量 | 设置为6会让三角波向右偏移6个单位 |
| y_translation | y_translation | 0.0-9999.0 | 0.5 | 三角波的上下偏移 | 三角波在Y轴上的偏移量 | 设置为1.0表示整个三角波向上偏移1.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的三角波值 |
3.9 AbsCosWave 节点 - 绝对值余弦波生成器
这个节点就像是把余弦波的负数部分翻折到正数,只产生正值的波形。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 绝对值余弦波的周期长度 | 绝对值余弦波的周期参数 | 设置为24表示24帧完成一个完整周期 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 绝对值余弦波的振幅 | 绝对值余弦波的振幅大小 | 设置为1.0表示波形变化幅度为1.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 绝对值余弦波的左右偏移 | 绝对值余弦波在X轴上的平移量 | 设置为6会让波形向右偏移6个单位 |
| max_value | max_value | 0.0-9999.0 | 0.5 | 波形的最大值 | 绝对值余弦波的最大值设定 | 设置为2.0表示波形最高点为2.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的绝对值余弦波值 |
3.10 AbsSinWave 节点 - 绝对值正弦波生成器
这个节点就像是把正弦波的负数部分翻折到正数,只产生正值的波形。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| phase | phase | 0.0-9999.0 | 1.0 | 绝对值正弦波的周期长度 | 绝对值正弦波的周期参数 | 设置为24表示24帧完成一个完整周期 |
| amplitude | amplitude | 0.0-9999.0 | 0.5 | 绝对值正弦波的振幅 | 绝对值正弦波的振幅大小 | 设置为1.0表示波形变化幅度为1.0 |
| x_translation | x_translation | 0.0-9999.0 | 0.0 | 绝对值正弦波的左右偏移 | 绝对值正弦波在X轴上的平移量 | 设置为6会让波形向右偏移6个单位 |
| max_value | max_value | 0.0-9999.0 | 0.5 | 波形的最大值 | 绝对值正弦波的最大值设定 | 设置为2.0表示波形最高点为2.0 |
| current_frame | current_frame | 0-9999 | 1 | 当前帧位置 | 当前帧的索引位置 | 第12帧时会输出对应的绝对值正弦波值 |
3.11 PromptSchedule 节点 - 提示词调度器
这个节点就像是一个智能的剧本导演,能让提示词随时间变化,创造动态的画面效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 时间轴上的提示词脚本,就像电影剧本 | 包含关键帧和提示词的调度文本 | "0":"cat", "12":"dog" 表示从猫变成狗 |
| clip | clip | CLIP模型 | 必需 | 文字理解器,就像翻译官 | CLIP文本编码器 | 连接模型的CLIP输出 |
| max_frames | max_frames | 1-999999 | 120 | 总共多少帧,就像动画的总长度 | 动画序列的最大帧数 | 设置为100表示100帧的动画 |
| current_frame | current_frame | 0-999999 | 0 | 当前第几帧,就像时间轴的位置 | 当前帧的索引 | 第50帧时会输出对应的提示词 |
| print_output | print_output | 布尔值 | False | 是否打印调试信息 | 控制是否输出调试日志 | 设为True可以看到内部处理过程 |
| pre_text | pre_text | 字符串 | 空 | 前缀文字,就像每句话前面加的词 | 添加到每个提示词前的文本 | 设置为"beautiful"会在每个提示词前加上 |
| app_text | app_text | 字符串 | 空 | 后缀文字,就像每句话后面加的词 | 添加到每个提示词后的文本 | 设置为"high quality"会在每个提示词后加上 |
| pw_a | pw_a | -9999.0-9999.0 | 0.0 | 数学表达式变量A | 用于表达式计算的参数A | 在提示词中写pw_a会被替换为这个值 |
| pw_b | pw_b | -9999.0-9999.0 | 0.0 | 数学表达式变量B | 用于表达式计算的参数B | 在提示词中写pw_b会被替换为这个值 |
| pw_c | pw_c | -9999.0-9999.0 | 0.0 | 数学表达式变量C | 用于表达式计算的参数C | 在提示词中写pw_c会被替换为这个值 |
| pw_d | pw_d | -9999.0-9999.0 | 0.0 | 数学表达式变量D | 用于表达式计算的参数D | 在提示词中写pw_d会被替换为这个值 |
3.12 ValueSchedule 节点 - 数值调度器
这个节点就像是一个智能的数值控制器,能让数字随时间平滑变化。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 数值变化的时间表,就像调音台的自动化 | 包含关键帧和数值的调度文本 | "0:(1.0), 12:(2.0)" 表示从1.0变到2.0 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 动画序列的最大帧数 | 设置为100表示100帧的变化 |
| current_frame | current_frame | 0-999999 | 0 | 当前帧位置 | 当前帧的索引 | 第50帧时会输出对应的数值 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到数值变化过程 |
3.13 StringSchedule 节点 - 字符串调度器
这个节点就像是一个文字变化器,能让文字内容随时间改变。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 文字变化的剧本 | 包含关键帧和字符串的调度文本 | "0":"hello", "12":"world" 表示文字变化 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 动画序列的最大帧数 | 设置为100表示100帧的文字变化 |
| current_frame | current_frame | 0-999999 | 0 | 当前帧位置 | 当前帧的索引 | 第50帧时会输出对应的文字 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到文字变化过程 |
| pre_text | pre_text | 字符串 | 空 | 前缀文字 | 添加到每个字符串前的文本 | 设置为"Hello "会在每个字符串前加上 |
| app_text | app_text | 字符串 | 空 | 后缀文字 | 添加到每个字符串后的文本 | 设置为"!"会在每个字符串后加上 |
| pw_a | pw_a | -9999.0-9999.0 | 0.0 | 数学表达式变量A | 用于表达式计算的参数A | 在字符串中写pw_a会被替换为这个值 |
| pw_b | pw_b | -9999.0-9999.0 | 0.0 | 数学表达式变量B | 用于表达式计算的参数B | 在字符串中写pw_b会被替换为这个值 |
| pw_c | pw_c | -9999.0-9999.0 | 0.0 | 数学表达式变量C | 用于表达式计算的参数C | 在字符串中写pw_c会被替换为这个值 |
| pw_d | pw_d | -9999.0-9999.0 | 0.0 | 数学表达式变量D | 用于表达式计算的参数D | 在字符串中写pw_d会被替换为这个值 |
4. 使用技巧和建议
3.14 BatchPromptSchedule 节点 - 批量提示词调度器
这个节点就像是一个批量生产线,一次性生成多个帧的提示词调度。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 提示词调度脚本 | 包含关键帧和提示词的调度文本 | 同单帧版本,但一次生成所有帧 |
| clip | clip | CLIP模型 | 必需 | 文字理解器 | CLIP文本编码器 | 连接模型的CLIP输出 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 批量处理的最大帧数 | 设置为100会生成100帧的批量数据 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到批量处理过程 |
| pre_text | pre_text | 字符串 | 空 | 前缀文字 | 添加到每个提示词前的文本 | 批量添加前缀 |
| app_text | app_text | 字符串 | 空 | 后缀文字 | 添加到每个提示词后的文本 | 批量添加后缀 |
| start_frame | start_frame | 0-9999 | 0 | 开始帧 | 批量处理的起始帧 | 从第10帧开始处理 |
| end_frame | end_frame | 0-9999 | 0 | 结束帧 | 批量处理的结束帧 | 到第100帧结束处理 |
| pw_a | pw_a | -9999.0-9999.0 | 0.0 | 数学表达式变量A | 用于表达式计算的参数A | 批量处理中的变量A |
| pw_b | pw_b | -9999.0-9999.0 | 0.0 | 数学表达式变量B | 用于表达式计算的参数B | 批量处理中的变量B |
| pw_c | pw_c | -9999.0-9999.0 | 0.0 | 数学表达式变量C | 用于表达式计算的参数C | 批量处理中的变量C |
| pw_d | pw_d | -9999.0-9999.0 | 0.0 | 数学表达式变量D | 用于表达式计算的参数D | 批量处理中的变量D |
3.15 BatchValueSchedule 节点 - 批量数值调度器
这个节点就像是一个数值批量生产器,一次性生成多个帧的数值变化。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 数值变化的时间表 | 包含关键帧和数值的调度文本 | 一次生成所有帧的数值列表 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 批量处理的最大帧数 | 设置为100会生成100个数值 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到所有数值 |
3.16 BatchStringSchedule 节点 - 批量字符串调度器
这个节点就像是一个文字批量生产器,一次性生成多个帧的文字变化。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 默认模板 | 文字变化的剧本 | 包含关键帧和字符串的调度文本 | 一次生成所有帧的文字列表 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 批量处理的最大帧数 | 设置为100会生成100个字符串 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到所有文字 |
| pre_text | pre_text | 字符串 | 空 | 前缀文字 | 添加到每个字符串前的文本 | 批量添加前缀 |
| app_text | app_text | 字符串 | 空 | 后缀文字 | 添加到每个字符串后的文本 | 批量添加后缀 |
| pw_a | pw_a | -9999.0-9999.0 | 0.0 | 数学表达式变量A | 用于表达式计算的参数A | 批量处理中的变量A |
| pw_b | pw_b | -9999.0-9999.0 | 0.0 | 数学表达式变量B | 用于表达式计算的参数B | 批量处理中的变量B |
| pw_c | pw_c | -9999.0-9999.0 | 0.0 | 数学表达式变量C | 用于表达式计算的参数C | 批量处理中的变量C |
| pw_d | pw_d | -9999.0-9999.0 | 0.0 | 数学表达式变量D | 用于表达式计算的参数D | 批量处理中的变量D |
4.1 波形选择建议
- SinWave/CosWave: 适合制作平滑的动画效果
- SquareWave: 适合制作开关式的突变效果
- SawtoothWave: 适合制作渐变后重置的效果
- TriangleWave: 适合制作对称的上升下降效果
3.17 PromptScheduleEncodeSDXL 节点 - SDXL提示词调度器
这个节点就像是专为SDXL模型设计的高级提示词调度器,能同时处理G和L两个编码器。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| width | width | 0-8192 | 1024 | 图像宽度,就像画布的宽度 | SDXL图像的宽度像素 | 设置为1024生成正方形图像 |
| height | height | 0-8192 | 1024 | 图像高度,就像画布的高度 | SDXL图像的高度像素 | 设置为1024生成正方形图像 |
| crop_w | crop_w | 0-8192 | 0 | 裁剪宽度,就像照片裁剪的宽度 | 图像裁剪的宽度偏移 | 设置为100会在宽度上裁剪100像素 |
| crop_h | crop_h | 0-8192 | 0 | 裁剪高度,就像照片裁剪的高度 | 图像裁剪的高度偏移 | 设置为100会在高度上裁剪100像素 |
| target_width | target_width | 0-8192 | 1024 | 目标宽度,就像最终输出的宽度 | SDXL目标图像宽度 | 设置为2048生成高分辨率图像 |
| target_height | target_height | 0-8192 | 1024 | 目标高度,就像最终输出的高度 | SDXL目标图像高度 | 设置为2048生成高分辨率图像 |
| text_g | text_g | 字符串 | 空 | G编码器的提示词脚本 | SDXL的G编码器调度文本 | 主要的提示词内容 |
| text_l | text_l | 字符串 | 空 | L编码器的提示词脚本 | SDXL的L编码器调度文本 | 辅助的提示词内容 |
| clip | clip | CLIP模型 | 必需 | SDXL的文字理解器 | SDXL CLIP文本编码器 | 连接SDXL模型的CLIP输出 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 动画序列的最大帧数 | 设置为100表示100帧的SDXL动画 |
| current_frame | current_frame | 0-999999 | 0 | 当前帧位置 | 当前帧的索引 | 第50帧时会输出SDXL对应的提示词 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出SDXL调试日志 | 设为True可以看到SDXL处理过程 |
3.18 StringConcatenate 节点 - 字符串连接器
这个节点就像是一个文字组装工厂,能把多个文字和帧号组合成调度格式。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text_a | text_a | 字符串 | 空 | 第一个文字内容 | 第一个关键帧的文本内容 | 输入"cat"作为第一个关键帧 |
| frame_a | frame_a | 整数 | 0 | 第一个帧号 | 第一个关键帧的帧数 | 设置为0表示从第0帧开始 |
| text_b | text_b | 字符串 | 空 | 第二个文字内容 | 第二个关键帧的文本内容 | 输入"dog"作为第二个关键帧 |
| frame_b | frame_b | 整数 | 12 | 第二个帧号 | 第二个关键帧的帧数 | 设置为12表示在第12帧变化 |
| text_c | text_c | 字符串 | 空 | 第三个文字内容 | 第三个关键帧的文本内容 | 可选的第三个关键帧 |
| frame_c | frame_c | 整数 | 24 | 第三个帧号 | 第三个关键帧的帧数 | 可选的第三个帧位置 |
| text_d | text_d | 字符串 | 空 | 第四个文字内容 | 第四个关键帧的文本内容 | 可选的第四个关键帧 |
| frame_d | frame_d | 整数 | 36 | 第四个帧号 | 第四个关键帧的帧数 | 可选的第四个帧位置 |
| text_e | text_e | 字符串 | 空 | 第五个文字内容 | 第五个关键帧的文本内容 | 可选的第五个关键帧 |
| frame_e | frame_e | 整数 | 48 | 第五个帧号 | 第五个关键帧的帧数 | 可选的第五个帧位置 |
| text_f | text_f | 字符串 | 空 | 第六个文字内容 | 第六个关键帧的文本内容 | 可选的第六个关键帧 |
| frame_f | frame_f | 整数 | 60 | 第六个帧号 | 第六个关键帧的帧数 | 可选的第六个帧位置 |
| text_g | text_g | 字符串 | 空 | 第七个文字内容 | 第七个关键帧的文本内容 | 可选的第七个关键帧 |
| frame_g | frame_g | 整数 | 72 | 第七个帧号 | 第七个关键帧的帧数 | 可选的第七个帧位置 |
4.2 参数调节技巧
- phase: 控制动画的速度,数值越小变化越快
- amplitude: 控制变化的幅度,根据需要调整
- translation: 用来调整波形的位置和偏移
3.19 InitNodeFrame 节点 - 初始帧节点
这个节点就像是一个动画的起始点,设置基本的提示词和参数。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| frame | frame | 整数 | 0 | 帧号,就像动画的第几帧 | 当前帧的索引号 | 设置为0表示这是第一帧 |
| positive_text | positive_text | 字符串 | 空 | 正面提示词,就像你想要的内容 | 正面提示词文本 | 输入"beautiful cat"描述想要的图像 |
| negative_text | negative_text | 字符串 | 空 | 负面提示词,就像你不想要的内容 | 负面提示词文本 | 输入"blurry, ugly"避免不好的效果 |
| general_positive | general_positive | 字符串 | 空 | 通用正面提示词,就像每帧都要的内容 | 全局正面提示词 | 输入"high quality"作为每帧的基础 |
| general_negative | general_negative | 字符串 | 空 | 通用负面提示词,就像每帧都要避免的内容 | 全局负面提示词 | 输入"low quality"作为每帧的基础 |
| previous_frame | previous_frame | FIZZFRAME | 空 | 上一帧的数据,初始帧不需要 | 上一个帧节点的输出 | 初始帧不需要连接 |
| clip | clip | CLIP模型 | 必需 | 文字理解器 | CLIP文本编码器 | 连接模型的CLIP输出 |
3.20 NodeFrame 节点 - 帧节点
这个节点就像是动画的中间帧,继承上一帧的设置并添加新内容。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| frame | frame | 整数 | 0 | 帧号 | 当前帧的索引号 | 设置为12表示这是第12帧 |
| previous_frame | previous_frame | FIZZFRAME | 必需 | 上一帧的数据 | 上一个帧节点的输出 | 连接上一个帧节点 |
| positive_text | positive_text | 字符串 | 空 | 正面提示词 | 正面提示词文本 | 输入"running dog"描述新的内容 |
| negative_text | negative_text | 字符串 | 空 | 负面提示词 | 负面提示词文本 | 输入"static"避免静止的效果 |
3.21 FrameConcatenate 节点 - 帧连接器
这个节点就像是一个动画导出器,把所有帧的信息整理成调度格式。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| frame | frame | FIZZFRAME | 必需 | 帧数据集合 | 最后一个帧节点的输出 | 连接最后一个帧节点 |
3.22 ConcatStringSingle 节点 - 单个字符串连接器
这个节点就像是一个简单的文字拼接器,把两个文字合并成一个。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| string_a | string_a | 字符串 | 空 | 第一个字符串 | 第一个要连接的文本 | 输入"Hello "作为前半部分 |
| string_b | string_b | 字符串 | 空 | 第二个字符串 | 第二个要连接的文本 | 输入"World!"作为后半部分 |
3.23 convertKeyframeKeysToBatchKeys 节点 - 关键帧转换器
这个节点就像是一个数学计算器,把关键帧号转换成批量处理的索引。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| input | input | 整数 | 0 | 输入的关键帧号 | 需要转换的关键帧索引 | 输入5表示第5个关键帧 |
| num_latents | num_latents | 整数 | 16 | 每个关键帧的数据量 | 每个关键帧对应的批量大小 | 设置为16表示每关键帧有16个数据 |
3.24 CalculateFrameOffset 节点 - 帧偏移计算器
这个节点就像是一个时间计算器,根据当前帧和参数计算出正确的帧位置。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| current_frame | current_frame | 整数 | 0 | 当前帧号 | 当前处理的帧数 | 输入5表示当前是第5帧 |
| max_frames | max_frames | 整数 | 18 | 最大帧数 | 动画的总帧数 | 设置为100表示总共100帧 |
| num_latent_inputs | num_latent_inputs | 整数 | 4 | 输入数据量 | 每次处理的数据数量 | 设置为4表示每次处理4个数据 |
| index | index | 整数 | 4 | 索引位置 | 当前数据在批量中的位置 | 设置为2表示第3个数据(从0开始) |
3.25 ImagesFromBatchSchedule 节点 - 批量图像选择器
这个节点就像是一个智能的图像选择器,根据调度从批量图像中选择对应的图像。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| images | images | IMAGE | 必需 | 输入的图像批量 | 需要选择的图像批量数据 | 连接一个包含多张图像的批量 |
| text | text | 字符串 | 默认模板 | 选择规则的调度脚本 | 包含选择规则的调度文本 | "0":"1,3,5", "12":"2,4,6" 表示不同帧选择不同图像 |
| current_frame | current_frame | 0-999999 | 0 | 当前帧位置 | 当前帧的索引 | 第10帧时会按照对应规则选择图像 |
| max_frames | max_frames | 1-999999 | 120 | 总帧数 | 动画序列的最大帧数 | 设置为100表示100帧的图像选择 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到选择过程 |
4.3 动画制作建议
- 先用小的帧数测试效果
- 结合不同波形创造复杂效果
- 注意波形的相位关系避免冲突
5. 常见问题解答
3.26 PromptScheduleNodeFlow 节点 - 提示词调度流程节点
这个节点就像是一个流水线上的工作站,把单个提示词和帧号组合起来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 空 | 当前节点的提示词内容 | 当前关键帧的文本内容 | 输入"cat"作为这个节点的内容 |
| num_frames | num_frames | 0-9999 | 24 | 这个节点的持续帧数 | 当前关键帧的持续时间 | 设置为24表示这个内容持续24帧 |
| in_text | in_text | 字符串 | 空 | 上一个节点的输出 | 上一个流程节点的结果 | 连接上一个节点的输出 |
| max_frames | max_frames | 0-999999 | 0 | 累计的总帧数 | 到目前为止的总帧数 | 由系统自动计算累计值 |
3.27 PromptScheduleNodeFlowEnd 节点 - 提示词调度流程结束节点
这个节点就像是流水线的最后一站,把所有流程节点的结果整合成最终的调度。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| text | text | 字符串 | 必需 | 所有流程节点的组合结果 | 整个流程的最终文本 | 连接最后一个流程节点的输出 |
| clip | clip | CLIP模型 | 必需 | 文字理解器 | CLIP文本编码器 | 连接模型的CLIP输出 |
| max_frames | max_frames | 0-999999 | 0 | 总帧数 | 整个动画的总帧数 | 由流程节点自动计算 |
| print_output | print_output | 布尔值 | False | 是否显示调试信息 | 控制是否输出调试日志 | 设为True可以看到整个流程 |
| current_frame | current_frame | 0-999999 | 0 | 当前帧位置 | 当前帧的索引 | 第50帧时会输出对应的提示词 |
| pre_text | pre_text | 字符串 | 空 | 前缀文字 | 添加到每个提示词前的文本 | 统一添加的前缀内容 |
| app_text | app_text | 字符串 | 空 | 后缀文字 | 添加到每个提示词后的文本 | 统一添加的后缀内容 |
| pw_a | pw_a | -9999.0-9999.0 | 0.0 | 数学表达式变量A | 用于表达式计算的参数A | 在整个流程中使用的变量A |
| pw_b | pw_b | -9999.0-9999.0 | 0.0 | 数学表达式变量B | 用于表达式计算的参数B | 在整个流程中使用的变量B |
| pw_c | pw_c | -9999.0-9999.0 | 0.0 | 数学表达式变量C | 用于表达式计算的参数C | 在整个流程中使用的变量C |
| pw_d | pw_d | -9999.0-9999.0 | 0.0 | 数学表达式变量D | 用于表达式计算的参数D | 在整个流程中使用的变量D |
5.1 使用问题
Q: 波形效果不明显怎么办?
A: 检查amplitude参数是否太小,适当增加振幅值。
Q: 动画太快或太慢?
A: 调整phase参数,增大phase让动画变慢,减小让动画变快。
Q: 波形位置不对?
A: 使用x_translation和y_translation参数调整波形位置。
5.2 效果问题
Q: 如何制作复杂的动画效果?
A: 可以组合多个不同的波形节点,创造更复杂的变化模式。
Q: 如何同步音频?
A: 使用插件推荐的外部工具如framesync.xyz来生成音频同步的关键帧。
6. 总结
ComfyUI_FizzNodes 是一个功能强大的动画制作插件,提供了丰富的波形生成和调度功能。通过合理使用各种波形节点,可以创造出各种动态效果和动画。
记住最重要的几点:
- 选择合适的波形类型
- 合理设置周期和振幅参数
- 善用偏移参数调整位置
- 多尝试不同参数组合
希望这个教程能帮助你充分利用这个强大的动画制作插件!