AE数字增长表达式

AE数字增长表达式

 次点击
16 分钟阅读

“表达式”是在ae中通过代码的方式实现动画的方法,能实现事半功倍的效果。

但对不会代码、初学ae的同学来说,哪怕是网上的教程复制代码粘贴过来也时常会报错,且找不到原因!以下为亲测可用、简单、常用的表达式代码,粘贴即用。

包含数字递增、随机变化,动画形变、抖动动画。

一、表达式的输入方法

不同的动画表达式输入在不同的地方。比如文本动画通过源文本层位移动画通过位置图层上的秒表来激活,比如形变动画通过缩放图层上的秒表来激活。

二、数字递增表达式

在数据可视化的动效中,经常会遇到数字递增的动效,可通过表达式快速实现。

1、数字递增表达式

StartNumber=1; 
EndNumber=100; 
StartTime=0; 
EndTime=6; 
t=linear(time,StartTime,EndTime,StartNumber,EndNumber);Math.floor(t) 
//StartNumber代表开始数字,EndNumber代表结束数字,StartTime代表开始时间,EndTime=3代表结束时间

2、数字递增表达式,每3位数有一个分割逗号,数字无限大(仅pc,mac版本不适用)

StartNumber=1; 
EndNumber=12345678; 
StartTime=0; 
EndTime=10; 
t=linear(time,StartTime,EndTime,StartNumber,EndNumber);Math.floor(t) 
Math.floor(t).toLocaleString()

3、数字递增表达式,每3位数有一个分割逗号,数字无限大,保留小数点(仅pc,mac版本不适用)

StartNumber=1;
EndNumber=12345678;
StartTime=0;
EndTime=10;
t=linear(time,StartTime,EndTime,StartNumber,EndNumber);
new Intl.NumberFormat('en-US', { minimumFractionDigits: 3, maximumFractionDigits: 3 }).format(t)

三、数字随机表达式

1、数字随机表达式,包含小数

random(20)             
//最大值不超过20,包括小数 
 
random(90,900)                             
//在90<数值<900之间随机改变,包括小数

019e4c619df4a011013f01cd8e72b2-fIbK.gif

2、数字随机表达式,整数

Math.round(random(10,100))      

//在10<数值<100之间随机改变整数

014037619df4a111013e67faffac91-zXeh.gif


3、补充:随机出现几组数字后,数后停在某个数字,比如用在彩票开奖

https://www.bilibili.com/video/BV13i4y1G7C4

01e06b619df4a211013f01cd31f00c-zUJD.gif

四、动作循环表达式

在动画制作中最直接的循环方式是复制关键帧,但比较麻烦且关键帧太多时易出错。通过给位置添加表达式后,即可循环动画。

1、动作循环表达式

numkeyframes=0

//数字是循环的次数,0为无限循环,1是最后两个关键帧无限循环,2是最后三个关键帧无限循环,

2、周而复始的循环

loopOut(type="cycle",numkeyframes=0)

3、类似像乒乓球一样的来回循环(关键帧动画制作时不需要回到初始置,停在最后一帧即可,会自动补间动画回到第一帧再循环)

loopOut(type="pingpong",numkeyframes=0)

五、变形动画表达式

在动画变形制作中最直接的方式是添加关键帧变形或者位移,可通过给形态、位置添加表达式,实现随机动画。

1、图形压缩拉伸表达式(比较像随机变形工具,比如小球弹性动画)

spd=10;maxDev=6;decay=1;t=time-inPoint;
offset=maxDev*Math.sin(t*spd)/Math.exp(t*decay);
scaleX=scale[0]+offset;
scaleY=scale[0]-offset;
[scaleX,scaleY]

//只更改第一行参数,spd代表挤压拉伸的速度,maxDev代表挤压拉伸的大小,decay代表衰减

2、图形抖动表达式(比如用在铃铛摇晃,表情包紧张发抖的动效)

wiggle(100,10)

// wiggle(freq,amp)  freq=频率(设置每秒抖动的频率);amp=振幅(每次抖动的幅度)

PS:如果粘贴代码后报错,建议切换到英文输入法手动将符号类文本重新输入一遍,还是报错的话大概率是mac系统、中文版本等原因。欢迎大家补充更多简单易用的表达式呀~

© 本文著作权归作者所有,未经许可不得转载使用。