AE表达式

emmm…. 教程还是边看边整理的好,就怕自己不带脑子

AE表达式整理

基本层级关系

thisComp.layer(“layerName”).propertyies

index

二维转三维 position表达式: value + [0, 0, index]

slider

可以理解为一个可以赋值的变量,然后将这个变量放置于表达式中,用于批量控制

time

time就是合成窗口左上角的时间值

posterizeTime(表达式页面的Global中)

posterizeTime(帧速率)
按指定的速率显示动画

wiggle

wiggle(freq, amp) 【频率, 幅度】
wiggle返回值不一定是数字,直接写在属性的表达式框框里会返回对应的数据格式的

interpolation

interpolation(time, tmin, tmax, val1, val2)
在time的时间段内 tmin - tmax之间这段时间里执行动画属性从val1-val2的动画
time也可以为某些运动数值的变化

random

random(max) 0~max
random(min, max) min~max

Math库

和js中的功能基本一致

clamp

clamp(property, min, max)
限制某一属性值在某一范围之内

loop

loopIn
在关键帧之前运行关键帧动画
loopOut
在关键帧之后继续运行关键帧动画

参数 1 string

  • circle
    重复执行
  • pingpong
    往复执行
  • continue
    相当于动画的无限延长(根据最后两个关键帧的动画)
  • offset
    也是动画的无限延长(但是根据的是前面整个动画的运动趋势继续下去,区别于continue)

参数 2 number

numkeyframe 重复帧的区间 1的话就是根据最后一个关键帧进行loop计算,2就是最后两个关键帧帧,0就是所有啦

在loopOutDuration()中 参数2 指的是最后几秒(s)而不是最后的几个关键帧

speed

property.speed 获得当前属性变化的速度()
property.speedAtTime(time) 获得当前属性在某一时间刻度的速度

key

property.key(num) 获得某一属性第num关键帧的相关信息

  • value 当前的值
  • time 关键帧对应的合成时间
  • index 就是指第几个关键帧

marker (shift+num添加关键帧,ctrl+click去掉关键帧)

comp.marker.key(num)
获得第某个标记的信息(双击标记中的信息)

sourceRectAtTime

comp.layer(‘layerName’).sourceRectAtTime(time, false).property
这个例子中是获得了形状图层中content的属性 没太懂