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

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

提交需求

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

0/20
0/200

设计大赛

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

提交完成
感谢您对UI中国的支持和信赖!
AE表达式:回弹
0.0°
2014-12-20 自译外文 经验/观点 原作者: Steven Harley 举报 36287 328 155 33

在UI动效制作中,设计者会经常使用到AE。利用AE组织界面流程,制作动态原型,可以极大的加速我们的工作流程。

AE具备一个强大的功能,那就是表达式,通过表达式,建立图层属性与关键帧的相关关系,无需手动K帧,便可以制作出动画效果。本文将讲解表达式基础,表达式的含义,并传授一些调整表达式的方法,以满足你的工作需求。

那么,什么是表达式呢?

对于经常阅读Thougtbot的读者来说,他们可能会对表达式非常熟悉。因为大部分Thoughtbot的读者对于web上使用的脚本非常熟悉,这些脚本除了能够演化成应用本身,还可以定义元素的属性和行为。Adobe基于JavaScript构建了表达式,因此对于JS使用者来说,他们能很快上手表达式。当然,在有些情况下,制作原型动效不一定会用到表达式,但是我发现,对于一些可复用效果,比如说惯性和弹性,使用表达式就非常的高效。

对于新手来说,他们往往不知道哪些表达式才能达成他们想要的效果。实际上,有些表达式早就写好了等着各位去复用。Dan Ebberts对此贡献良多,在他的网站 motionscript.com 中,他详细的解析了表达式,并讲述了表达式高效使用的方法,非常适合AE进阶者。


今天,我们就来创建一个比较流行的惯性表达式。通过在正弦函数中插入 振幅(amplitude),振频(frequency),decay(衰减)等变量,让运动数值稍微超出最终目标值,然后再通过振动返回最终目标值。你只需复制粘贴下面的代码,编辑上述变量,便可达成此动效。


nearestKeyIndex = 0;


if (numKeys > 0){

  nearestKeyIndex = nearestKey(time).index;

  if (key(nearestKeyIndex).time > time){

    nearestKeyIndex--;

  }

}


if (nearestKeyIndex == 0) {

  currentTime = 0;

} else {

  currentTime = time - key(nearestKeyIndex).time;

}


if (nearestKeyIndex > 0 && currentTime < 1) {

  calculatedVelocity = velocityAtTime(key(nearestKeyIndex).time - thisComp.frameDuration / 10);

  amplitude = 0.1;

  frequency = 2.0;

  decay = 4.0;

  value + calculatedVelocity * amplitude * Math.sin(frequency * currentTime * 2 * Math.PI) / Math.exp(decay * currentTime);

} else {

  value;

}


在AE中添加表达式


现在,建立一个位置属性动画,K 2个帧就好。创建完关键帧后,右键单击第二个关键帧,关键帧辅助中,选择缓动。当然,也可以不选择缓动,但是缓动可以减缓最后下降的速度,让效果看起来更好。

下一步,按住'alt'左击位置属性旁边的秒表开启表达式,然后将表达式复制进去。

效果如下

如果运动感不够,加点运动模糊,能够让动画看起来更流畅。

技法掌握了,那么可以试着调节变量。

减少振频  增加衰变  减少振幅 增加振频  减少衰变 增加振幅


通过表达式,只需2个关键帧就可以打造栩栩如生的动画效果。各位可以举一反三,为其他属性添加此回弹效果。

更新:2014-12-20

收藏

328人已收藏

MartinRGB

http://www.MartinRGB.com

  • 234

    作品

  • 1.7w

    粉丝

  • 413

    关注

  • MartinRGB.com
  • Icon Freebie - Code
  • 实验系列II —— Music App For Tv/Pad
  • Private Trainer 引导页实现
相关标签

    猜你喜欢

      2014-12-20 自译外文 经验/观点 原作者: Steven Harley 举报 36287 328 155 33

      AE表达式:回弹

      0.0°

      你确定要举报AE表达式:回弹

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

      0/200

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

      点击上传附件

      对谁可见:

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

      您确认要推荐?

      该作品发布时间:2014年12月20日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      155
      328
      33

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

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

      登录

      手机号

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

      登录
      第三方账号登录