返回

超越与反弹:玩转AEJoy表达式系列(一)

前端


动画是一个神奇的世界,它能将我们的想象变为现实,也能让我们的枯燥生活变得更加生动有趣。而AEJoy表达式则是一个强大的工具,它能帮助我们创建出各种复杂的效果,从而让我们的动画更加精彩。

在本文中,我们将介绍两个AEJoy表达式:超越和反弹。这两个表达式都是基于正弦波的,但它们却能产生截然不同的效果。超越是一个衰减的正弦波振荡,它通常用于模拟弹簧或绳索的运动。而反弹则是一个基本的反弹表达式,它通常用于模拟物体从表面反弹的效果。


超越

超越表达式是一个基于正弦波的衰减振荡表达式。它通常用于模拟弹簧或绳索的运动。超越表达式的语法如下:

overshoot(amp, freq, decay, phase)

其中:

  • amp:振幅,即最大值。
  • freq:频率,即周期内的振荡次数。
  • decay:衰减,即振幅随时间减少的速率。
  • phase:相位,即振荡的起始位置。

我们可以通过调整这些参数来改变超越效果。例如,我们可以增加振幅来使振荡更加剧烈,或者我们可以增加衰减来使振荡更加平滑。

反弹

反弹表达式是一个基本的反弹表达式。它通常用于模拟物体从表面反弹的效果。反弹表达式的语法如下:

bounce(amp, freq, decay, phase)

其中:

  • amp:振幅,即最大值。
  • freq:频率,即周期内的振荡次数。
  • decay:衰减,即振幅随时间减少的速率。
  • phase:相位,即振荡的起始位置。

反弹表达式与超越表达式非常相似,但它有一个额外的参数:弹性系数。弹性系数控制物体反弹的程度。弹性系数越高,物体反弹的程度就越大。

示例

让我们通过一个示例来演示超越和反弹表达式的用法。我们创建一个简单的动画,其中一个物体从表面反弹。

首先,我们创建一个新的AEJoy项目。然后,我们创建一个新的图层,并将一个圆形对象添加到图层中。

接下来,我们为圆形对象添加一个旋转动画。我们在旋转属性中输入以下表达式:

overshoot(100, 1, 0.1, 0)

这个表达式将创建一个超越效果,其中振幅为100,频率为1,衰减为0.1,相位为0。

然后,我们为圆形对象添加一个位置动画。我们在位置属性中输入以下表达式:

bounce(100, 1, 0.1, 0)

这个表达式将创建一个反弹效果,其中振幅为100,频率为1,衰减为0.1,相位为0,弹性系数为1。

最后,我们播放动画。圆形对象将开始旋转并从表面反弹。

结语

超越和反弹表达式是AEJoy表达式中非常强大的两个表达式。它们可以帮助我们创建出各种复杂的效果,从而让我们的动画更加精彩。

在本文中,我们介绍了超越和反弹表达式的语法和用法。我们还通过一个示例演示了如何使用这两个表达式来创建动画。希望本文对您有所帮助。