温馨提示:本站为童趣票务官方授权演出订票中心,请放心购买。
你现在的位置:首页 > 演出资讯  > 儿童亲子

Ae:表达式应用举例

更新时间:2025-03-22 10:51  浏览量:5

通过几个最常用的属性及函数(方法)来了解 After Effects 表达式的使用。

有关表达式语法基础,请参阅:

1、时间相关

time

返回合成的当前时间值。以秒为单位,数值(number)类型。

比如,当播放指示器位于 1 秒时,time 返回 1,2 秒时,则返回 2。

利用 time 可以做出一些随时间变化的动画效果。

//示例:为“旋转”属性添加表达式,实现 1 秒钟转 360° 的动画。time*360

请参阅:

sourceRectAtTime(t=time,includeExtents=false)

获取图层在指定时间 t 的矩形边界信息。

参数:

t :可选。指定要获取矩形边界的时间点,单位为秒。默认为 time。

includeExtents :可选。布尔(boolean)类型,默认为 false。如果设置为 true,则包含扩展边界。

返回值:

返回具有四个属性的对象:top(上边界)、left(左边界)、width(宽度)以及 height(高度)。

//示例:为参数化矩形形状图层的形状路径的“大小”属性添加表达式x = thisComp.layer("MEDIATEA").sourceRectAtTime.width;[x,value[1]]//当使用文本动画制作工具添加“字符间距”或“缩放”等关键帧动画时,形状始终保持与文字同宽

请参阅:

2、图层相关

index

获取图层在时间轴面板中的索引号,数值(number)类型。

时间轴面板的 # 列中,最上面的图层的索引号为 1,向下依次增加。

例 1,为 3D 文字图层的 “Z 位置”属性添加表达式,然后多次复制图层后,文字有“挤出”的假 3D 效果 。

transform.zPosition + (index - 1 )

例 2,为图层的“旋转”属性添加表达式,复制图层后,每个图层依次旋转 30°。

transform.rotation + (index-1)*30

请参阅:

3、属性值相关

value

返回指定属性的当前时间的值。

单独使用 value 时,表示表达式所在属性的值。

//示例:为文本图层的“源文本”添加表达式//显示“小球”图层的“位置”属性的属性名和属性值x= thisComp.layer("小球").transform.position; x.name + ':' + [Math.round(x.value[0]),Math.round(x.value[1])].toString

“位置”属性的值是一个数组,数组后面可跟下标(索引号)来获得其中第几个元素的值,下标是从 0 开始的。value[0] 代表 X 轴的值,value[1] 代表 Y 轴的值。

请参阅:

valueAtTime(t)

返回属性在指定时间 t 时 的值。

参数 :

t :要采样的时间,以秒为单位。

返回值:

与 value 相同,类型可以是数值(number)、数组(array)或字符串(string),具体取决于属性的类型。

例如,使用 time - x 的形式作为参数,可用于实现延迟错帧动画。

//示例:为一根钟摆的形状图层设置“旋转”关键帧动画,并为“旋转”属性添加表达式valueAtTime(time - index/10)//复制多次形状图层,即可产生非常有规律的钟摆动画

请参阅:

4、摆动相关

wiggle(freq, amp, octaves=1, amp_mult=0.5, t=time)

让属性值随时间按指定的频率和幅度进行随机变化。

请参阅:

一般来说,使用前两个参数就够用了,即:

wiggle( freq , amp )

参数:

freq :每秒摆动的次数(频率)。

amp :相对于原属性值的正、负摆动的幅度。

返回值:

返回随机摆动(抖动)的属性值( 数值或数组 )。

比如,“旋转”属性值为 100,当 amp 参数设为 50 时,“旋转”属性值将在 50 ~ 150 范围之内随机摆动。

例 1,仅在水平方向摆动。

//添加“位置”属性表达式wiggled = wiggle(5,50);//仅在水平方向摆动,垂直方向使用原值[wiggled[0],position[1]]

例 2,为形状图层添加以下表达式。之后,复制多个形状图层,以创建随机舞动的星形效果。

//形状图层的“位置”属性表达式wiggle(2,300);//形状图层的“缩放”属性表达式x = wiggle(2,20)[0];[x,x]//形状图层的“不透明度”属性表达式wiggle(1,100)

例 3,对文字图层 MEDIATEA 添加“填充”效果,并使“颜色”摆动。

//对“填充”效果中的“颜色”属性添加表达式wiggle(3,30)

然后将下方线条(形状图层)的“描边颜色”链接到“填充”效果的“颜色”属性。

5、循环相关

loop 类循环函数使用的前提条件是必须有关键帧动画,循环相当于将已有的关键帧动画进行重复播放。

loopOut(type="cycle", numKeyframes=0)

用于设置关键帧动画的出点循环。即,从最后一个关键帧开始重复播放指定动画段,直到图层出点。

参数:

type :循环类型。

包括:

--cycle :重复运动,类似于 1234 1234 的循环。

--pingpong :往复运动,类似于 4321234 的来回循环。

--continue :持续最后的运动,类似于 1234 (4+4.1)(4+4.2)(4+4.3) ... 的重复。

--offset:阶梯式持续之前的运动,类似于 1234(4+4.1n)(4+4.2n)(4+4.3n)...的递增循环。

numKeyframes 可选。值为 0 时(默认),表示循环全部关键帧。为 n 时,表示循环倒数 n 段关键帧。

如以下动画所示,云朵使用了 continue 类型,太阳使用了 offset 类型,太阳光线使用了 cycle 类型,小树使用了 pingpong 类型。

loopIn(type="cycle", numKeyframes=0)

用于设置关键帧动画的入点循环。即,从图层的入点开始重复播放指定的动画段,直到第一个关键帧。

当第一个关键帧没有在图层入点时,可考虑使用 loopIn。参数使用与 loopOut 近似。

请参阅:

“点赞有美意,赞赏是鼓励”