欢迎光临散文网 会员登陆 & 注册

After Effects 表达式基础知识 — 摆动

2023-03-10 09:27 作者:清大文森学堂  | 我要投稿

Adobe After Effects中的表达式是一个非常有价值的工具,它可以在运动设计过程中节省时间,并且可以帮助创建动画,这在关键帧中几乎是不可能完成的。然而,它们一开始学起来有点吓人,主要是因为它们涉及到代码工作。

如果你是一个初学者,重要的是要从只有几行的基本表达式开始;我个人学会的第一个表达式是wiggle表达式,它是一个非常好的开始。要对你的图层应用一个基本的摆动表达式,你需要在图层属性的秒表上选择+单击(Mac)或Alt+Click(Win)。在这个例子中,我们将把扭动应用到形状层的位置属性上。

在选择点击图层后,属性值将变成红色,表达式编辑器应该出现在时间轴上。在表达式编辑器中,输入以下代码:

wiggle(5, 50)

这样做的目的是告诉After Effects,你想每秒摆动(或随机移动)这个图层5次,在任何方向最大移动50像素。试着在这里使用不同的值,看看它对你的图层有什么影响。

这是因为wiggle()是AE表达式引擎中内置的一个JavaScript函数。你不需要学习JavaScript来理解基本的表达式,你只需要理解这个。

wiggle函数接收参数,在这个例子中,参数是5和50,然后它根据这些参数做一些数学运算,并为每一帧返回一个值。然后,应用了表达式的图层属性在每一帧都被分配了返回值。

考虑到这一点,我们可以开始做一些更高级的摆动表达式。例如,如果你只想在X轴上摆动正方形,会怎么样?幸运的是,有一个简单的方法可以做到这一点,同时还可以用下面的表达式把所有东西都放在一行:

[wiggle(5, 150)[0], value[1]]

position属性可以分解为[x,y]值,所以在这种情况下,x=wiggle表达式的返回值,而y=原来未改变的y轴值。试着颠倒一下顺序,看看对你的层有什么影响。

尝试在其他图层属性上使用摆动表达式。

摆动当然不仅限于位置属性,还可以通过将摆动表达式应用于缩放和旋转等内容进行实验。摆动表达式的一个常见用途是通过预合成场景、摆动整个合成上的值并放大它以隐藏帧边缘的任何间隙来模拟晃动的相机。

更高级的摆动表达式

在本教程的初级部分,我只展示了有两个参数的表达式,因为大多数时候你只需要这些参数,然而wiggle表达式的完整语法如下:

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

以下是根据官方Adobe 官方文档对每个参数的说明:

freq value is the frequency in wiggles per second. amp value is the amplitude in units of the property to which it is applied. octaves is the number of octaves of noise to add together. This value controls how much detail is in the wiggle. Make this value higher than the default of 1 to include higher frequencies or lower to include amplitude harmonics in the wiggle. amp_mult is the amount that amp is multiplied by for each octave. This value controls how fast the harmonics drop off. The default is 0.5; make it closer to 1 to have the harmonics added at the same amplitude as the base frequency, or closer to 0 to add in less detail. t is the base start time. This value defaults to the current time. Use this parameter if you want the output to be a wiggle of the property value sampled at a different time.

freq值是以每秒摆动次数为单位的频率。

amp值是振幅,单位是它所应用的属性。

octaves是要加在一起的噪声的八度数。这个值控制摆动的细节有多少。使这个值高于默认的1,以包括更高的频率,或者更低,以包括摆动中的振幅谐波。

amp_mult是指在每个八度的情况下,amp乘以的量。这个值控制谐波下降的速度。默认值是0.5;如果接近于1,就可以在与基频相同的振幅下加入谐波,如果接近于0,就可以加入较少的细节。

t是基础开始时间。该值默认为当前时间。如果你希望输出是在不同时间采样的属性值的摆动,请使用这个参数。

在应用 wiggle 表达式时,基本开始时间很容易理解和试验,但octaves和amp_mult选项有点难以考虑,因此我创建了一个图表来帮助可视化它们如何影响表达式的结果值。

为此,我创建了一个在整个屏幕上从左向右移动的图层,使用相同的摆动种子值复制了三次,并将摆动限制在Y轴上。 然后,我将表达式烘焙到关键帧,并重叠生成的运动路径。

希望您已经从这篇博文中学到了很多关于摆动表达式的知识,并且您会在自己的项目中轻松尝试它!

如果对你有所帮助,别忘了点赞关注哦!



After Effects 表达式基础知识 — 摆动的评论 (共 条)

分享到微博请遵守国家法律