小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
wiggle 表达式系列
简单 wiggle
wiggle(5,10)
- 第一个数字 5 定义了你的图层每秒摆动的时间。这种情况下它在 1 秒内移动 5 次
- 第二个数字 10 定义了它上下移动的大小在这个情况下是 10 像素
效果图
表达式
wiggle(8,120)
开始&结束 wiggle 表达式
用滑块控件你可以很容易地控制你的摆动开始和停止运动
效果图
表达式
wiggle(thisComp.layer("Null 1").effect("Slider Control")("Slider"),10)
Hold wiggle 表达式
如果你想暂停你的摆动,这个表达应该可以做到。代码允许你在第 100 帧停止摆动
效果图
表达式
stopFrame = 100;
t = Math.min(time,framesToTime(stopFrame));
wiggle(13,20,1,.5,t)
wiggle 垂直表达式
使用这个 Wiggle 表达式,您可以在 Y 轴上进行垂直动画。
效果图
表达式
org=value; temp=wiggle (8,40);
[org[0],temp[1]];
wiggle 水平表达式
这是在 X 轴上水平摆动的表达式。
效果图
表达式
org=value; temp=wiggle (5,120);
[temp[0],org[1]];
wiggle 深度(z 轴)表达式
将你的图层更改为 3D 图层,并使用这个表达式在 Z 轴上摆动。
效果图
表达式
a =wiggle(0,0);
b =wiggle(0,0);
c = wiggle(5,95);[a[0],b[1],c[2]]
均匀缩放 wiggle 表达式
这个表达允许你按比例缩放你的图层。
效果图
表达式
w = wiggle(5, 80);
[w[0],w[0]]
无缝循环 wiggle 表达式
这个 wiggle 表达式允许你完美地循环。只是不要忘记根据你的合成时间轴调整 loopTime 。
效果图
表达式
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)