AE表达式|循环抖动表达式代码

AE表达式|循环抖动表达式代码

抖动循环(Wiggle Loop)AE表达式

每隔几秒钟进行一次完美的抖动循环——非常适合循环标题、GIF、回旋动画或模板中的可重复运动。

// 抖动移动的速度(每秒)  
wigglesPerSecond = 2;  

// 属性移动的幅度(以像素、度数等为单位)  
wiggleAmount = 40;  

// 循环长度(以秒为单位)  
loopTime = 3;  

// 循环内的时间(每 'loopTime' 秒重置)  
current = time % loopTime;  

// 采样两个抖动状态:一个是当前时间的抖动,一个是完整循环之前的抖动  
start = wiggle(wigglesPerSecond, wiggleAmount, 1, 0.5, current);  
end = wiggle(wigglesPerSecond, wiggleAmount, 1, 0.5, current - loopTime);  

// 在这两个抖动状态之间进行插值,形成完美的循环  
linear(current, 0, loopTime, start, end);

应用位置

将此表达式应用于位置(Position)、旋转(Rotation)、缩放(Scale)或任何可动画化的属性,通常在这些地方可以使用抖动效果。

适用场景

  • 循环动画标题
  • GIF 或无缝导出
  • 需要可重复运动的模板

工作原理

time % loopTime 当时间达到循环长度时,会将时间重置为 0,从而创建循环周期。

我们采样两个 wiggle() 调用:

  • 一个是在当前循环时间
  • 另一个是在完整循环之前

然后使用 linear() 在这两次采样之间进行插值,以便动画平滑地循环。

这种方法保持了 wiggle() 的自然随机感觉,但每个 loopTime 秒都有一个整洁的循环效果。

未经允许不得转载:Aemuban.com » AE表达式|循环抖动表达式代码
分享到:
赞(0) 打赏

评论抢沙发

评论前必须登录!

搜索验证

请完成计算后继续搜索

答案错误,请重试