表达式入门:用代码实现自动化动画
适用人群:AE基础用户/想摆脱关键帧束缚的动画师
案例效果:无限循环旋转+有机随机抖动(文末附表达式速查手册)
一、表达式核心概念
三大优势:
自动化:替代重复关键帧设置
动态响应:参数实时关联其他属性
数学驱动:用算法创造独特运动规律
二、基础语法速通
1. 表达式调用方式
按住Alt点击属性秒表图标
在文本框输入代码(支持JavaScript语法)
点击空白处自动运行
2. 常用全局对象
三、实战案例教学
案例1:无限循环旋转动画
创建形状图层,添加「旋转」属性
按住Alt点击旋转秒表,输入:
ounter(lineloopOut("cycle", 0); // 基础循环
3.进阶版(带缓动的钟摆运动):
aesamplitude = 30; // 摆动幅度frequency = 1; // 每秒摆动次数amplitude*Math.sin(frequency*time*2*Math.PI);
案例2:有机随机抖动效果
1.选中位置属性添加表达式:
aeswiggle(3, 30); // 每秒抖动3次/幅度30像素
2.进阶控制(限制Y轴抖动):
aesx = wiggle(5, 50)[0]; y = transform.position[1]; [x, y]
3.带缓入缓出的高级抖动:
aesfreq = 2; amp = 50; t = time - inPoint; linear(t, 0, 1, 0, amp)*wiggle(freq, amp);
四、调试技巧大全
1 .可视化调试
使用sourceText输出调试信息
aesn = time*10; thisLayer.text.sourceText = "当前数值:" + Math.round(n); n // 必须返回数值
2. 性能优化
五、行业应用场景
1. 批量文字动画
aesdelay = index*0.2; // 按图层序号延迟thisComp.layer(1).effect("控制")("滑块") + delay
2. 数据可视化
aes// 关联Excel数据 data = external.File("data.csv").getData(); data[row][column]*100;
六、常见问题诊断
Q:表达式报红错误?
检查拼写错误/中英文符号/图层索引是否存在
Q:动画突然静止?
确认未在表达式末尾误加分号
Q:无法实现预期效果?
用value保留原始属性值:value + [0,50]
本文表达式兼容AE CC 2018及以上版本
数学函数参考MDN JavaScript标准文档
建议使用Console面板(Ctrl+Shift+J)调试复杂表达式
领取专属 10元无门槛券
私享最新 技术干货