AE常用表达式与应用
1.slider表达式的运用------------
通过expression control中的 slider控制 一个定值变化 假如控制西班牙英语怎么说
变化的随机位移然后让其停止 slider=effects("SliderControl")("Slider") 然后对slider做函数运算 例如随机函数
wiggle(8,slider)这样就可以控制表达式。也可以控制摄像机镜头的调整。
2.wiggle的运用--------------- 假如在做随机函数的控制时 wiggle(5,40)[0]
中括号里面的数值0表示---XYZ在AE中定义的是 X轴用0表示 Y用1表示 Z用2表示。 5是每秒抖动5次,40是每次抖动40个像素。
通常和摄像机的position(位移) 和 point of interest(聚焦点)一起使用,对摄像机的镜头进行调整。
抖动表达式还可以和mask的移动,人偶工具的节点进行抖动的设置。
3.smooth表达式的运用: 平滑表达式,这是可以使素材进行平滑效果的表达式 smooth(),括号里面的默认值是0.2和5.就是smooth(0.2,5) 0.2表示--每多少秒进行平滑。5表示--采样率,采样率越高越平滑。 平滑表达式在跟踪素材时会常常用到。
4.random表达式的运用: 随机表达式random()
random(1,10)是在1到10之间进行随机值的抽取,随机抽取的最小值是1,最大值是10 [adientOverlay.effect[0],random(5,15)]
这句表达式的意思是在layer的gradientOverlay的第一个数值不改变,effect[0]就是代表gradientOverlay的x值,
effect[1]是第二个值,即是y值。在这里 x值不变,y值是random(5,15)
5.loopOut表达式的运用: 循环表达式
基本格式:loopOut(type="类型",numkeyframes=0)
loopOut(type="pingpong",numkeyframes=0)这是个兵乓的类型的循环,就像那样兵乓球的
作用来使用。&网络研修总结
nbsp;
loopOut(type="cycle",numkeyframes=0)这是个圆形的类型的循环,就是对一组动作进行循环。
loopOut(type="continue")这是计算机继续计算未完成的运动。
numkeyframes=0是循环的次数,0为无限循环,1是只循环一次,2是循环2次,如此类推。
6.反弹表达式
k=100; // 反弹最终结果
a=5; // 反弹阻力
b=50; //反弹变化时间
x=k*(p(-a*time)*s(b*time));
[x,x]
9.弹性表达式
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){n--;}}
if (n == 0){t = 0;}el{
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)/p(decay*t);
}el{value;}
这里要更改的就三个后面的数值
amp=振幅
freq=频率
decay=衰减或者叫阻力
10.数字递增表达式
StartNumber=1;
EndNumber=1000;
StartTime=1;
EndTime=3;
t=linear(time,StartTime,EndTime,StartNumber,EndNumber);
Math.floor(t)
用法:输入到文字图层的源文本
11.线性表达式
linear(t, value1, value2) {t 是一个数, value1 和 value2 是一个数或数组}当t的范围从0到1时,返回一个从value1到value2的线性插值。当 t <= 0时返回value1,当 t >= 1时返回 value2
linear(大班保育工作总结
t, tMin, tMax, value1, value2) {t, tMin和 tMax are 数, value1和value2 是数或数组} 当 t <= tmin时返回value1;当t >= tMax时,返回value2 ;当tMin < t < tMax 时, 返回 value1和value2 的线性联合
12.time 时间 表达式
13.timeRemap 抽帧猕猴桃的禁忌
timeRemap*数值,这里数值以帧为单位
用法:在素材上鼠标右键时间重映射上输入timeRemap*10
14.倒计时表达式:
a=linear(time, 4, 6, 1000, 0);
Math.floor(a)
公式
a=linear(time, 开始变化鸡蛋花
的时间, 结束变化的时间, 开始变化时的数字, 结束变化的数字);
//将a复制linear变化的结果Math.floor(a) // 向下取整(a)
后期持续更新
整理群号:563104062
更多学习资源分享请加群询问
表达式书写
P 位置 例子:[100,100] 如果打开三维开关则写为 [100,100,300]
如果想得到3维效果,[100,100,index*5],然后直接复制该图层很多。这里面的数值都可以通过滑块儿来控制。
1.运动回弹 Keyframe Overshoot:
freq = 3;
decay = 5;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
amp = velocityAtTime(key(n).time - .001);
w = freq*Math.PI*2;
value + amp*(Math.sin(t*w)/p(decay*t)/w);
}el
value
2.物体下缀重力回弹 Keyframe Bounce Back:
e = .7;
g = 5000;
nMax = 9;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time) n--;
}
if (n > 0){
t = time - key(n).time;
v = -velocityAtTime(key(n).time - .001)*e;
vl = length(v);
if (value instanceof Array){
vu = (vl > 0) ? normalize(v) : [0,0,0];
}el{
vu = (v < 0) ? -1 : 1;
}
tCur = 0;
gDur = 2*vl/g;
tNext = gDur;
nb = 1; // number of bounces
while (tNext < t && nb <= nMax){
vl *= e;
gDur *= e;
tCur = tNext;
tNext += gDur;
nb++
}
if(nb <= nMax){
delta = t - tCur;
value + vu*delta*(vl - g*delta/2);
}el{
value
}
}el value
3.循环表达式