EffectCraft操作技巧
EffectCraft JavaScript 表达式入门:让动画自己算出来
从 wiggle 到惯性跟随,掌握 EffectCraft 的 JS 表达式驱动动画,少打一半关键帧。
量子猿2026-09-30约 5 分钟
EffectCraft(当前 v0.4.0)是对标 After Effects 的动效合成软件,内置 259 种特效与一套 JavaScript 表达式系统——任何可动画属性都可以用一小段 JS 驱动。表达式最大的价值不是炫技,而是少打关键帧、动画自动生成、改参数全局响应。
语法与 AE 表达式同宗(都是 JS 方言),AE 老手可以无痛迁移大部分写法。
在哪里写表达式
- 选中图层,按
E展开属性(或直接找到要驱动的属性) - 按住
Alt(macOS:Option)点击属性的秒表图标,属性值变成红色——表示已被表达式接管 - 在右侧出现的输入框里写 JS,点击空白处应用
一个最简单的开始:
// 每帧执行,返回值就是属性值
100;
这条表达式把属性永远钉在 100。真正有用的是它:
wiggle:最著名的表达式
让图层位置随机抖动,参数是(频率, 振幅):
wiggle(3, 20); // 每秒 3 次,振幅 20 像素的手持感
套在 Position 上立刻得到手持镜头效果。把 20 改成 2 就是轻微呼吸感。这是全行业使用率最高的表达式,没有之一。
time:线性动画不打关键帧
time 是当前时间(秒):
// 位置属性:每秒向右移动 100 像素
[value[0] + time * 100, value[1]];
value是属性的当前值(数组属性用下标取分量)- 配合取余可以做无限循环:
// 旋转属性:匀速旋转,永远
time * 90; // 每秒转 90 度
惯性跟随(表达式动画的经典款)
让 B 图层带延迟、带阻尼地跟随 A 图层——打关键帧做不出来这种「物理感」:
// 假设 thisLayer 是跟随者,目标图层名为 "leader"
const target = thisComp.layer("leader");
const delay = 0.1; // 延迟 0.1 秒
const factor = 0.85; // 跟随强度(越小越懒)
const tx = target.transform.position.valueAtTime(time - delay)[0];
const ty = target.transform.position.valueAtTime(time - delay)[1];
// 用 value 与目标值插值实现平滑逼近
[lerp(value[0], tx, 0.2), lerp(value[1], ty, 0.2)];
EffectCraft 表达式环境内置了常用数学/缓动函数(
lerp、clamp、seedRandom等)与图层/合成引用。具体函数清单可在内置帮助文档 Expressions 一节查阅,v0.4 后仍在持续补充。
弹性出现(overshoot)
物体出现时过冲再回弹,动效设计的高频需求:
// 透明度属性:第 1 秒出现,带 20% 过冲
const t = time - 1; // 从 1 秒开始
if (t < 0) 0;
else {
const decay = Math.exp(-4 * t); // 衰减包络
100 * (1 - Math.cos(t * 12) * decay);
}
把这段套在 Scale(改 100 为基准)上就是「砰地弹出来」。
表达式实用心法
- 先想数学模型再写代码:动画 = f(time)。想清楚随时间怎么变化,翻译成 JS 就行
- 参数提到变量:改
const freq = 3比在三个地方改 3 舒服 - 多打
console.log(value):EffectCraft 的表达式控制台会输出每帧结果,调试交互式可视 - 一个属性只留一个真源:要么秒表关键帧,要么表达式,混着排查起来最痛苦
表达式 × 259 特效的结合
表达式不只驱动变换属性,也能驱动特效参数。比如给模糊特效的模糊量加:
wiggle(2, 8);
整个画面开始呼吸般地虚实变化——这就是「让特效活起来」的最低成本方式。
下一步
- 动画做好了要上 Web?看 导出 Lottie 到 Web 全流程
- EffectCraft 还有 3D 相机、灯光与软阴影,表达式同样可以驱动 3D 属性(相机运动自动化是绝配)
小结
Alt/Option + 秒表启动表达式,红色值代表已接管- 三板斧:
wiggle(抖动)、time(线性)、lerp + delay(跟随) - 表达式是 JS,但只写纯函数:每帧执行一次,返回值即属性值
相关教程
本教程由社区贡献,内容基于 ArtCraft 软件早期版本,功能与界面可能随版本更新变化。ArtCraft 系列软件当前处于早期开发阶段,请在重要项目前自行备份文件。本站为非官方社区站点,与 storytold 团队没有隶属关系。