AE表达式.docx
《AE表达式.docx》由会员分享,可在线阅读,更多相关《AE表达式.docx(12页珍藏版)》请在冰豆网上搜索。
![AE表达式.docx](https://file1.bdocx.com/fileroot1/2022-11/17/2d3463c8-a2e1-4de4-ae39-5dbf558548ad/2d3463c8-a2e1-4de4-ae39-5dbf558548ad1.gif)
AE表达式
AE表达式
由于AfterEffect的表达式是属于一种脚本式的语言,因此AfterEffect本身提供给用户一个表达式库。
如下:
Global
Vectormath
Randomnumbers
Interpolation
Colorconversion
Othermath
JavaScriptmath
Comp
Footage
Layersub-objects
Layergeneral
Layerproperties
Layer3D
Layerspacetransforms
Camera
Light
Effect
Mask
Property
Key
&Global:
用于指定表达式的全局设置
Comp:
comp(name)给合成命名。
Footage:
footage(name)为素材命名。
Comp:
thisComp描述合成内容的表达式。
Eg:
thisComp.
(2)thisLayer是一个指定的全局量。
EG:
用表达式thisLayer.width或width可获得同样的结果。
Property:
thisproperty描述属性的表达式。
Numbertime:
描述合成的时间,单位是秒。
Numbercolordepth:
返回8或16表示色彩深度位数值。
EG当项目的每通道的色彩深度为16位时colordepth返回16。
Numberposterizetime(framespersecond){framespersecond是一个数}返回或改变帧率。
允许用这个表达式设置比这个合成低的帧率。
Vectormath:
进行矢量运算的一些数学函数
Addp(vec1,vec2){vec1和vec2是数组}:
两个向量相加。
返回值为数组。
Sub(vec1,amount):
{vec1是数组,amount是数}两个向量相减。
返回值为数组。
Mul(vec1,amount):
{vec1是数组,amount是数}:
向量的每个元素被相乘。
返回数为数组。
Div(vec1,amount){vec1是数组,amount是数}向量的每个元素被相除。
返回数为数组。
Clamp(value,limit1,limit2)限制value中的每个元素的值在limit1到limit2之间。
返回值为数组。
Dot(vec1,vec2){vec1和vec2是数组}:
返回点乘的积,结果为两个向量相乘。
返回值为
number。
Cross(vec1,vec2){vec1和vec2是数组[2or3}:
返回向量的叉积。
返回值为2或3维数组。
Normalize(vec){vec是数组}:
单位化向量,返回值为数组。
ae表达式中英对照
全局对象
Compcomp(name)用另一个名字给合成命名。
Footagefootage(name)用另一个名字给脚本标志命名。
CompthisComp描述合成内容的表达式。
例如:
thisComp.layer
(2)
Layer,Light,orCamerathisLayer是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如,用表达式thisLayer.width或width可获得同样的结果。
PropertythisProperty描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Numbertime描述合成的时间,单位是秒。
NumbercolorDepth返回8或16表示的彩色深度位数值。
例如,当项目的每通道的彩色深度为16位时colorDepth返回16。
NumberposterizeTime(framesPerSecond){framesPerSecond是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法
Arrayadd(vec1,vec2){vec1和vec2是数组}两个向量相加。
Arraysub(vec1,vec2){vec1和vec2是数组}两个向量相减。
Arraymul(vec1,amount){vec1是数组,amount是数}向量的每个元素被amount相乘。
Arraydiv(vec1,amount){vec1是数组,amount是数}向量的每个元素被amount相除。
NumberorArrayClamp(value,limit1,limit2)限制value中每个元素的值在limit1到limit2之间。
Numberdot(vec1,vec2){vec1和vec2是数组}返回点积,结果为两个向量相乘。
Array[2or3]cross(vec1,vec2){vec1和vec2是数组[2or3]}返回向量的交积。
Arraynormalize(vec){vec是数组}格式化一个向量,如某长度表示为1.0.
Numberlength(vec){vec是数组}返回向量的长度。
Numberlength(point1,point2){point1andpoint2是数组}
随机数方法
NothingseedRandom(seed,timeless=false){seed是一个数,默认timeless为false}取现有的seed增量一个随机值,这个随机值依赖于层的index(number)和stream(property),但不总是这样.例如,seedRandom(n,true)通过给第二个参数赋值true,seedRandom()获取一个0到1间的随机数.
Numberrandom()返回0和1间的随机数.
NumberorArrayrandom(maxValOrArray){maxValOrArray是一个数或数组}返回0到maxVal间的数,维度与maxVal相同;或返回与maxArray相同维度的数组,数组的每个元素在0到maxArray之间
NumberorArrayrandom(minValOrArray,maxValOrArray){minValOrArray和maxValOrArray是一个数或数组}返回一个minVal到maxVal间的数,或返回一个与minArray和maxArray有相同维度的数组,其每个元素的范围在minArray与maxArray之间.例如,random([100,200],[300,400])返回数组的第一个值在100到300间,第二个值在200到400间.如果两个数组的维度不同,较短的一个后面自动用0补齐.
NumbergaussRandom()返回一个0到1之间的随机数.结果为钟形分布,大约90%的结果在0到1之间,剩余10%在边沿.
NumberorArraygaussRandom(maxValOrArray){maxValOrArray是一个数或数组}当
用maxVal,它返回一个0到maxVal之间的随机数.结果为钟形分布,大约90%的结果在0到maxVal之间,剩余10%在边缘.当用maxArray,它返回一个与maxArray相同维度的数组,结果为钟形分布,大约90%的结果在0到maxArray之间,剩余10%在边缘.
NumbergaussRandom(minValOrArray,maxValOrArray){minValOrArray和maxValOrArray是一个数或数组}当用minVal和maxVal,它返回一个minVal到maxVal之间的随机数.结果为钟形分布,大约90%的结果在minVal到maxVal之间,剩余10%在边缘.当用minArray和maxArray,它返回一个与minArray和maxArray相同维度的数组,结果为钟形分布,大约90%的结果在minArray到maxArray之间,剩余10%在边缘.剩余10%在边缘.
Numbernoise(valOrArray){valOrArray是一个数或数组[2or3]}返回一个0到1间的数.噪声不是事实上的随机,但它是在样本附近相关的随机数.它基于花边噪声.例如,add(position,noise(position)*50).
插值方法
NumberorArraylinear(t,value1,value2){t是一个数,value1和value2是一个数或数组}当t的范围从0到1时,返回一个从value1到value2的线性插值。
当t<=0时返回value1,当t>=1时返回value2。
.
NumberorArraylinear(t,tMin,tMax,value1,value2){t,tMin和tMaxare数,value1和value2是数或数组}当t<=tmin时返回value1;当t>=tMax时,返回value2;当tMinNumberorArrayease(t,value1,value2){t是一个数,value1和value2是数或数组}返回值与linear相似,但在开始和结束点的速率都为0。
这种方法的结果是动画非常平滑。
NumberorArrayease(t,tMin,tMax,value1,value2){t,tMin,和tMax是数,value1和value2是数或数组}返回值与linear相似,但在开始和结束点的速率都为0。
这种方法的结果是动画非常平滑。
NumberorArrayeaseIn(t,value1,value2){t是一个数,andvalue1andvalue2是数或数组}返回值与ease相似,但只在切入点value1的速率为0,靠近value2一边是线性的。
NumberorArrayeaseIn(t,tMin,tMax,value1,value2){t,tMin和tMax是一个数,
value1和value2是数或数组}返回值与ease相似,但只在切入点tMin的速率为0,靠近tMax一边是线性的。
NumberorArrayeaseOut(t,value1,value2){t是一个数,value1和value2是数或数组}.返回值与ease相似,但只在切入点value2的速率为0,靠近value1一边是线性的。
NumberorArrayeaseOut(t,tMin,tMax,value1,value2){t,tMin和tMax是数,value1value2是数或数组}返回值与ease相似,但只在切入点tMax的速率为0,靠近tMin一边是线性的。
彩色转换方法
Array[4]rgbToHsl(rgbaArray){rgbaArray是数组[4]}转换RGBA彩色空间到HSLA彩色空间。
输入数组指定红、绿、蓝、透明,它们的范围都在0.0到1.0之间。
结果值是一个指定色调、