Fusion Expression Lookup

表达式查找表

按用途快速查找达芬奇 / Fusion 常用表达式。表达式保持原始写法,下面的中文注释用于说明适用场景。

01

时间与帧数

时间
time

返回当前帧数,常用于把位置、透明度、旋转等参数和时间绑定。

帧判断
time - comp.RenderStart

计算当前帧距离渲染起点的帧数,适合做从渲染区间开始计时的动画。

周期动画
sin(time / 12)

把时间缩放后生成更慢的正弦波动,可用于呼吸、摆动、循环运动。

02

合成信息

渲染起点
comp.RenderStart

读取当前合成的渲染起始帧,适合做随渲染区间变化的动画。

渲染终点
comp.RenderEnd

读取当前合成的渲染结束帧,用于计算进度、时长或结尾触发。

渲染长度
comp.RenderEnd - comp.RenderStart

计算渲染区间的帧数长度,适合做按区间自适应的动画。

中间帧
comp.RenderEnd / 2

取渲染结束帧的一半,适合快速定位中段触发点;复杂区间可结合起始帧再计算。

全局起点
comp.GlobalStart

读取合成全局起始帧,常用于和时间线范围保持一致。

全局终点
comp.GlobalEnd

读取合成全局结束帧,适合做覆盖完整时间线的参数控制。

属性读取
comp:GetAttrs().COMPN_GlobalStart

通过合成属性读取全局起始帧,适合需要访问底层属性名的场景。

属性读取
comp:GetAttrs().COMPN_GlobalEnd

通过合成属性读取全局结束帧,适合和脚本或复杂模板参数保持同一口径。

03

数学函数

圆周率
pi

圆周率常量,适合角度、周期和三角函数相关计算。

正弦
sin(time)

生成平滑周期曲线,适合呼吸光、上下浮动和往复动画。

余弦
cos(time)

生成和正弦相位不同的周期曲线,适合错开节奏的循环运动。

最大值
max(a, b)

返回两个数中的较大值,可用于限制参数不要低于另一个参考值。

最小值
min(a, b)

返回两个数中的较小值,常用于限制参数上限。

绝对值
abs(Number)

把负数转为正数,适合处理距离、强度这类不应出现负值的参数。

向下取整
floor(Number)

去掉小数部分并向下取整,适合做帧号、序号或阶梯变化。

向上取整
ceil(Number)

把数值向上取整,适合保证数量、格数或段落数不低于当前值。

04

逻辑判断

条件选择
Number > 10 and "big" or "small"

当数值大于 10 时返回 big,否则返回 small,适合文本或状态类切换。

等于
Number == 10

判断数值是否等于 10,可作为布尔条件参与后续逻辑。

不等于
Number ~= 10

判断数值是否不等于 10,适合排除某个特定状态。

帧开关
iif(time > 50, 0, 1)

用指定帧作为开关点,适合透明度、Blend 或 Enable 一类参数。

05

节点引用

中心 X
Transform1.Center.X

读取 Transform1 节点 Center 参数的 X 值,适合让其他参数跟随横向位置。

中心 Y
Transform1.Center.Y

读取 Transform1 节点 Center 参数的 Y 值,适合让其他参数跟随纵向位置。

文本内容
Text1.StyledText.Value

读取 Text1 的 StyledText 当前内容,适合做文本联动或长度判断。

文本长度
Text1.StyledText.Value:len()

读取文本字符长度,适合根据标题长短调整字号、位置或背景宽度。

06

文本表达式

输出文本
Text("Hello world")

直接返回一段文本,适合在文本节点里快速测试表达式输出。

数字格式
string.format("This number: %.2f", Number)

把数字格式化为保留两位小数的文本,适合计数器、参数展示和信息面板。

补零编号
string.format("%02d", value)

把数字格式化为两位编号,例如 1 显示为 01,适合序号和倒计时。

07

随机与动画

随机种子
randomseed(time)

用当前帧作为随机种子,让随机结果随时间变化;用于返回值参数时建议结合 random 使用。

随机数
random(0, 1)

生成 0 到 1 之间的随机数,适合做轻微抖动、随机透明度或随机偏移。

平滑循环
sin(time / 10) * 0.5 + 0.5

把正弦结果映射到 0 到 1 区间,适合透明度、发光强度和混合值循环。

08

实用案例

文本宽度
Text1.Output.DataWindow[3] - Text1.Output.DataWindow[1]

读取 Text1 输出区域的宽度,适合让背景框、描边或遮罩自动适配文字。

文本高度
Text1.Output.DataWindow[4] - Text1.Output.DataWindow[2]

读取 Text1 输出区域的高度,适合做随文字高度变化的排版或背景尺寸。