您的位置:首页 > 动漫 >

环球快资讯:AE表达式笔记(自用防丢失)

菜鸡不懂事,学着玩的,大跌们看个乐就好。一、表达式层级关系

书写形式为逐级递减,例如:

comp("目标合成").layer("目标层").effect("目标效果")("目标效果的一个参数")

“.”作为层与层之间的分隔符。


(资料图片)

二、表达式赋值方式

不透明度定义为80

transform.opacity=80 等价于 value=80 等价于 80;

二维数值使用“[,]”,三维四维类比二维;

可以使用父子级直接连接。

三、滑块控制

作用:类似于空对象,作为控制表达式的一个变量

例如:

wiggle(effect("滑块控制")("滑块"),effect("滑块控制 2")("滑块"))

第一个滑块控制频率,第二个滑块控制幅度。

四、time表达式

AE中时间变化有两类:帧和秒,time表达式以秒为单位

posterizeTime(framesPerSecond) 

抽帧表达式,每秒剩余几帧,要求小于等于合成的帧率;

表示设置其他表达式运行环境,不能单独使用,一般写在表达式第一行;

例如:

posterizeTime(5);

random(20)

作用:每秒随机变化5次。

valueAtTime()

返回属性在指定时间的值,以秒为单位

例如:

thisComp.layer("黑色层").transform.opacity.valueAtTime(2)

作用:

表示“黑色层”的不透明度全部为2秒时候的数值。

五、wiggle表达式

wiggle(freq 频率,amp 幅度,octaves=1复杂度,amp_mult=5 幅值乘法,t=time 对应时间线);

特殊的一个例子(缩放等比变换)

方法一:

x=wiggle(2,5);

[x[0],x[0]]

[x,x]报错的原因:定义的x=wiggle(2,5)为变量,没有初始值,所以x[0]赋予初始值;

方法二:

新建一个滑块作为等比控制,因为二维数值连接到一维父级默认为等比变化。

六、index表达式

按照索引来赋值,表示元素在某一组排列中的位置;

例如:图层在第一层index为1、效果下面的第二行index为2;

key(index)关键帧索引

例如:transform.position.key(1).value[0];

作用:获取位置第一个关键帧x的坐标数值。

七、interpolation 差值函数

linear(t,value1,value2)

当t≦0时,value1;

当0

当t≧1时,value2;

linear(t,tMin,tMax,value1,value2)

类型一:

linear(time,0,10,0,20)

表示时间从0秒增长到10秒,数值由0增长到20的变化;

类型二:

linear(value,0,10,0,20)

表示变量value的数值从0变化为20,对应的原数值由0变化到20;

ease基本与linear同理

八、random numbers 随机函数

random()

返回0到1之间的随机数值;

random(maxValOrArray)

定义随机变化的最大值,Array为数组;

random(minValOrArray,maxValOrArray)

定义一个随机变化的范围;

gausssrandom() 高斯随机

百分之九十数值在范围内,百分之十在范围外;

seedRandom(seed,timeless=false) 随机种子

true表示随机种子不随时间变化,false表示随机种子随时间变换;

noise(time)

在(-1,1)内振动。

九、color conversion 颜色转换函数

rgbToHsl(rgbaArray)

四维数组[R,G,B,A]且赋值在(0,1)范围内;

只在(0,1)变化的原因:8bpc、16bpc、32bpc下的RGB范围不同;

通常使用滑块来进行控制,需要将滑块下面的滑动范围改为(0,1)。

十、循环函数

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

在最后一个关键帧后做循环;

tpye的类型:

cycle”表示周期循环;

pingpong”表示镜像效果往复运动;

offset”表示在一次循环结束后,下一次循环的第一个关键帧在最后一个关键帧处开始循环;

continue”表示保持最后两帧斜率不变向后延展,此种类型不需要添加“numKeyframes”;

numKeyframes的含义:

选用几个关键帧做为循环体;

当numKeyframes=0时表示全选,numKeyframes=1是以最后一个关键帧和前一个为循环体,numKeyframes=2时是以最后一个关键帧和前两个关键帧为循环体;

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

在第一个关键帧前做循环;

loopOutDuration(type = "cycle", duration = 0)

以秒为基准做循环,0代表全选,1代表最后一个关键帧前的一秒作为循环体。

十一、Comp

thisComp.bgColor  返回当前合成背景色;

thisComp.numLayers  返回当前合成的图层数;

thisComp.duration返回合成持续时间(秒为单位);

thisComp.frameduration返回帧持续时间(秒为单位);

例如:

合成为30fps,则thisComp.frameduration为1/30秒;

AE表达式没有直接获取帧率的属性,所以使用

1/thisComp.frameduration来表示;

例如:

Math.floor((time/thisComp.frameduration)/8)表示每8帧改变一次。

十二、layer

inPoint、outPoint 图层入点、出点所对应的时间,秒为单位;

parent 获取该图层父级的属性。

十三、音频驱动关键帧

原理:将音频的幅值转化为关键帧形式(右键-关键帧辅助-将音频转化为关键帧);

转化成的关键帧为每帧一个,可用timeToFramesframesToTime来进行秒为单位和帧为单位表达式的运算。

十四、零散知识点

数组的索引从0开始

例如:[x,y,z]   x索引值为0,y为1,z为2;

字符串转变为数字

字符串:插入成对的单引号或双引号的任意字符,用于储存和处理文本;

Number(str) 其中字符串必须为纯数字字符串;

数字转换为字符串

String(num);

typeof为检测类型的函数;

添加注释

“//AE表达式”为单行注释;

“/*脸滚键盘

ABC*/”为多行注释;

smooth(width=.2,samples=5,t=time)  samples改变平滑度;

将焦距连接到图层(3d摄像机)

图层-摄像机-将焦距连接到图层;

以后补充,继续学st了

标签: EFFECT NOISE WIGGLE ARRAY

相关阅读