Ae:表达式应用基础

news/2024/11/28 4:30:54/

通过几个最常用的变量及函数(方法)来了解 Ae 表达式。

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

《Ae:表达式语法基础》

  ◆  ◆

时间相关

time

返回合成的当前时间值,以秒为单位。

比如,当处于 1 秒的时间点时,time 返回 1,2 秒的时间点时,则返回 2。

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

//在旋转属性建立表达式,即可实现 1 秒钟转 360° 的动画。
time*360

95a0f496f0f45b261db0dff8dd2ad5d6.gif

sourceRectAtTime(t, includeExtents)

本方法适用于形状图层和文本图层,返回当前时间下具有四个属性的 JavaScript 对象:[上边界 top、左边界 left、宽度 width、高度 height]。

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

986db48b6da684b486fdc7bcb2985737.gif

  ◆  ◆

图层相关

index 

用来获取图层的序号,等价于 thisLayer.index 。

//为 3D 文字图层的 Z 位置属性添加表达式
transform.zPosition + (index - 1 )
//复制多个图层后,文字有“挤出”的假 3D 效果

5cc2a825f6d2907b63882716b1f93691.png

//为图层的旋转属性添加表达式
transform.rotation + (index-1)*30
//复制图层后,每个图层依次多旋转 30 度

fac9d68fd092ed8b90369b299f3585e5.gif

  ◆  ◆

属性值相关

value

获取当前时间的属性值。

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

位置属性的值是一个数组,value[0] 代表 X 轴的值,value[1] 代表 Y 轴的值。

数组对象后面可跟下标(索引号)来获得其中第几个元素的值。

比如,[10,20,30][1] 将返回 20,因为数组元素的下标是从 0 开始的。

valueAtTime( t )

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

参数 t,以秒为单位。

比如,写成 time - x 的形式,可用于实现延迟错帧动画。

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

061a4426ea05d046658bf6a2ae0870f9.gif

  ◆  ◆

摆动相关

wiggle(freq, amp, octaves, amp_mult, t)

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

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

wiggle(freq, amp)

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

参数 amp:基于原属性值的正、负摆动幅度。

比如,旋转属性值为 100,当 amp 设为 50 时,旋转属性值将在 50 ~ 150 之间随机摆动。

wiggle 根据所在的属性返回对应类型的数据。

比如,在位置属性使用 wiggle ,则返回二维数组数据。

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

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

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

99c46268d7a1a7f29a8f2e98b108d601.gif

例 2,如下所示,对文字图层 MEDIATEA 添加“填充”效果,并使颜色摆动。

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

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

fba9db1671eb02d4584305dc3fe3e7ad.gif

  ◆  ◆

循环相关

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

loopOut(type, numKeyframes)

从最后一个关键帧开始循环指定段直到图层的出点。

参数 type:循环类型。

包括:

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

pingpong:往复运动,类似于 1234321... 的循环。

continue:持续最后的运动,类似于 1234 4444...的循环。

offset:阶梯式持续之前的运动,类似于 1234 5678...的循环。

参数 numKeyframes:有效的关键帧段数。

值为 0 时(默认),表示循环全部关键帧。为 n 时,表示循环倒数 n 段关键帧。当循环类型为 contiue 时,应删除此参数。

6ce4e9259769956fcd4fd7093edb2b57.gif

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

73dc570eb76765b9e4ff399b6a7f145f.gif

loopIn(type, numKeyframes)

从图层的入点开始重复播放指定段,直到第一个关键帧。

参数使用与 loopOut 近似。

当第一个关键帧没有在图层入点时,可考虑使用 loopIn。

  ◆  ◆

表达式控制器相关

如果需要对表达式里的参数进行控制,或者添加基于参数的动画,一般需要通过表达式控制器来实现。

Ae菜单:效果/表达式控制

Expression Controls

比如,可以结合“滑块控制”来控制摆动的频率和幅度。

//为“空对象控制”图层添加两个“滑块控制”效果,并分别命名为“频率控制”和“幅度控制”
f = thisComp.layer("空对象控制").effect("频率控制")("滑块");
a = thisComp.layer("空对象控制").effect("幅度控制")("滑块");
wiggle(f,a)
//提示:还可对“滑块”设置关键帧,从而控制摆动的快慢。

请参阅:

《Ae 效果快速参考:表达式控制》

589df9d4367ac1a85ed662450eb6c71e.jpeg

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


http://www.ppmy.cn/news/41126.html

相关文章

深度学习中常用的权重初始化方式

最近看论文,看到不少论文说明他们的卷积的权重初始化方式为Kaiming Uniform,我就好奇这是个什么东西,然后一查才知道,这是一种权重初始化方式,并且是Pytorch默认的一种初始化方式,那就想,这有啥…

插值,卷积,反卷积

1.为什么插值可以越插越小,一般不是越插越大吗 插值的结果取决于所用的插值方法和数据的分布情况。在某些情况下,插值可以越插越小。 例如,如果我们使用插值方法来逼近一段连续函数,且插值点越来越密集,那么插值误差…

Qt Quick - 分隔器综述

Qt Quick - 分隔器综述一、概述二、MenuSeparator 控件1. 用法:三、ToolSeparator 控件1. 用法一、概述 Qt Quick Controls 提供了多种分隔符,其实就是分割一下MenuBar和ToolBar里面的内容。 控件功能MenuSeparator将菜单中的一组项目与相邻项目分开To…

一种供水系统物联网监测系统

1.1供水系统 1.1.1监测范围选择依据 (1)管网老化区域管网 管网建设年代久远,通常管网发生破损问题较大,根据管网本身属性和历史发生事件的统计分析,结合数理统计,优先选择管网老化区域的管段所在区域进行…

SQL中部分函数使用方法

一、SQL中 decode() 函数使用介绍 decode(skaccnum.def4,~,0,skaccnum.def4) 这是一个 Oracle SQL 中的 DECODE 函数的使用示例。DECODE 函数通常用于根据某些条件返回不同的值。在这个例子中,DECODE 函数的第一个参数是 skaccnum.def4,第二个参数是 ~&a…

如何提升智能文档处理识别精度?合合信息“版面分析”实现新突破

春季是繁忙的播种季,学生党迎来了开学季和紧张的研究生复试,职场人士也需要处理新签业务带来的大量不同类型的文件,比如合同、发票、档案等。这些文件在被拍照、扫描成电子文档的过程中,时常存在漏字、错位现象。究其原因&#xf…

OpenAI-ChatGPT最新官方接口《AI绘图》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(二)(附源码)

ChatGPT-AI绘图Image generation Beta 图片生成前言IntroductionUsageGenerationsEdits 编辑VariationsLanguage-specific tips 特定语言提示Python 语言Using in-memory image data 使用内存中的图像数据Operating on image data 操作图像数据Error handlingNode.js 语言Using…

AB91-1 HESG437479R1 HESG437899

AB91-1 HESG437479R1 HESG437899 以硅为基材的集成电路共有Si BJT(Si-Bipolar Junction Transistor)、Si CMOS、与结合Bipolar与CMOS 特性的Si BiCMOS(Si Bipolar Complementary Metal Oxide Semiconductor)等类。由于硅是当前半导体产业应用最为成熟的材料,因此&am…