You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过After Effects表达式实现图层按指定帧/秒自动复制?

在After Effects中实现按时间间隔自动显示多份美元图层的方案

你现有的Position和Rotate表达式已经能实现随机位置与旋转,但AE的表达式无法直接自动创建新图层,不过可以通过「批量生成图层+表达式控制入点」的方式,实现图层按指定帧数/秒数依次出现的效果,具体步骤如下:

1. 先批量生成100份美元图层

选中你的美元原始图层,按Ctrl+D(Windows)/Cmd+D(Mac)重复99次,快速得到100个图层副本,所有副本都会继承原始图层的Position和Rotate表达式。

2. 修正现有表达式的语法错误

你的Rotate表达式存在语法问题,把:

seedRandom(index,true); random(70. -70);

改成:

seedRandom(index, true);
random(-70, 70);

(错误原因是把逗号打成了点,且参数顺序写反了,random(min, max)才是正确写法)

3. 用表达式控制图层按时间间隔出现

选中所有100个美元图层,按住Alt(Win)/Option(Mac)点击图层「入点(In Point)」的码表图标,添加以下表达式:

方式1:固定秒数间隔

// 自定义间隔时间(单位:秒),比如0.5就是每半秒出现一个
interval = 0.5;
// 按图层索引计算入点:第1个图层在0秒出现,第2个在0.5秒,以此类推
(index - 1) * interval

方式2:按帧数间隔(适合固定帧率项目)

如果想用帧数控制(比如每12帧出现一个,24fps下就是0.5秒),把表达式改成:

// 自定义间隔帧数
frame_interval = 12;
// 转换为时间:帧数 ÷ 帧率
interval = frame_interval / thisComp.frameRate;
(index - 1) * interval

方式3:用控制器滑块灵活调整间隔

想要随时修改间隔时间不用改表达式的话:

  • 新建一个Null对象,命名为「时间控制器」
  • 给Null添加「滑块控制」效果,命名为「出现间隔(秒)」,设置默认值(比如0.5)
  • 把入点表达式改成:
interval = thisComp.layer("时间控制器").effect("出现间隔(秒)")("滑块");
(index - 1) * interval

之后拖动滑块就能实时调整图层出现的时间间隔,非常灵活。

内容的提问来源于stack exchange,提问作者Raphael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:52:56