表达式是什么

(1)AE表达式是基于编程语言ExtendScript(旧版 )和JavaScript(新版)运行的"代码"。

(2)使用符号.连接父子级,以及调用参数

(3)代码区逐行运行,时间轴上逐帧运行如何学习表达式大前提:你得熟悉AE表达式大部分都是由AE本身的对象、属性构成。所以有必要了解:什么是工程、合成、图层?啥是属性(参数)?

表达式函数大全

表达式引用

内容

说明

global(全局)

comp(name)

返回合成(需引用子参数)

footage(name)

返回素材(需引用子参数)

thisComp

返回当前合成(需引用子参数)

thisProject

返回当前项目(需引用子参数)

time

返回当前时间轴时间数值

colorDepth

返回项目颜色深度值

posterizeTime(framesPerScond)

抽帧

timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)

当前时间转为整数帧

framesToTime(frames, fps = 1.0 / thisComp.frameDuration)

帧转为时间

timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)

时间转为时间码格式

timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)

时间转为NTSC时间码格式

timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)

时间转为帧英尺数

timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false, ntscDropFrame = thisComp.ntscDropFrame)

时间转为时间码格式

Vector Math(矢量数学)

add(vec1,vec2)

矢量相加

sub(vec1,vec2)

矢量相减

mul(vec,amount)

矢量相乘

div(vec,amount)

矢量除以数值

clamp(value,limit1,limit2)

限定矢量范围

dot(vec1,vec2)

矢量点积

cross(vec1,vec2)

矢量叉积

normalize(vec)

标准化矢量

length(vec)

矢量长度

length(point1,point2)

矢量距离

lookAt(fromPoint,atPoint)

返回A点指向B点的向量

Random Numbers(随机数)

seedRandom(seed, timeless=false)

随机种子序列

random()

返回0–1的随机数

random(maxValOrArray)

返回0到max数值

random(minValOrArray, maxValOrArray)

返回min到max的数值

gaussRandom()

返回0-1高斯(钟形)随机数

gaussRandom(maxValOrArray)

返回0-max高斯(钟形)随机数

gaussRandom(minValOrArray, maxValOrArray)

返回min-max高斯(钟形)随机数

noise(valOrArray)

返回-1 到 1的柏林噪声随机数

Interpolation(线性函数)

linear(t, value1, value2)

返回0-1的三段线性插值

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

返回min-max的三段线性插值

ease(t, value1, value2)

返回0-1的三段缓动插值

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

返回min-max的三段缓动插值

easeIn(t, value1, value2)

返回0-1的三段入点缓动插值

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

返回min-max的三段入点缓动插值

easeOut(t, value1, value2)

返回0-1的三段出点缓动插值

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

返回min-max的三段出点缓动插值

Color Vonvesion(颜色转换)

rgbToHsl(rgbaArray)

RGB转HSL

hslToRgb(hslaArray)

HSL转RGB

hexToRgb(hexString)

数值转RGB

Other Math(角度弧度)

degreesToRadians(degrees)

角度转弧度

radiansToDegrees(radians)

弧度转角度

JavaScript Math(JS数学)

Math.cos(value)

返回数的余弦

Math.acos(value)

返回数的反余弦值

Math.tan(value)

返回数的正切

Math.atan(value)

返回数的反正切值

Math.sin(value)

返回数的正弦

Math.sqrt(value)

返回数的平方根

Math.exp(value)

返回e的指数

Math.pow(value,exponent)

返回value的exponent次幂

Math.log(value)

返回数的自然对数(底为e)

Math.abs(value)

返回数的绝对值

Math.round(value):

把数四舍五入为最接近的整数

Math.ceil(value)

对数进行上舍入

Math.floor(value)

对数进行下舍入

Math.min(value1,value2)

返回value和value 2中的最低值#可以是多个数

Math.max(value1,value2)

返回value和value 2中的最高低值#可以是多个数

Math.PI

返回圆周率(约等于3.14159)

Math.E

返回算术常量e,即自然对数的底数(约等于2.718)

Math.LOG2E

返回以为底的e的对数(约等于1.414)

Math.LOG10E

返回以为底的e的对数(约等于0.434)

Math.LN2

返回的自然对数(约等于0.693)

Math.LN10

返回的自然对数(约等于2.302)

Math.SQRT2

返回的平方根(约等于1.414)

Math.SQRT1_2

返回返回的平方根的倒数(约等于0.707)

Comp(合成)

layer(index)

以index方式调用图层(需引用子参数)

layer(name)

以name方式调用图层(需引用子参数)

layer(otherLayer,relIndex)

以上下检索的方式返回当前图层(需引用子参数)

maker()

返回标记(需引用子参数)

numLayers

返回当前合成图层数量

layerByComment(

返回评论(没啥用)

activeCamera

返回活动摄像机(需引用子参数)

width

返回合成宽度

height

返回合成高度

duration

返回合成持续时间

ntscDropFrame

返回合成是否丢帧的布尔值

displayStartTime

返回合成起始时间

frameDuration

返回单帧持续时间

shutterAngle

返回合成的快门角度值

shutterPhase

返回合成的快门相位

bgColor

返回合成的背景颜色。

pixelAspect

返回合成的像素高宽比

name

返回合成的名称。

Footage(素材)

weidth

返回素材的宽度

height

返回素材的高度

duration

返回素材的持续时间

frameDuration

返回素材的单帧持续时间

ntscDropFrame

返回素材的是否丢帧的布尔值

pixelAspect

返回素材的像素高宽比

name

返回素材的名称

{footageItem}.sourceText

返回 数据文件(如JSON )本身的内容

{footageItem}.sourceData

返回 数据文件(如JSON )本身的内容(数组)

{footageItem}.dataValue(dataPath)

返回 数据文件(如JSON )数据(键值对)

{footageItem}.dataKeyCount(dataPath)

返回 数据文件(如JSON )样本数量(数值)

{footageItem}.dataKeyTimes(dataPath, t0 = startTime, t1=endTime)

返回 数据文件(如JSON )动态数据流的采样时间

{footageItem}.dataKeyValues(dataPath, t0 = startTime, t1=endTime)

返回 数据文件(如JSON )动态数据流的采样时间对应的样本值

Layer(图层)

sub-object

图层子对象类别↓

source

返回源合成或源素材。

sourceTime(t=time)

返回与时间相应的图层源

sourceRectAtTime(t=time,includeExtents=false)

返回[上边界、左边界、宽度、高度]

effect(name)

以name方式调用效果(需引用子参数)

effect(index)

以index方式调用效果(需引用子参数)

mask(name)

以name方式调用蒙版(需引用子参数)

mask(index)

以index方式调用蒙版(需引用子参数)

General

常规属性类别↓

width

返回图层的宽度

height

返回图层的高度

index

返回图层的索引号

parent

返回图层父对象(需引用子参数)

hasParent

返回图层是否有父对象的布尔值

inPoint

返回图层的入点时间

outPoint

返回图层的出点时间

starTime

返回图层的起始时间

hasVideo

返回图层是否有视频的布尔值

hasAudio

返回图层是否有音频的布尔值

active

返回图层当前时间轴是否在本图层内的布尔值

enabled

返回图层可见性的布尔值

audioActive

返回图层当前音频是否在本图层内的布尔值

sampleImage(point, radius = [.5, .5], postEffect = true, t = time)

返回对颜色和alpha通道采样,指定点距离内像素的平均alpha加权值

Properties

图层属性↓

anchorPoint

返回图层的锚点值

position

返回图层的位置值

scale

返回图层的缩放值

rotation

返回图层的旋转值

opacity

返回图层的不透明度值

audioLevels

返回图层的音频分贝值

timeRemap

返回图层是否开启时间重映射的布尔值

marker

返回图层的锚点值

name

返回图层的名称

3D layer

3D图层属性↓

orientation

返回 3D 图层的 3D 方向值

rotationX

返回 3D 图层的 x 旋转值

rotationY

返回 3D 图层的 y 旋转值

rotationZ

返回 3D 图层的 z 旋转值

lightTransmission

返回 3D 图层的折射率属性值

castsShadows

返回 3D 图层是否投射投影的布尔值

acceptsShadows

返回 3D 图层是否接受阴影的布尔值

acceptLights

返回 3D 图层是否有接受光的布尔值

ambient

返回 3D 图层的环境光

diffuse

返回 3D 图层的漫射

specularIntensity

返回 3D 图层的镜面强度值

specularShininess

返回 3D 图层的镜面光泽度

shininess

返回 3D 图层的高光值

metal

返回 3D 图层的金属质感值

space Transforms

空间转换属性↓

toComp(point,t=time)

将点从图层空间变换到合成空间

fromComp(point,t=time)

将点从合成空间变换到图层空间

toWorld(point,t=time)

将点从图层空间变换到与视角无关的世界空间

fromWorld(point,t=time)

将点从世界空间变换到图层空间

toCompVec(vec,t=time)

将矢量从图层空间变换到合成空间

fromCompVec(vec,t=time)

将矢量从合成空间变换到图层空间

toWorldVec(vec,t=time)

将矢量从图层空间变换到世界空间

fromWorldVec(vec,t=time)

将矢量从世界空间变换到图层空间

fromCompToSurface(point,t=time)

将位于合成空间中的点投影到图层表面上的点

Camera(摄像机)

pointOfInterest

返回摄像机在世界空间中的兴趣点

zoom

返回摄像机的缩放值

depthOfField

返回摄像机是否有景深的布尔值

focusDistance

返回摄像机的焦距值

aperture

返回摄像机的光圈值

blurLevel

返回百分比形式的摄像机模糊层次值

irisShape

摄像机的光圈形状

irisRotation

摄像机的光圈旋转

irisRoundness

摄像机光圈圆度

irisAspectRatio

摄像机的光圈长宽比

irisDiffractionFringe

像机的光圈衍射条纹

highlightGain

摄像机的高光增益

highlightThreshold

摄像机的高光阈值

hightSaturation

摄像机的高光饱和度

active

返回当前摄像机是否为活动摄像机的布尔值

Light(灯光)

pointOfInterest

返回光照在世界空间中的兴趣点值

intensity

返回百分比形式的光照强度值

color

返回光的颜色值

coneAngle

返回光的锥形角度

coneFeather

返回百分比形式的光的锥形羽化值

shadowDarkness

返回百分比形式的光的阴影深度值

shadowDiffusion

返回光的阴影扩散值

Effect(效果)

active

返回效果是否开启的布尔值

param(name)

以index方式调用效果中的属性

param(index)

以name方式调用效果中的属性

name

返回该效果属性的名称

Path Property(路径与蒙版)

name

返回蒙版名称

{pathProperty}.points(t = time)

获取路径上所有点的 x、y 坐标。

{pathProperty}.inTangents(t = time)

获取路径上所有点的入点手柄的 x、y 坐标

{pathProperty}.outTangents(t = time)

获取路径上所有点的出点手柄的 x、y 坐标

{pathProperty}.isClosed()

返回路径是否闭合的布尔值

{pathProperty}.pointOnPath(percentage = 0.5, t = time)

路径弧长的百分比

{pathProperty}.tangentOnPath(percentage = 0.5, t = time)

获取路径上经过计算的任意点的出点手柄的 x、y 坐标。

{pathProperty}.normalOnPath(percentage = 0.5, t = time)

获取路径上经过计算的任意点的法线的 x、y 坐标。

{pathProperty}.createPath(points = [[0,0], [100,0], [100,100], [0,100]], inTangents = [], outTangents = [], is_closed = true)

根据一组点和切线创建路径对象

Property(属性)

value

返回当前时间点的属性值

valueAtTime(t)

返回指定时间点的值

velocity

返回当前时间的临时速度值

velocityAtTime(t)

返回指定时间的临时速度值

speed

返回指定当前时间的空间速度值

speedAtTime(t)

返回指定时间的空间速度值

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

随机摆动属性值

temporalWiggle(freq,amp,octaves=1,amp_mult=.5,t=time)

基于时间随机摆动

smooth(width=.2,samples=5,t=time)

随时间平滑属性值

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

循环关键帧

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

循环关键帧

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

循环关键帧

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

循环关键帧

key(index)

按数字返回 Key 或 MarkerKey 对象

key(markerName)

按名称返回 Key 或 MarkerKey 对象

nearestKey(t)

返回最接近指定时间的 Key 或 MarkerKey 对象

numKeys

返回标记属性的标记数目

name

返回属性或属性组的名称

active

是否激活属性

enabled

是否激活属性

propertyGroup(countUp=1)

返回与对其编写表达式的属性相关的属性组

propertyIndex

返回与其属性组中的其他属性相关的属性的索引

key(关键帧)

value

返回关键帧的值

time

返回关键帧的时间

index

返回关键帧的索引

MarkerKey(标记)

comment

标记对话框中的注释内容字段

chapter

标记对话框中的章节内容字段

url

标记对话框中的 URL 内容字段

franeTarget

标记对话框中的帧目标内容字段

eventCuePoint

标记对话框中的提示点类型设置

cuePointName

标记对话框中的提示点名称内容字段

parameters

标记对话框中的参数名称和参数值内容字段

duration

标记的持续时间

thisComp.marker.key(index).protectedRegion (独立)

标记是否保护

Project(项目)

fullPath

返回项目的绝对文件路径

linearBlending

返回项目颜色深度值

bitsPerChannel

返回是否使用灰度系数的布尔值

Text(文字图层)

getStyleAt()

获取某秒的某个字符的样式

createStyle()

创建一个空的样式,或者直接创建好所有样式

setText(value)

设置文字内容

fontSize

获取字体大小

setFontSize(value)

设置字体大小

font

获取字体名称

setFont(value)

设置字体

isFauxBold

是否为仿粗体

setFauxBold(value)

设置仿粗体

isFauxItalic

是否为仿斜体

setFauxItalic(value)

设置仿斜体

isAllCaps

是否全部大写

setAllCaps(value)

设置全部大写

isSmallCaps

是否全部小写

setSmallCaps(value)

设置全部小写

tracking

获取文本的字间距

setTracking(value)

设置文本的字间距

leading

获取文本的段间距

setLeading(value)

设置文本的段间距

autoLeading

是否文本为自动间距

setAutoLeading(value)

设置自动间距

baselineShift

获取基线偏移

setBaselineShift(value)

设置基线偏移

applyFill

是否应用填充

setApplyFill(value)

设置填充

fillColor

获取填充颜色

setFillColor(value)

设置填充颜色

apllyStroke

是否应用描边

setApllyStroke(value)

设置描边

strokeColor

获取描边颜色

setStrokeColor(value)

设置描边颜色

strokeWidth

获取描边宽度

setStrokeWidth

设置描边宽度