表达式的应用
将表达式代码应用到选中的属性上。

使用方法
- 在设置面板中添加或编辑按钮
- 设置按钮名称和图标
- 选择动作类型为 表达式
- 在代码编辑器中输入表达式代码(支持语法高亮和自动补全)
- 点击"应用表达式"按钮测试效果
- 点击左上角保存并关闭设置面板
核心特点
- 即写即应用:无需外部文件,直接在配置面板输入表达式代码即可应用到属性
- 智能代码编辑器:内置语法高亮、自动补全、Tab 键支持和自动缩进功能
- 实时测试:配置面板内置"应用表达式"按钮,可即时测试表达式
- 批量应用:支持同时应用到多个选中的属性
- UndoGroup 支持:自动包裹在
app.beginUndoGroup中,支持 AE 撤销操作
代码框通用功能
代码编辑器提供以下按钮:
| 按钮 | 说明 |
|---|---|
| 复制 | 将内容复制到剪贴板 |
| 导出 | 将内容保存为本地文件 |
| 清除 | 清空当前输入的内容 |
| 运行 | 执行代码(表达式/剪贴板/脚本/Shell 命令) |
执行前提
- 当前 AE 中有打开的活动合成
- 已选中一个或多个属性(不是图层)
- 如果没有选中属性,运行时会提示"请先选择一个或多个属性"
保存到文件
表达式也可以保存为本地文件,方便复用:
- 点击代码编辑器的保存按钮
- 选择保存路径和文件名(.txt 或 .jsx)
- 保存后可作为笔记或分享给他人
适用场景
- 驱动属性动态变化(如位置、缩放、旋转)
- 链接多个属性(如让缩放跟随位置变化)
- 创建循环动画
- 使用表达式控制器(如滑块控制)
表达式示例
循环动画
javascript
loopOut("cycle")随机抖动
javascript
wiggle(3, 50)滑块控制
需先添加"滑块控制"效果。
javascript
thisComp.layer("Control").effect("滑块")("滑块")时间相关
javascript
time * 100 // 随时间旋转位置链接
javascript
thisComp.layer("图层名").transform.position弹性动画
javascript
amp = .1;
freq = 2.0;
decay = 5.0;
n = 0;
if (numKeys > 0) {
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0) {
t = time - key(n).time;
if (t > 0) {
w = transform.position;
ease(t, 0, 1, w - [amp,amp], w + [amp,amp])
}
} else {
transform.position
}点击"应用表达式"按钮即可在 AE 中实时测试表达式效果。