在研究Comfyui的过程中,发现一个有趣的节点:BatchPromptSchedule,对于使用方法不是很了解,所以查了下git,这里记录下。
这个节点长成这个样子:
在这里插入图片描述
问题是,git上根本没有这个节点的介绍资料,但是有个类似的节点介绍:promptshedule,是同一个作者。
附github地址:https://github.com/FizzleDorf/ComfyUI_FizzNodes#promptschedule

所以先通过了解promptshedule来了解下作者的思路。

  • 所有这些节点都需要当前帧输入中的基本节点增量输出。要设置这个,请简单地在节点上右键单击并将当前帧转换为一个输入。然后,双击输入以添加一个基本节点。将节点值控制设置为增量,并将值设置为0。基本节点应该如下所示:
    在这里插入图片描述
  • 文本输入 pre_text 和 app_text 用于在每个预定提示的文本之前或之后添加文本。通过双击输入创建的基本节点是单行的,可能有些不方便。我建议在这些输入中使用这些修改后的节点(https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes)中的 TextBox 作为输入。这个节点套件还有许多数学运算符节点,在使用这些节点时可能会派上用场。
    对方是否
  • Prompt Scheduler具有多个选项,需要将它们转换为输入,以便正确使用。Prompt权重通道(pw_a、pw_b等)可以接收来自Value Scheduler的结果,从而完全控制随时间变化的token权重。
    在这里插入图片描述
  • 一个示例的设置,包括前置文本和两个提示权重变量,可能如下所示:
    在这里插入图片描述

“Note: 原作者用这个地址上的工具来生成动画曲线数值.” https://www.chigozie.co.uk/keyframe-string-generator/

PromptSchedule 节点

这个节点使用提示中的表达式来插值提示并自动化提示权重。
要创建关键帧提示,您需要正确格式化它。

"#":"(prompt:`exp`)"

在这里,#表示关键帧(一个整数),prompt表示您的提示,exp表示您的表达式。

关键帧号码需要用引号(“”)括起来,后面跟着一个冒号(:)。您的提示也需要用引号(“”)括起来。如果您计划在此提示之后放置另一个关键帧提示,则需要在上一个提示的结束引号后面加上逗号(,)。如果您不这样做,将会出现错误。如果这是您的最后一个提示,请不要放置逗号,否则也会导致错误。

提示计划中的表达式必须使用反引号(``)括起来,而不是撇号(‘’)!如果您使用提示权重变量,例如pw_a,请确保它也用反引号括起来。

以下是一个语法示例:

"0": "1girl, solo, long grey hair, grey eyes, black sweater, (smiling:`(0.5+0.5*sin(t/12))`)",
"24": "1girl, solo, long grey hair, grey eyes, black sweater, (dancing:`pw_a`)",
"48": "1girl, solo, long grey hair, grey eyes, black sweater, (dancing:`pw_a`)",
"72": "1girl, solo, long grey hair, grey eyes, black sweater, (smiling:`(0.5+0.5*sin(t/max_f))`)"

其中:
t的意思是:current frame
max_f的意思是:max frames

为了减少在每个关键帧上编写完整提示的工作量,可以使用pre_text和app_text分别在计划中的每个提示之前或之后添加保持不变的提示。我建议使用重要说明部分中建议的文本框。将上面的示例转换为如下形式:
pre_text

1girl, solo, long grey hair, grey eyes, black sweater,  

Scheduled Text

"0": "(smiling:`(0.5+0.5*sin(t/12))`)",
"24": "(dancing:`pw_a`)",
"48": "(dancing:`pw_a`)",
"72": "(smiling:`(0.5+0.5*sin(t/max_f))`)"```

这样做将产生与之前提供的第一个示例相同的输出提示,使得提示计划易于阅读和编辑。

最后…既然都看到这里了,我测试的结果是…BatchPromptSchedule跟这个节点并不一样,目前是配合animatediff节点来使用的…单独使用没啥效果。。。。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐