表达式基础

1.添加表达式
在属性值的秒表上,按住Alt (mac就是option)+鼠标左键单击或者按Alt+Shift+= (Windows) 或 Option+Shift+= (Mac OS)选择该属性并选择“动画”>“添加表达式”

2.复制批量粘贴表达式
1.在属性值上右键仅复制表达式
2.选中要粘贴的图层,按下属性快捷键
3.option+cmd+a全选这些属性
4.cmd+v粘贴表达式

表达式规则

1.格式
[位置]: [x, y]
[不透明度]:比如0,比如50,比如100。
[填充颜色]:[r, g, b, alpha]

2.语句
表达式是由一行一行的语句构成的,每个语句以一个分号结尾,当然AE表达式允许你忽略分号,不过在每个语句后面添加分号,是一个好的习惯。//表示注释;所有输入的字符都必须是英文状态下的;输入“”可以引用中文;

常用表达式

1.time*360
如果加在旋转上:一秒钟旋转360度(别的属性也可以应用)
image.png

2.表达式链接
跟链接的属性没有任何关系,只跟参数有关(必须链接到对应的参数)
AE中的链接参数.XX[0,1,2]分别对应着x,y,z

3.Value
即[不加表达式情况下]当前该属性的值

toFixed(num):
比如我们要小数点后2位就可以这样写
toFixed(2);
驼峰式

可用+增加文本内容

4.index
a=360/thisComp.numLayers
a*(index-1)

可以添加空对象和滑块来做出更丰富的效果

每个图层都有自己对应的index,根据index不同,我们可以给不同图层做出不同的效果
image.png

5.wiggle(freq, amp):
摆动函数,第一个参数freq指的是摆动的频率,度率数值越大,晃动越激烈
第二个参数amp指的是摆动的幅度幅度数值越大,晃动范围越广
image.png

6.valueAtTime(time-0.02)
返回属性在指定时间(以秒为单位)的值

使用代码的方式做错帧
thisGomp.layer(index-1).transform.xPosition.valueAtTime(time-0.02)

在做角色动画时,可以只做一只腿的动作循环
然后使用代码的方式做错帧,做出另外一只腿的动作循环
image.png

7.循环表达式
1.loop的类型

  • loopln循环表达式作用的时间段为从图层的入点一直到图层的最后一个关键帧。

image.png

  • loopOut 循环表达式作用的时间段为从图层的第一个关键帧一直到图层出点。

image.png

1.loopOut(type = “cycle”, numKeyframes = 0)
正常的循环,播放到最后一帧后又从头开始播放,循环该动画选定区域

2.loopOut(type = “pingpong”, numKeyframes = 0)
往复运动,正向播放动画,然后再倒着播放,如此往复;

3.loopOut(type=offset”, numKeyframes = 0)
从结束的位置开始循环该动画选定的区域,会产生偏移;

4.loopOut(type = “continue”)
以最后一个关键顿的速度跟方向,继续运动下去.

numKeyframes = 0可以控制循环的区域

“0”表示循环所有的关键帧;
“1”表示循环从最后一帧到倒数第二帧这个区间的关键帧;
“2”表示循环从最后一帧到倒数第三帧这个区间的关键帧;
以此类推,

从后往前数分别是0.1。。。(两个关键帧之间为一段 )