恭喜你成为UI中国推荐设计师 (详情)
//百度统计 20220402 uicn

您的意见是我们 UI 中国进步的动力!
点击立即反馈按钮,发表您的意见!
立即反馈
QQ群反馈
您也可以加入UI中国官方反馈群进行反馈!
群号:302892100
备注:反馈问题后@管理员能让我们及时了解您的意见

提交需求

赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!

0/20
0/200

设计大赛

  • 设计大赛
  • 发布广告
  • 发布招聘
  • 其它需求

提交完成
感谢您对UI中国的支持和信赖!
10个常用AE表达式分享
0.0°
2021-07-10 原创文章 经验/观点 举报 22649 29 89 0

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

更新:2021-07-10

收藏

29人已收藏

子沐design

每一次的尝试都是为将来的蜕变而准备

  • 42

    作品

  • 334

    粉丝

  • 30

    关注

  • Archimesh-好用的3D平面插件
  • Blender导入svg优化技巧
  • Blender基础入门之简约轻量场景搭建
  • 做数据可视化你不得不知道的宝藏网站
相关标签

    猜你喜欢

      2021-07-10 原创文章 经验/观点 举报 22649 29 89 0

      10个常用AE表达式分享

      0.0°

      你确定要举报10个常用AE表达式分享

      如果查出恶意举报,十天内禁止提交任何举报申请。

      0/200

      上传证据: 超过10M的附件请使用网盘地址

      点击上传附件

      对谁可见:

      全部设计师
      • 全部设计师
      • 推荐设计师和认证设计师

      您确认要推荐?

      该作品发布时间:2021年07月10日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      89
      29
      0

      账号或密码错误,请重新输入

      账号或密码错误,请重新输入

      登录

      手机号

      发送验证码 120s 验证码错误

      登录
      第三方账号登录