介绍
wiggle的同时,再引用loopOut机制
使用方法
新建一个纯色图层100*100(其他图层都行,这是示例)
在图层的位置属性K2帧,比如从左下到右上
在位置属性添加下面的表达式即可
表达式
freq = 2; //设置频率:1秒2次
amp = 200; //设置振幅:200
myProporty = transform.position//设置要循环的属性
firstKeyTime = myProporty.key(1).time
lastKeyTime = myProporty.key(myProporty.numKeys).time
loopTime = lastKeyTime - firstKeyTime; //wiggle的循环周期
t = time % loopTime;
wiggle1 = wiggle(freq, amp, 1, 0.5, t+firstKeyTime);
wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime+firstKeyTime);
linear(t, 0, loopTime, wiggle1+loopOut("cycle"), wiggle2+loopOut("cycle")) - value //修改循环方式
cycle 循环后 从头开始循环 | pingpong 来回循环 | continue 以结束点作为起点,继续循环 | offset 以最后一个点的速度持续下去,直线下去哦 |
图放错了 有空补 | |||
作用范围
跟loopOut一样,从第一个关键帧往右,围绕两个关键帧进行循环,看图像就知道了。向前循环用loopIn
其他说明
1.可以修改抖动频率、抖动振幅、应用的属性。(表达式前3行)以及循环方式(表达式最后一行)
2.由于只有俩关键帧,continue与offset效果没啥差别,多关键帧可以自己研究下
其他:透明度随机频闪
freq = 2; //频率:1秒2次
amp = 200; //振幅:200
myProporty = transform.opacity
firstKeyTime = myProporty.key(1).time
lastKeyTime = myProporty.key(myProporty.numKeys).time
loopTime = lastKeyTime - firstKeyTime; //wiggle的循环周期
t = time % loopTime;
wiggle1 = wiggle(freq, amp, 1, 0.5, t+firstKeyTime);
wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime+firstKeyTime);
linear(t, 0, loopTime, wiggle1+loopOut("cycle"), wiggle2+loopOut("cycle"))