表达式 (Expression) · 截图待补
这个节点是做什么的
Expression(表达式) 随时间求值一条数学表达式,输出一条关键帧轨道(COMFYTV_TEXT)。你写形如 sin(t*2)*10 或 noise(t*2)*20 的表达式、选它驱动哪个字段、设采样率和时长,节点即采样曲线。卡片会在你输入时实时绘制曲线预览(有防抖,表达式非法时显示错误信息)。点 ▶ 运行 输出关键帧。
表达式在安全沙箱里求值:只允许数字字面量、算术/比较/布尔运算符、内置变量和内置函数(不允许属性访问、不允许关键字参数、最长 2000 字符)。
可用变量与函数
- 变量:
frame、t(秒)、duration、fps,以及常量pi、e。 - 函数:
sin cos tan asin acos atan atan2 exp log sqrt pow abs floor ceil round min max sign degrees radians;阶跃/插值boxstep linearstep smoothstep gaussstep remap mix clamp;噪声noise snoise fbm turbulence cellnoise pnoise random hash。seed参数为噪声/随机函数播种。
适用场景
- 给参数加自然抖动(
noise(t*3)*5),而非手打关键帧。 - 驱动循环运动(
sin(t*2)*30)做上下浮动、摆动或脉动。 - 生成斜坡或缓动曲线,喂给某 FX 阶段的关键帧输入。
参数说明
expression(表达式)
要求值的数学表达式。默认sin(t*2)*10。使用上述变量/函数。
field(字段)
曲线驱动哪个动画字段:v、scale、opacity、x、y、rotation。默认 v。这也是写入输出轨道的键名。
rate(每秒关键帧)
从曲线采样的每秒关键帧数,1–60,默认 10。越高轨道越平滑、关键帧越多。duration(时长)
曲线长度(秒),0.05–3600,默认 5。若接入视频,其真实时长会覆盖此值(卡片会隐藏 Duration 滑块)。fps(帧率)
用于计算frame 变量的每秒帧数,1–120,默认 24。接入视频的真实 fps 会覆盖此值。
seed(种子)
噪声/随机函数的种子,0–99999,默认 0。换值得到不同随机图案。输入与输出
使用提示
- 接入视频可把曲线锁定到该片段精确的时长和 fps——连接视频后 Duration 滑块会消失。
- 快速变化的曲线调高
rate得到更平滑更密的关键帧;轻量轨道调低。 - 只允许列出的名称——未知名称、关键字参数或非数字常量都会让表达式报错(预览里显示)。
t是秒,frame是t*fps;按表达式更自然的那个用。
类型与 Bridge
COMFYTV_TEXT / COMFYTV_VIDEO 是 ComfyTV 项目快照,不是 ComfyUI 原生类型。用 Bridge(ComfyTV/Bridge)与原生节点互通。详见 bridges.md。
相关节点
- FX Chain(FX 链)——烧录其参数可被表达式轨道驱动的 FX 链。
- 任意接受关键帧轨道的 ComfyTV VideoFX 阶段。