更多 >人气排行

因为信仰所以坚持【素材】

分享内容为模板中所用到的素材,喜欢的朋友可以下载..... 因为一些原因,不能分享

利用会声会影和PS制作动态字幕琉璃效果

学习资料和视频教程回复即可下载 **** 本内容被作者隐藏 ****

会声会影&PS协同设计动态相框素材(素材

利用会声会影和PS设计素材以后经常能遇到,我们今天就先说一个2个例子,大家可以根据

查看: 123|回复: 0

ae表达式大全代码

[复制链接]
累计签到:126 天
连续签到:1 天
资源:
96
经验值:
18638
蓝宝石:
520
下载豆:
5966

活跃会员热心会员特殊成就突出贡献王者徽章摄影迷摄影之路社区帅哥AE爱好者会声会影热爱者最好沙发推广达人58之星社区美眉

发表于 2019-6-14 22:03:16 | 显示全部楼层 |阅读模式
我工作中总结的使用最多的AE表达式技巧,有些比较难的,要多多研究,仔细阅读
1.wiggle 抖动
wiggle(freq频率, amp振幅, octaves = 1细节, amp_mult = .5乘赋值, t = time)
用法wiggle(5,200)
2.random 随机
random(数值x,数值y)是在数值x到数值y之间进行随机值的抽取,随机抽取的最小值是x,最大值是y
用法:random(1,10)
gaussRandom(),有10%会跳出范围
seedrandom(随机的种子数,timeless) 1是ture 0是false
用法:
seedRandom(9, timeless = true);
random(20,100)
获得第9个随机数值并且不随时间变化。
每次复制后都会产生20到100的不同的随机数值。
noise -1到1的值
Example: noise(time3)10
区别noise关键帧之间有关联,更柔缓
3.loopOut 循环
loopOut(type=”循环类型”,numkeyframes=0从最后一个关键帧往前走开始循环,0代表无限,其他数字是重复的次数)
循环类型四种:
pingpong 如乒乓球一样来回运动
cycle 周而复始的来回运动
offset 叠加之前关键帧数值循环
continue延续属性变化的最后速度
用法:loopOut(type = “cycle”, numKeyframes = 0)
4.time 时间
valueAtTime(t)
延迟效果用法: 连接属性后边加上“.valueAtTime(time-(index-1)*0.1)”
5.timeRemap 抽帧
timeRemap数值,这里数值以帧为单位 用法:在素材上鼠标右键时间重映射上输入timeRemap10
6.index 图层序号
常见的就是把index丢到位置上做立体字,如
[transform.position[0]
,transform.position[1],index],复制很多层就是立体字了
丢到缩放上,如
[transform.scale[0]
+index,transform.scale[1]+index],复制很多层文字就慢慢变大了
其他参数可以自己尝试
7
length(vec)矢量的长度
length(point1, point2),两个点的长度
lookAt(fromPoint, atPoint)从一个向量看向另一个向量
应用:
a=thisComp.layer(“cycle”).transform.position[0]
b=thisComp.layer(“cycle 2”).transform.position[0]
length(a,b)
a和b分别使用拉索工具链接到两个圆形位置的属性X值,这样文本层就可以即时获取到两个圆形的间距。
8.线性表达式
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 的线性联合
clamp限定属性的数值变动范围。
clamp(value,value1,value2) 数值在value1,value2之间
v=clamp(t,0,1)
9函数表达式
Math.round会将数值四舍五入取整数 如Math.round(11.5461)=12
若想自定义精确度 可以用 Math.round(xy)/y (x和y都为一个任意数值) Math.floor 就是向下取整 Math.ceil(value)就是向上取整 Math.pow(底数,幂指数)10^6=Math.pow(10,6) Math.sin 解析 n=Math.sin(time1+2)*3+4;
1频率2左右偏移3振幅4上下偏移
Math.exp(value) E为底数多少次方
Math.log
Math.abs取绝对值
Math.sqrt(value)开方
Math.PI 3.1415926
Math.min(value1, value2)
10
nearestKey(5)离最近的关键帧是什么值就返回什么值
11
sampleImage(point, radius = [.5, .5], postEffect = true, t = time)
12倒计时表达式:
在文字上的源文本上打下面的表达式
a=linear(time, 4, 6, 1000, 0);
Math.floor(a)
公式
a=linear(time, 开始变化的时间, 结束变化的时间, 开始变化时的数字, 结束变化的数字);
//将a复制linear变化的结果Math.floor(a) // 向下取整(a)
13.数字递增表达式
StartNumber=1;
EndNumber=1000;
StartTime=1;
EndTime=3;
t=linear(time,StartTime,EndTime,StartNumber,EndNumber);
Math.floor(t)
用法:输入到文字图层的源文本
14AE万能弹性表达式
amp = .1;
freq = 2.0;
decay = 2.0;
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);
value + vampMath.sin(freqt2Math.PI)/Math.exp(decayt);
}
else{value}
解析
15sourceRectAtTime通过获取图层内容块宽高的即时变化,将数值赋予其他属性
案例:如下图,我们想要绿色文字条与文字宽度始终保持一致,且当我们再增加文字的时候,文字条会跟随变宽
x=thisComp.layer(“cinemawk”).sourceRectAtTime().width;
[x,value[1]
]
16IF语句
If(条件){
结果1 ;
}
If(条件){
结果1
}else{
结果2
}
If(条件){
结果1 ;
}else if(条件2){
结果2;
}else{
结果3
}
注意:
一个if后面可以跟着无数个else if,但是只能跟着一个else,且必须在最后面。
{} 花括号后面不需要加分号。
if 和else if后面的括号里是判断的条件,常见的判断有以下:
1、a == 1 (判断a的值是不是等于1,切记是两个等于号)
2、a >= b (判断a的值是不是大于等于b)
3、 !(3 > 1) (!表示取反,因为3>1是true,所以取反之后这个条件是false)
4、flag (判断flag是布尔值true还是false)
5、0 (当判断条件是0,则表示false,若是0以外的其他数字,则表示true)
例子
if(effect(“复选框控制”)(“复选框”)==1)wiggle(5,50) else 0;
整个表达式的含义是:如果复选框==1(被选择),则wiggle表达式起作用,否则0(无效果)
//单行注释
/多行 注释/
\r是回车
名字用双引号
我就是我没什么好说的啊
您需要登录后才可以回帖 登录 | 立即注册 用百度帐号登录

本版积分规则

发布主题 快速回复 收藏帖子 返回列表 搜索 官方QQ群

让创业更简单

  • 反馈建议:sky@dushiol.cn
  • 工作时间:周一到周五 9:00-19:00
15899215772

关注我们