查看原文
其他

教程|做视频常用的6个AE表达式和效果演示

Moore JZCreative 2020-09-01

除了干货,其它什么也没有

职场

数据

新媒体

设计

极客

视频定制咨询:021 37218818


要问设计师最早接触代码是什么时候,恐怕很多同行都会说:AE 表达式。它能极大提升工作效率,而且应用又十分广泛,比如像如下之前 JZ 做这个音频能量球,其背景的晃动就可以通过表达式完成,无需反复对路径进行设定


https://v.qq.com/txp/iframe/player.html?vid=g1325894qg6&width=500&height=375&auto=0


而本文,JZ 要介绍行业内最常用的6种表达式和书写规范,希望各位视频新人能够有机会用到。当然这里还是简要说明表达式的开启方法:在选择好对应图层的相关属性后,按住 Option 或 alt 键并打下关键帧,你就可以正常使用表达式控件了。



如果你需要本文案例的 AE 工程,请查看文章底部。




1.Wiggle

正如上文音频能量球的背景摆动,Wiggle 在 AE 里是一个常用表达式。一个元件自由而自然的摆动很容易通过它搞定。在使用时,你需要填写入频次和强度具体参数。



需要注意的是,如果是二维图层,它会让目标在 x 和 y 轴方向摆动;三维图层则在 x、y、z 三个轴方向摆动。


Wiggle Expression
wiggle
( frequency , amount );




2.Wiggle One Dimension

当然,有时候你只希望在一个轴向上进行摆动,这时候可以用 Wiggle One Dimension,也就是对 Wiggle 增加一组额外申明内容。如果我们想将动画限制于 x 轴摆动,那就表达为 [w[0],value[1]];如果限制在 y 轴摆动,那就表达为 [value[0],w[1]];如果想将三维图层限制在 z 轴摆动,那就表达为 [value[0],value[1],w[2]]。


Wiggle One Dimension Expression
wiggle
( frequency , amount );
[w[0],value[1]]



3.Inertial Bounce

惯性弹跳顾名思义,常用于一个弹性物体落地后弹跳的路径效果,这比自己逐个打关键帧模拟“下落-弹跳-静止”的方法要准确且快捷地多。



在惯性弹跳表达式中,有三个参数可以自由调整。分别叫“amp”、“freq”和 “decay”。其中“amp”指首次弹跳高度,“freq”指弹跳速度,“decay”指弹跳衰减量。


Inertial Bounce Expression 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 = .05; freq = 4.0; decay = 2.0; value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t); }else{ value; }



4.loopOut

有了循环表达式,你就不必再通过反复添加关键帧,或者频繁复制图层来解决循环效果了。这个表达式的自定义要素是循环的类型,以及循环中关键帧的数量。



说到循环的类型,最常用的就是“cycle”型。它会在最后一个关键帧结束,然后从你选择的循环范围内第一帧再重新开始。此外,还有 “pingpong”, “offset”, 或 “continue”可以选择,它们的具体作用你可以点击文末的「阅读原文」按钮查看 Adobe 官方的 AE 表达式词汇手册。



而关键帧数量需要各位读者仔细理解它的含义。默认情况下它的数值为 0,AE 会选中图层从头到尾的全部帧。当你设置 1 时,循环区间变为最后一帧前的 1 帧到最后;设置为 2 时则是最后一帧前 2 帧到最后……以此类推。



而且如果你确实想使用(“cycle”,0)的默认值,你可以简写为 loopOut()即可。


loopOut Expression
loopOut
("cycle", 0);



5.Time

时间是 AE 中一个最重要的变量,它可以描述某些变化或运动,作为参数时通常以秒为单位。倘若我们把时间参数如果添加到一个旋转的物体上(例如秒针),它就会从初始位置开始每秒走动1度。如果我们想让旋转更快,只要乘以倍数即可。



所以,我们可以用它构造一个正确走时的钟,将秒针设置为 *200,分针设置为 *200、12 即可。

Time Expression
time*200




6.To Comp

最后 JZ 教大家向二维平面追加 3D 属性,你可以直接看下方动画案例理解它的作用。通过 To Comp 表达式,我们把“Null 1”图层的运动绑定到三维空间的球体上。

To Comp Expression
layer = thisComp.layer("Null 1")
layer.toComp([0,0,0])




用好表达式,你的 AE 制作效率会快捷很多。最后我们结合上述中的几个表达式,制作了如下一个有意思的画面▼





相信大多数都已经看懂了这些表达式的使用方法。如果你确实还需要参考的话,当然也可以前往我们正在内测的知识星球下载 AE 工程文件▼




作者

Jon Moore

上海中小企业研究所特约研究员

JZ多媒体解决方案签约UX设计师



视频定制咨询:021 37218818


其他你会感兴趣的内容

回复 排版阅读互联网文案排版教程

回复 P  S下载优质的滤镜插件资源

回复 配图学习图片素材的搭配方法

回复 H  5开启移动营销技术学习课

回复 广告看更多行业广告知识大全


H5、平面、视频等数字营销服务请致电

TEL:(021)3721 8818


客户案例:APEC 峰会 | 中国航天科技集团 | 香奈儿 | 肯德基(湖南) | 中国国际航空 | 湖北省电视台 | 河南卫视 | 浙江省人民广播电台 | 三生制药 | 交通银行 | 建设银行 | 真格基金 | 南方周末 | 上海闵行教育学院 | 牛津大学出版社 | 新东方集团 | 伟巴斯特 | 雪佛兰汽车 | 观致汽车 | 雷诺汽车 | TNS 新华信 | 高力国际|第一太平戴维斯|德国莱茵|盖茨基金会|追星集团



抱歉,除了干货,其他什么也没有。



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存