wiggle是我们平时使用频率较高的表达式之一,但我们常常有一个疑惑:在循环动画中如果加入了wiggle,动画首尾的衔接可能不够自然,会产生卡顿感。
在合成中我给小球的位置打上wiggle(1,110)我们来预览一下结尾处的动画。

要解决这个问题,我们可以优化一下wiggle的使用,将寻常的wiggle()改为以下的表达式:
freq = 1;
amp = 110;
loopTime = 3;
t = time % loopTime;
wiggle1 = wiggle(freq, amp, 1, 0.5, t);
wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
linear(t, 0, loopTime, wiggle1, wiggle2)
在表达式中,freq和amp分别代表频率和振幅,loopTime则是该合成中wiggle将会循环多少次。
我们用了time和linear来同时控制晃动,以达到首尾衔接的循环效果。
预览一下,动画显得顺畅多了。

今日份的表达式,你学会了吗?
相关阅读:
macos
Windows
m系列