几个最常用的 AE 表达式动画详细解答

系统推荐 更新:2020-03-25 11:16:08

几个最常用的 AE 表达式动画详细解答

一个简单的表达式可能就能很快速的完成复杂的动画,在AE软件的学习和使用中,表达式的应用非常广泛,这期教程为大家提供了多个常用表达式的使用,操作,及编写,希望对你的表达式学习有一定帮助。


点击查看:AE常用表达式新手入门讲解+视频教程+工程文件


1.弹性表达式 Bounce 



代码:

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 && t < 1){

v = velocityAtTime(key(n).time - thisComp.frameDuration/10);

amp = .06;

freq = 3;

decay = 5.0;

value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

}else{

value;

}



使用方法:

在ae中创建有两个关键帧的动画 然后按住alt单击码表激活表达式输入栏,输入以上代码即可 (开启运动模糊效果更好喔) 



2.抖动表达式 wiggle


使用方法:

wiggle就不用多说了吧,很常用,代码为 wiggle(x,y)

第一个参数X表示抖动频率 即1秒抖动多少次

第二个参数表示抖动幅度 具体需要根据你视频片段确定参数

PS:记得把视频稍微放大一些以减少因为抖动导致的黑边现象 



3. 挤压与伸展 效果类似于果冻


代码:

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]

使用方法:

直接施加到你的目标图层上,动画参数可以直接修改上述表达式内的数值。

请看// 后面的内容,那是对这一行代码的解释,英文不好的童鞋请借助词典。

这个表达式可以应用在给视频里的点击事件做出回应,突出某个元素效果。 



4. 运动拖尾



代码:

delay = 5; //number of frames to delay

d = delay*thisComp.frameDuration*(index - 1);

thisComp.layer(1).position.valueAtTime(time - d)

使用方法:

先制作一些运动的关键帧,然后alt点击码表激活表达式输入栏,把上述代码复制进去,接着复制几层你要做运动的图层,如果动画不如意可以直接更改参数 。

opacityFactor = .75;

Math.pow(opacityFactor,index - 1)*100

这两行代码是针对不透明度做拖尾的。直接复制到不透明度的表达式栏里即可 



5. 计时&倒计时


代码:

//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删掉即可。

举报 © 著作权归作者所有
AE
写了 1229 字,被 1 人关注