在After Effects中启用表达式需先按Alt/Option键点击码表激活红色表达式框,再用英文输入法输入代码;可插入预设、快捷键或手动编写如time*60、wiggle(5,20);跨图层关联需用拾取器绑定滑块控制并确保同合成;分离维度后才能单轴控制;loopOut("cycle")实现循环,配合if语句可延迟启动。

你想在After Effects里用一行代码替代几十个关键帧,让图层自动旋转、抖动、循环或随时间变化,又不想被JavaScript语法吓退——这正是表达式最该被用起来的场景。
启用表达式编辑器
选中目标图层中带码表( stopwatch )的属性,比如位置、旋转或不透明度。
按住 Alt 键(Windows)或 Option 键(macOS),同时点击该属性左侧的码表图标。
属性值右侧变成红色,时间轴面板中出现表达式输入框——这是所有表达式生效的【唯一前提】,漏掉这步后面全白忙。
必须用英文输入法输入代码,中文标点或全角符号会导致报错且不提示原因。
快速添加常用表达式
方法一:菜单插入预设(适合新手防手误)
右键点击属性码表 → 选择“添加表达式” → 在列表中选“Wiggle”“Loop Out”或“Time” → 系统自动填入基础语法如 loopOut("cycle")。
方法二:快捷键调出面板(效率更高)
按 Shift + Alt + =(Windows)或 Shift + Option + =(macOS)直接打开表达式添加面板,免去右键菜单层层点击。
方法三:手动输入(最灵活)
在表达式框内键入 time * 60 实现每秒旋转60度,或 wiggle(5, 20) 让图层每秒随机抖动5次、幅度20像素。
跨图层关联数值
第一步:在控制器图层(如空对象)上添加“滑块控制”效果,并命名为“速度”。
第二步:在目标图层的旋转属性上按住Alt点击码表,激活表达式框。
第三步:将鼠标移至表达式框内,光标变为螺旋线图标(Expression Pick Whip)→ 按住左键拖拽至控制器图层的“滑块”属性上 → 松开后自动生成引用语句:thisComp.layer("控制器").effect("速度")("Slider")。
第四步:可在该语句后追加运算符,例如末尾加 * 2,实现滑块值翻倍驱动旋转——这样改一个滑块就能同步调控多个图层。
注意:源图层和目标图层【必须处于同一合成中】,跨合成引用会报错且无提示。
分离维度后单轴控制
位置、缩放等属性默认是多维数组,直接输 wiggle(2,10) 会让XY轴同时抖动,无法单独控制X方向位移。
先右键点击位置属性 → 选择“分离维度”,此时“位置”拆分为“位置X”和“位置Y”两个独立属性。
对“位置X”单独启用表达式,输入 time * 100,图层就只沿X轴匀速向右移动,Y轴完全不动。
这一步不能跳过,否则多维表达式会强制作用于全部分量,结果往往偏离预期。
让动画无限循环
确保你要循环的动画已有至少两个关键帧,且首尾帧数值一致(例如旋转从0°到360°,末帧必须是360°而非359.9°)。
在该属性上启用表达式编辑器,输入 loopOut("cycle") 即可实现正向重复;想来回摆动就用 loopOut("pingPong")。
如果循环启动有延迟,比如3秒后才开始循环,改写为:if (time > 3) { loopOut("cycle") } else { value }——前3秒保持原始动画,之后自动循环。

















