在Adobe After Effects(AE)中,表达式用于动态地控制各种属性,如旋转、缩放、位置、不透明度等。以下是一些常用的表达式及其用法:
数值表达式
time表达式
time*n
示例:
time*60
解释:
`time` 表示当前时间,以秒为单位。
`time*n` 表示时间乘以一个数值 `n`。
如果应用于旋转属性,`n` 表示旋转的角度。
注意事项:
`time` 只能赋予一维属性的数据。
时间轴上的应用:
例如,在旋转属性上设置 `time*60`,图层将在1秒内旋转60度,2秒时旋转120度,以此类推。
数组表达式
位置/缩放
[x, y]
示例:
[time, time]
解释:
`x` 和 `y` 分别表示位置或缩放的X和Y值。
`time` 表示当前时间,以秒为单位。
时间轴上的应用:
例如,在位置属性上设置 `[time, time]`,图层的位置将随时间变化而变化。
布尔表达式
true/false
true
示例:
1
解释:
`true` 表示“真”,`false` 表示“假”。
`1` 和 `0` 也可以表示布尔值,其中 `1` 表示“真”,`0` 表示“假”。
内置函数
wiggle
wiggle(freq, amp, octaves = 1, amp_mult = 0.5, t = time)
示例:
wiggle(2, 30)
解释:
`freq` 表示频率(每秒抖动的频率)。
`amp` 表示振幅(每次抖动的幅度)。
`octaves` 表示振幅的倍频(很少使用,默认值为1)。
`amp_mult` 表示频率倍频(数值越接近0,细节越少;越接近1,细节越多)。
`t` 表示抖动时间(通常无需修改)。
示例表达式
倒计时表达式
Math.floor(10-time)
数字递增表达式
n = Linear(time, 0, 5, 1, 100)
运动残影
delay = 0.5 //延迟的距离
d = delay*thisComp.frameDuration*(index - 1)
thisComp.layer(1).position.valueAtTime(time - d)
延迟运动
value + thisComp.layer("A").transform.position.valueAtTime(time - 0.5)
调用和清除表达式
调出表达式输入框
选中参数,然后点击参数前面的小秒表,再按 `Alt` 键。
清除表达式
选中参数,然后点击参数前面的小秒表,再按 `Alt` 键,选择“移除表达式”。
表达式图表
打开图表编辑器可以看到计算后的曲线。
表达式关联器
用于获取其他属性,如果编辑区是编辑状态,获取回来的属性会增加到编辑的位置。
表达式编辑区
用于写表达式相关说明,按照JavaScript的注释来写即可。
以上是AE中一些常用的表达式及其用法。