每人每天仅限5票,快给你心仪的作品鼓励的一票。
投票1、时间表达式time
time表示时间,以秒为单位,time*n =时间(秒数)*n (若应用于旋转属性,则n表示角度);
例如对某一物体按照时间来进行旋转,time表示1s旋转1度,time*30则表示1s旋转30度。
2、抖动表达式wiggle
wiggle(freq, amp, octaves = 1, amp_mult = 0.5, t = time)
freq=频率(设置每秒抖动的频率);amp=振幅(每次抖动的幅度);octaves=振幅幅度(在每次振幅的基础上还会进行一定的震幅幅度,很少用);amp_mult=频率倍频(默认数值即可,数值越接近0,细节越少;越接近1,细节越多);t=持续时间(抖动时间为合成时间,一般无需修改);一般只写前两个数值即可;
例如在一维属性中,为位置属性添加wiggle(10,20),则表示图层每秒抖动10次,每次随机波动的幅度为20;若在二维属性中,为缩放添加n=wiggle(1,10);[n[0],n[0]],则表示图层的缩放XY在每秒抖动10次,每次随机波动的幅度为20;若在二维属性中,想单独在单维度进行抖动,需要将属性设置为单独尺寸后添加wiggle(10,20),表示图层的缩放X轴在每秒抖动10次,每次随机波动的幅度为20。
3、索引表达式index
对物体进行重复复制并进行一定间隔的位移、缩放、旋转、不透明度等;
例如对圆环按相同大小进行放大可使用表达式:[200+(index-1)*35,200+(index-1)*35];200为圆环初始值,index代表复制的第几个图层,*35代表大小加35个像素;
4、循环表达式loopin&loopout
loopOut(type=”类型”,numkeyframes=0)对一组动作进行循环
loopOut(type=”pingpong”,numkeyframes=0)是类似像乒乓球一样的来回循环;
loopOut(type=”cycle”,numkeyframes=0)是周而复始的循环;
loopOut(type=”continue”)延续属性变化的最后速度,
loopOut(type=”offset”,numkeyframes=0)是重复指定的时间段进行循环;
numkeyframes=0是循环的次数,0为无限循环,1是最后两个关键帧无限循环,2是最后三个关键帧无限循环,以此类推
5、value表达式
在当前时间输出当前属性值(更多的是结合其他表达式一起使用)
若对位置属性添加表达式为value+100,则位置会在关键帧数值的基础上对X轴向右偏移100(正数向右侧,负数像左侧);若想控制Y轴的位置属性,则可对位置属性进行单独尺寸的分割,从而可单独控制Y轴(正数向下,负数向上)
6、随机表达式Randow
random(x,y)在数值x到y之间随机进行抽取,最小值为x,最大值为y;
例如为数字源文本添加表达式random(10,100),则数据会在10<数值<100之间随机改变(若希望数字随机变化为整数则应添加表达式为Math.round())
7、弹性表达式
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){n–;}}
if (n == 0){t = 0;}else{
t = time – key(n).time;}
if (n > 0){
v = velocityAtTime(key(n).time – thisComp.frameDuration/10);
amp = .03;
freq = 2.5;
decay = 4.0;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{value;}
amp表示振幅,freq表示频率,decay表示衰减
也可以通过motion2插件快速实现:
8、反弹表达式
k表示反弹最终结果,a表示反弹阻力,b表示反弹变化时间
例如:k=500; a=8; b=30; x=k*(1-Math.exp(-a*time)*Math.cos(b*time));[x,x](根据不同情况调节kab的数值即可)
9、挤压与伸展
maxDev = 13; // max deviation in pixels
spd = 30; //speed of oscillation
decay = 1.0; //how fast it slows down
t = time - inPoint;
x = scale[0] + maxDev*Math.sin(spd*t)/Math.exp(decay*t);
y = scale[0]*scale[1]/x;
[x,y]
spd表示挤压拉伸的速度,maxDev表示挤压拉伸的大小,decay表示衰减
10、计时
//Define time values
var hour = Math.floor((time/60)/60);
var min = Math.floor(time/60);
var sec = Math.floor(time);
var mili = Math.floor(time*60);
// Cleaning up the values
if (mili > 59){ mili = mili - sec*60; }
if (mili < 10){ mili = "0" + mili; } if (sec > 59){ sec = sec - min*60; } if (sec < 10){ sec = "0" + sec; } if (min >= 59){ min = min - hour*60; } if (min < 10){ min = "0" + min; }
// no hour cleanup
if (hour < 10){ hour = "0" + hour; }
//Output
hour + ' : ' + min + ' : ' + sec + ' : ' + mili;
使用方法:在ae里创建一个文字图层 然后在源文本(source text)里键入即可
然后他就会以合成的长度开始计时 如果想增加计时的区间只需改变合成长度即可
如果你想要制作倒计时效果 需要先把该文字图层预合下
然后选中图层 右键—>时间—>时间反转 即可
当然你可以先把文字的样式制作的好看一些 这不影响内容表达式的实现
如果你只需要显示到分钟 可以在最后一行代码 output 把hour删掉即可
欢迎你与我留言分享更多的设计技巧和心得!
个人公众号:子沐的设计笔记
Powered by Froala Editor
每人每天仅限5票,快给你心仪的作品鼓励的一票。
投票
发表评论