ae表达式time的使用?

刘芳            来源:优草派

Adobe After Effects是专门用于视觉特效制作的一款视频编辑软件,也是一款非常强大的工具。在AE中,表达式是一个非常重要的功能,它可以让我们对动画效果进行更精细的控制。其中,时间表达式(time expression)也是比较常用的一种。

时间表达式可以控制一个图层的时间属性(比如说位置、旋转、缩放等)随着时间的推移而改变,并根据一定的规律进行变化,下面我们从多个角度来介绍AE表达式time的使用。

ae表达式time的使用?

一、表达式基础

在AE中使用表达式,需要选中需要添加表达式的图层,在属性面板上找到需要控制的属性(如位置、缩放、旋转等),然后打开表达式面板。表达式一般由两部分组成,分别是变量和表达式,其中变量是指需要控制的图层属性,表达式是指实现控制的算法。在时间表达式中,变量是time,它代表着当前动画的总时间,表达式则是用来控制属性值随着时间变化而变化的算法。

二、控制属性的变化规律

1. 线性变化

线性变化是最基础的属性变化,它通过控制属性的起始值和结束值,使属性在整个动画期间内均匀的变化。可以通过以下代码实现,例如你想让一个图层的位置属性从左到右平移:

```

startX = 100;

endX = 500;

linear(time, 0, 10, startX, endX);

```

上述代码的意思是:

在0秒到10秒的时间内,让位置从startX变为endX,进行线性变化。

2. 碰撞动画

碰撞动画是一种非常流行的动画效果,它可以使动画达到一定的弹性效果。如果想让一个图层水平移动,当移动到一定程度时,弹性碰撞一下,会有类似反弹的动态效果,我们可以通过以下表达式来实现:

```

startX = 100;

endX = 500;

bounce = 2;

decay = 5;

amp = 15;

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 && t < decay){

v = -amp*Math.exp(-t/decay)*Math.sin(bounce*(t-decay));

}else{

v = 0;

}

value + [v, 0];

```

该表达式中,bounce、decay和amp都是一些参数,可以调整碰撞动画的弹性强度、颤动频率和颤动幅度等。在这个例子中,图层位置将水平移动,水平方向的速度由v参数定义,v随着时间变化而变化。

3. 呼吸动画

呼吸动画可以使图层在整个动画周期内呈现出柔和的呼吸效果,其表达式如下所示:

```

amp = 20;

freq = 1.5;

decay = 4.0;

(offset = amp*Math.sin(freq*time*Math.PI*2))/Math.exp(decay*time)

```

在这个表达式中,amp代表呼吸动画的幅度,freq表示呼吸动画的频率,decay表示呼吸动画缓和的时间。

三、时间表达式在实际应用中的应用

时间表达式可以将我们的动画效果提升到一个新的层次,让动画变得更加精致。下面举几个具体的例子来讲述时间表达式的应用:

1. 跟随行进的点

在地图制作中,经常需要显示行进的路径,有时候还需要加上一个圆点或者其他的标识来显示当前位置。这时候就可以使用时间表达式来实现,随着时间的推移,标识也会随之移动,例如:

```

offset = 50;

t = time*2;

x = Math.sin(t)*offset;

y = Math.cos(t)*offset;

[value[0]+x, value[1]+y]

```

上述代码中, t = time * 2,表示在时间轴上进行了加速,不过整个时间轴的长度不会改变,offset定义了行进距离,x和y表示圆点在X轴和Y轴上的移动距离。

2. 不规则路径缓动

有时候需要一条路径,在路径第一帧到最后一帧之间移动对象,路径不是一条直线,而是一条不规则的曲线。根据路径的不同,您需要使用不同的参数来实现不同的缓动效果,例如:

```

maxdistance = 400 ;

tension = 5 ;

value + transform.position.velocityAtTime(time)/maxdistance*tension;

```

这个表达式中,maxdistance表示路径的最大长度,tension表示线条的张力,这条路径是基于图层自身运动轨迹而创建的,根据图层的运动,创建一条类似弹簧的曲线,然后让图层沿着这个曲线缓动。

四、结语

在AE中,时间表达式是一个非常有用的工具,能够帮助我们实现更多的动画效果。通过上述介绍,相信大家已经对表达式的使用方式和原理有了一定的了解。同时,在实际的使用中,也需要结合具体的场景和需求,进行灵活的运用。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行