AE表达式对照
AE常用的一些表达式
A E常用的一些表达式(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--抖动表达式:wiggle(.5,100)我们经常在AE里制作文字特效,运用好表达式能获得很震憾的效果,wiggle 表达式使用率超高!下面是wiggle祥细解说,大家一定能很快理解的。
函数:- wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)参数:- freq 频率- amp 振幅- octaves 振幅幅度- amp_mult 频率倍频- t 持续时间说明:频率和振幅是必须具备的参数其他选填写例如wiggle(50,100)实例:- 打开AE CS4- 新建工程- 新建合成- 使用文字工具 Ctrl+T 在合成内输入文字- 给文字层应用动画预设(菜单 - 动画 - 应用动画预设)(..\Adobe\Adobe After Effects CS4\SupportFiles\Presets\Transform\Separate XYZ )- 查看控制效果 F3 (XYZ位置分离()- 按住ALT键点击该效果Y轴关键贞记录按钮(时钟图标)- 在表达式处输入:wiggle(50,100)- 播放,预览效果(这时已经可以看见通过wiggle函数,文字在不停的颤动)- 给文字层添加效果(表达式控制 - 滑动控制)- 将(XYZ位置分离)中Y轴上表达式改为str=effect(”滑动控制”)(”滑动”)wiggle(50,str)- 此时可以通过”滑动控制”中的滑杆控制文字Y轴振动幅度。
- 在”滑动控制”效果中加入关键贞,这样就可以控制wiggle振动幅度了。
看了这个帖子的回复,有很多说是看不懂,这里做一个更详细一些的说明,看得懂的就没必要看下去了,看不懂的继续看完,千万不要觉得自己看得懂就在后边说风凉话,变相的讥讽初学者,那并不代表你比别人聪明。
ae 万能表达式
AE 万能表达式AE 万能表达式是一种可以给各种属性添加弹性效果的表达式,它可以让动画更加有生气和动感。
AE 万能表达式的原理是利用数学函数和关键帧的速度来计算出一个随时间变化的值,然后加到原来的属性值上,从而产生弹性的运动。
AE 万能表达式的语句AE 万能表达式的语句如下:amp =.1; //振幅freq =2.0; //频率decay =2.0; //衰减n =0; //关键帧序号if (numKeys >0) { //如果有关键帧n =nearestKey (time).index; //找到最近的关键帧序号if (key (n).time> time) { //如果最近的关键帧在时间线后面n--; //序号减一,取前一个关键帧}}if (n ==0) { //如果没有关键帧t =0; //时间差为零} else { //如果有关键帧t = time -key (n).time; //计算时间差}if (n >0) { //如果有关键帧v =velocityAtTime (key (n).time- thisComp.frameDuration/10); //计算关键帧前一刻的速度value + v*amp*Math.sin (freq*t*2*Math.PI)/Math.exp (decay*t); //计算弹性值并加到原值上} else { //如果没有关键帧value; //保持原值不变}AE 万能表达式的参数AE 万能表达式的参数有四个,分别是振幅、频率、衰减和关键帧序号。
它们的含义和作用如下:振幅:控制弹性运动的幅度大小,值越大,幅度越大。
频率:控制弹性运动的快慢,值越大,频率越高,运动越快。
衰减:控制弹性运动的阻尼效果,值越大,阻力越大,运动越快停止。
关键帧序号:用来记录时间线前最后一个关键帧的位置,根据这个位置来计算时间差和速度。
AE 万能表达式的用法AE 万能表达式可以应用到各种属性上,比如位置、缩放、旋转、不透明度等。
AE表达式中英文对照表
AE表达式中英文对照表全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp描述合成内容的表达式。
例如:yer(2)Layer, Light, or Camera thisLayer是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式thisLayer.width或width 可获得同样的结果。
Property thisProperty描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被amount相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被amount相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在limit1 到li mit2之间。
Number dot(vec1, vec2) {vec1 和vec2 是数组} 返回点积, 结果为两个向量相乘。
5个最常用的AE表达式详解
5个最常⽤的AE表达式详解表达式能帮助我们快速地制作⼀些效果,避免重复造轮⼦,可以⾼效产出需要的效果注意:请使⽤英⽂版ae添加以免出现表达式错误1.弹性表达式 Bounce代码:n = 0;if (numKeys > 0){n = nearestKey(time).index;if (key(n).time > time){n--;}}if (n == 0){t = 0;}else{t = time - key(n).time;}if (n > 0 && t < 1){v = velocityAtTime(key(n).time - thisComp.frameDuration/10);amp = .06;freq = 3;decay = 5.0;value v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);}else{value;}使⽤⽅法:在ae中创建有两个关键帧的动画然后按住alt单击码表激活表达式输⼊栏,输⼊以上代码即可(开启运动模糊效果更好喔)2.抖动表达式 wiggle使⽤⽅法:wiggle就不⽤多说了吧,很常⽤,代码为 wiggle(x,y)第⼀个参数X表⽰抖动频率即1秒抖动多少次第⼆个参数表⽰抖动幅度具体需要根据你视频⽚段确定参数PS:记得把视频稍微放⼤⼀些以减少因为抖动导致的⿊边现象3. 挤压与伸展效果类似于果冻代码:maxDev = 13; // max deviation in pixelsspd = 30; //speed of oscillationdecay = 1.0; //how fast it slows downt = time - inPoint;x = scale[0] maxDev*Math.sin(spd*t)/Math.exp(decay*t);y = scale[0]*scale[1]/x;[x,y]使⽤⽅法:直接施加到你的⽬标图层上,动画参数可以直接修改上述表达式内的数值。
常用的ae表达式
常用的ae表达式AE表达式是Adobe After Effects软件中的一种脚本编程语言,它可以用于控制动画、图层、效果等元素的属性和行为。
下面将介绍一些常用的AE表达式。
1. 控制动画速度的表达式AE表达式可以通过调整动画的速度来实现一些特殊效果。
比如,可以使用"ease"函数来创建缓动效果,使动画在开始和结束时变慢,而在中间部分变快。
例如,可以使用下面的表达式来实现一个缓动效果:```t = time;duration = 2; // 动画持续时间startValue = 0; // 起始值endValue = 100; // 结束值ease(t, startValue, endValue, duration);```2. 控制图层位置的表达式通过AE表达式,可以根据时间或其他属性来控制图层的位置。
例如,可以根据时间来实现一个图层沿着曲线运动的效果:```time * 100, time * 100```这个表达式将根据时间来控制图层的X和Y坐标,使图层在水平和垂直方向上同时移动。
3. 控制图层旋转的表达式使用AE表达式可以根据时间或其他属性来控制图层的旋转。
例如,可以使用下面的表达式实现一个图层围绕中心旋转的效果:```rotation = time * 360; // 旋转角度[rotation, rotation] // X和Y轴的旋转角度```4. 控制图层透明度的表达式通过AE表达式可以根据时间或其他属性来控制图层的透明度。
例如,可以使用下面的表达式实现一个图层在一定时间内渐变消失的效果:```startOpacity = 100; // 起始透明度endOpacity = 0; // 结束透明度duration = 2; // 动画持续时间linear(time, startOpacity, endOpacity, 0, duration);```5. 控制图层缩放的表达式可以使用AE表达式来控制图层的缩放效果。
AE表达式
AE表达式由于After Effect 的表达式是属于一种脚本式的语言,因此After Effect本身提供给用户一个表达式库。
如下:GlobalVector mathRandom numbersInterpolationColor conversionOther mathJavaScript mathCompFootageLayer sub-objectsLayer generalLayer propertiesLayer 3DLayer space transformsCameraLightEffectMaskPropertyKey& Global :用于指定表达式的全局设置Comp :comp(name)给合成命名。
Footage :footage(name)为素材命名。
Comp :thisComp描述合成内容的表达式。
Eg:thisComp.(2)thisLayer 是一个指定的全局量。
EG:用表达式thisLayer.width或width可获得同样的结果。
Property :thisproperty 描述属性的表达式。
Number time :描述合成的时间,单位是秒。
Number colordepth :返回8或16表示色彩深度位数值。
EG 当项目的每通道的色彩深度为16位时colordepth返回16。
Number posterizetime (frames persecond){framespersecond是一个数}返回或改变帧率。
允许用这个表达式设置比这个合成低的帧率。
Vector math :进行矢量运算的一些数学函数Addp(vec1,vec2){ vec1和vec2是数组}:两个向量相加。
返回值为数组。
Sub(vec1,amount) :{ vec1是数组,amount是数} 两个向量相减。
返回值为数组。
Mul (vec1,amount): { vec1是数组,amount是数}:向量的每个元素被相乘。
ae高级循环表达式
ae高级循环表达式AE高级循环表达式是在Adobe After Effects软件中使用的一种表达式语言,用于实现复杂的循环和动画效果。
它可以通过控制关键帧的属性来创建自动化的效果,例如循环动画、循环路径和递增动画。
AE高级循环表达式使用JavaScript语法,并提供了一系列内置的函数和属性,可以让用户轻松地操作关键帧和图层属性。
以下是一些常见的AE高级循环表达式示例:1. 线性插值循环表达式:```loopTime = 3; // 循环时间(秒)linear(time % loopTime, 0, loopTime, 0, 100);```此表达式会在0到100之间循环变化,循环时间为3秒。
2. 循环路径表达式:```loopTime = 5; // 循环时间(秒)radius = 100; // 路径半径speed = 50; // 移动速度angle = degreesToRadians(time * speed); // 角度x = Math.sin(angle) * radius; // X坐标y = Math.cos(angle) * radius; // Y坐标[x, y]```此表达式会使图层在半径为100的圆上循环移动,循环时间为5秒。
3. 递增动画表达式:```loopTime = 5; // 循环时间(秒)startValue = 0; // 开始值endValue = 100; // 结束值increment = (endValue - startValue) / loopTime; // 递增值startValue + (time % loopTime) * increment```此表达式会从0递增到100,然后重新开始,循环时间为5秒。
以上是AE高级循环表达式的一些示例,用户可以根据自己的需求和创造力使用表达式创建各种复杂的动画效果。
Ae 表达式大全
Ae 表达式大全(中英对照)全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp 描述合成内容的表达式。
例如:(2)Layer, Light, or Camera thisLayer 是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式或 width 可获得同样的结果。
Property thisProperty 描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth 返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth 返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond 是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和 vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和 vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被 amount相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被amount相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在 limit1 到 limit2之间。
Number dot(vec1, vec2) {vec1 和 vec2 是数组} 返回点积, 结果为两个向量相乘。
Ae表达式大全(中英对照)
Ae 表达式大全(中英对照)全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp 描述合成内容的表达式。
例如:yer(2)Layer, Light, or Camera thisLayer 是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式 thisLayer.width 或 w idth 可获得同样的结果。
Property thisProperty 描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth 返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth 返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond 是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和 vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和 vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被 amount相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被amount相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在 limit1 到 limit2之间。
Number dot(vec1, vec2) {vec1 和 vec2 是数组} 返回点积, 结果为两个向量相乘。
完整版Ae表达式大全中英对照
Ae 表达式大全(中英对照)全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp 描述合成内容的表达式。
例如:yer(2)Layer, Light, or Camera thisLayer 是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式thisLayer.width 或width 可获得同样的结果。
Property thisProperty 描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth 返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth 返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond 是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被amount相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被amount相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在limit1 到limit2之间。
Number dot(vec1, vec2) {vec1 和vec2 是数组} 返回点积, 结果为两个向量相乘。
ae常用表达式
1.wiggle 抖动wiggle(freq频率, amp振幅, octaves = 1细节, amp_mult = .5乘赋值, t = time)用法wiggle(5,200)2.random 随机random(数值x,数值y)是在数值x到数值y之间进行随机值的抽取,随机抽取的最小值是x,最大值是y用法:random(1,10)gaussRandom(),有10%会跳出范围seedrandom(随机的种子数,timeless) 1是ture 0是false用法:seedRandom(9, timeless = true);random(20,100)获得第9个随机数值并且不随时间变化。
每次复制后都会产生20到100的不同的随机数值。
noise -1到1的值Example: noise(time3)10区别noise关键帧之间有关联,更柔缓3.loopOut 循环loopOut(type=”循环类型”,numkeyframes=0)numKeyframes=0的话表示所有的关键帧都会循环循环类型四种:pingpong 如乒乓球一样来回运动cycle 周而复始的来回运动offset 叠加之前关键帧数值循环continue延续属性变化的最后速度用法:loopOut(type = “cycle”, numKeyframes = 0)4.time 时间valueAtTime(t)延迟效果用法:连接属性后边加上“.valueAtTime(time-(index-1)*0.1)”5.timeRemap 抽帧timeRemap数值,这里数值以帧为单位用法:在素材上鼠标右键时间重映射上输入timeRemap106.index 图层序号常见的就是把index丢到位置上做立体字,如[transform.position[0],transform.position[1],index],复制很多层就是立体字了丢到缩放上,如[transform.scale[0]+index,transform.scale[1]+index],复制很多层文字就慢慢变大了其他参数可以自己尝试7length(vec)矢量的长度length(point1, point2),两个点的长度lookAt(fromPoint, atPoint)从一个向量看向另一个向量应用:a=yer(“cycle”).transform.position[0]b=yer(“cycle 2”).transform.position[0]length(a,b)a和b分别使用拉索工具链接到两个圆形位置的属性X值,这样文本层就可以即时获取到两个圆形的间距。
(完整word版)AE常用表达式
表达式书写P 位置例子:[100,100]如果打开三维开关则写为 [100,100,300]如果想得到3维效果,[100,100,index*5],然后直接复制该图层很多.这里面的数值都可以通过滑块儿来控制。
1。
运动回弹 Keyframe Overshoot:freq = 3;decay = 5;n = 0;if (numKeys > 0){n = nearestKey(time).index;if (key(n).time 〉 time) n-—;}if (n 〉 0){t = time - key(n)。
time;amp = velocityAtTime(key(n)。
time - .001);w = freq*Math。
PI*2;value + amp*(Math.sin(t*w)/Math。
exp(decay*t)/w);}elsevalue2。
物体下缀重力回弹 Keyframe Bounce Back:e = .7;g = 5000;nMax = 9;n = 0;if (numKeys > 0){n = nearestKey(time)。
index;if (key(n)。
time 〉 time) n—-;}if (n 〉 0){t = time - key(n)。
time;v = -velocityAtTime(key(n)。
time — .001)*e;vl = length(v);if (value instanceof Array){vu = (vl 〉 0) ? normalize(v) : [0,0,0];}else{vu = (v < 0) ? -1 : 1;}tCur = 0;segDur = 2*vl/g;tNext = segDur;nb = 1; // number of bounceswhile (tNext < t && nb 〈= nMax){segDur *= e;tCur = tNext;tNext += segDur;nb++}if(nb <= nMax){delta = t — tCur;value + vu*delta*(vl - g*delta/2);}else{value}}else value3。
AE表达式
AE表达式Global ==========comp(name)footage(name)thisComptimecolorDepthPosterizeTime(framesPerSecond)timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)framesToTime(frames, fpos = 1.0 / thisComp.frameDuration) timeToTimecode(t = time + thisComp.displayStarTime, timecodeBase = 30, isDuration = false)timeToNTSCTimecode(t = time + thisComp.displayStarTime, ntscDropFrame = false, isDuration = false)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) ------------------------------------------------------=============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)------------------------------------================Random Numbers =================seedRandom(seed, timeless = false)seed 是一个数, 默认 timeless 为 false取现有的seed 增量一个随机值,这个随机值依赖于层的index (number) 和 stream (property).但不总是这样例如seedRandom (n, true)通过给第二个参数赋值 true ,seedRandom()获取一个0到1间的随机数-------------------------------------------------------------random()返回0和1间的随机数,也可指定随机数值例: random() //返回0和1间的随机数random(1,100) //返回1和100间的随机数--------------------------------------------------------------random(maxValOrArray)random(minValOrArray, maxValOrArray)gaussRandom()gaussRandom(maxValOrArray) gaussRandom(minValOrArray, maxValOrArray) noise(valOrArray)-------------------------------===============Interpolation ================linear(t, value1, value2)linear(t, tMin, tMax, value1, value2)ease(t, value1, value2)ease(t, tMin, tMax, value1, value2)easeIn(t, value1, value2)easeIn(t, tMin, tMax, value1, value2) easeOut(t, value1, value2)easeOut(t, tMin, tMax, value1, value2)-------------------------------------==================Color Conversion ===================rgbToHsl(rgbaArray)hslToRgb(hslaArray)------------------------============Other Math =============degreesToRadians(degrees) radiansToDegrees(radians)---------------------------=================JavaScript Math ================== Math.cos(value)Math.acos(value)Math.tan(value)Math.atan(value)Math.atan2(y, x)Math.sin(value)Math.sqrt(value)Math.exp(value)Math.pow(value, exponent) Math.log(value)Math.abs(value)--------------------------------- Math.round(value)取距离目标数值最近的整数a = random(1,30)Math.round(a)%15 == 0-------------------------------- Math.ceil(value)Math.floor(value)Math.min(value1, value2) Math.max(value1, value2) Math.PIMath.EMath.LOG2EMath.LOG10EMath.LN2Math.LN10Math.SQRT2Math.SQRT1_2----------------------------- =======Comp ========layer(index)layer(name)layer(otherLayer, relIndex) markernumLayers activeCamerawidthheightduration displayStartTime frameDuration shutterAngle shutterPhasebgColorpixelAspectname-----------------------=========Footage ==========widthheightdurationframeDuration pixelAspectname-------------------------=================== Layer Sub-objects ==================== sourceeffect(name)effect(index)mask(name)mask(index)----------------------------=============== Layer General ================ widthheightindexparenthasParentinPointoutPointstartTimehasVideohasAudioenabledactiveaudioActivesampleImage(point, radius = [.5, .5], postEffect = ture, t = time)--------------------==================Layer Properties ===================anchorPointpositionscalerotationopacityaudioLevelstimeRemapmarkername-----------------------==========Layer 3D ===========orientationrotationXrotationYrotationZlightTransmissioncastsShadowsacceptsShadowsacceptsLightsambientdiffuseshininessmetal---------------------======================== Layer 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 =========pointOfInterestzoomdepthOfFieldfocusDistanceapertureblurLevelactive-----------============== pointOfInterest intensitycolor coneAngle coneFeather shadowDarkness shadowDiffusion -------------======== Effect ========= activeparam(name) param(index) name----------====== Mask ======= maskOpacity maskFeather maskExpansion invertname------------========== Property ===========-------返回当前值另类用法:例:旋转赋值 100 ,为旋转添加表达式time * value;time与value返回的值(100)相乘,随着时间的增加而增加例:旋转赋值 100 ,为旋转添加表达式time * value;time与value返回的值(100)相乘,随着时间的增加而增加-----------------------------------------------------------------------valueAtTime(t)velocityvelocityAtTime(t)speedspeedAtTime(t)--------------------------------------------------------------------------[[常用]]wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)freq, amp, octaves, ampMult, 和t 是数,属性值随机摆动(wiggles)Freq 计算每秒摆动的次数,用于计算属性的基本幅度单位octaves 是加到一起的噪声的倍频数,ampMult 与 amp 相乘的倍数t 基于开始时间例1.wiggle(2,20)例2.wiggle(7,30,3)------------------------------------------------------------------------------------------temporalWiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)freq, amp, octaves, ampMult, 和 t 是数取样摆动时的属性值Freq 计算每秒摆动的次数,用于计算属性的基本幅度单位octaves 是加到一起的噪声的倍频数,ampMult 与 amp 相乘的倍数。
ae中曲线的表达式
AE中曲线的表达式可以使用数学函数来描述。
以下是一些常用的数学函数及其在AE中的应用:
1. 线性函数:y = mx + b,用于创建直线。
2. 二次函数:y = ax^2 + bx + c,用于创建抛物线。
3. 三次函数:y = ax^3 + bx^2 + cx + d,用于创建三次曲线。
4. 指数函数:y = a^x,用于创建指数增长或衰减的效果。
5. 对数函数:y = log(a)x,用于创建对数增长或衰减的效果。
6. 正弦函数:y = sin(x),用于创建周期性波动的效果。
7. 余弦函数:y = cos(x),用于创建周期性波动的效果。
8. 正切函数:y = tan(x),用于创建周期性波动的效果。
9. 平方根函数:y = sqrt(x),用于创建平方根效果。
10. 绝对值函数:y = abs(x),用于创建绝对值效果。
ae常用表达式
ae常用表达式AdobeAfterEffects(AE)是一款功能强大的视频编辑软件,它可以让用户在视频中添加动态视觉效果,而AE常用表达式就是AE软件中最重要的工具之一,它使得AE软件用户能够快速和高效地制作出真实动态的视觉效果。
AE常用表达式是一种表达式脚本,它的构成大致类似于以下代码:source=yer(ametransform;destination=yer(ametransform;n=0;while(n<source.numProperties){destination.property(n).value=source.property(n).value; n++;}这里最重要的就是表达式的构成:source的构成,运算符,以及destination的构成。
其中,source可以包括目标层中的位置、大小、旋转等属性,而destination则可以包括放置在目标层上的其他属性。
通过综合使用这些AE常用表达式,用户就可以在AE软件中实现许多各式各样的精美视觉效果,比如通过给目标层添加一个表达式,就可以让它的尺寸随着时间的流逝而逐渐放大;比如通过在目标层上添加另一个表达式,就可以让它在屏幕上改变颜色,等等。
此外,AE还支持许多其他强大的表达式,比如控制视频播放速度的表达式,以及为视频添加淡入淡出效果的表达式等等。
这些强大的表达式能够大大提高AE软件用户的制作效率,让用户能够创作出各种炫酷的视频特效效果。
总之,AE常用表达式是AE软件中的一个非常强大的功能,它的存在使得AE软件用户能够更加快速、高效地制作出各类真实动态的视觉效果,从而使视频制作者能够创作出更加灵活的视觉效果,让观众的视觉感受更加完美。
ae表达式大全
A e表达式大全(中英对照)(总18页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--Ae 表达式大全(中英对照)全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp 描述合成内容的表达式。
例如:(2)Layer, Light, or Camera thisLayer 是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式或 width 可获得同样的结果。
Property thisProperty 描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth 返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth 返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond 是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和 vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和 vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被 amo unt相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被 amou nt相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在 lim it1 到 limit2之间。
ae弹跳表达式
ae弹跳表达式方法1先附上末帧的弹性表达式:amp=0.1;freq=2;decay=2;n=numKeys;if(n==0){value;}else{t=time-key(n).time;if(t>0){v=velocityAtTime(key(n).time-thisComp.frameDuration/10); value+v*amp*Math.sin(freq*2*Math.PI*t)/Math.exp(decay*t);}else{value};}2表达式解析:首先,定义变量并赋值amp =0.1;(振幅)freq = 2.0;(频率)decay = 2.0;(衰减)n=numKeys;(关键帧的数量)3有两种情况,一种是n等于0,没有关键帧,直接返回物体本身位置的值,if(n==0){value;}4另一种是当n不等于0时,也就是说key了关键帧时的情况。
首先要明确以下的这些判定都是在n不等于0的条件下成立的,所以else这里用了一个嵌套。
else{5无论有几个关键帧,都希望在最后一个关键帧处开始做弹性动画,所以首先要判定指针与末帧的位置关系。
{t=time-key(n).time;}6当t>0,指针在末帧的右侧,开始做弹性动画。
if(t>0)7要让物体到达末帧后速度越来越小,直到0的时候,再返回回去,就像一个正弦运动。
首先要找到物体在末帧的速度值,因为末帧物体停止,所以此处应该找到指针在末帧左侧并无限逼近末帧时的物体的速度值。
{v=velocityAtTime(key(n).time-thisComp.frameDuration/2);8因为正弦运动是等幅的,但要让它随着时间的推移,幅度越来越小,所以要在正弦函数上除以一个随着时间推移成指数倍增大的一个值。
value+v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);}9当t<=0时,即指针在末帧左侧,此时直接返回物体本身位置值。
AE常用表达式解析
AE常用表达式解析1.slider表达式的运用------------通过expression control中的 slider控制一个定值变化假如控制变化的随机位移然后让其停止slider=effects("SliderControl")("Slider")然后对slider做函数运算例如随机函数wiggle(8,slider)这样就可以控制表达式。
也可以控制摄像机镜头的调整。
2.wiggle的运用---------------假如在做随机函数的控制时wiggle(5,40)[0]中括号里面的数值0表示---XYZ在AE中定义的是 X轴用0表示 Y用1表示 Z用2表示。
5是每秒抖动5次,40是每次抖动40个像素。
通常和摄像机的position(位移) 和 pointof interest(聚焦点)一起使用,对摄像机的镜头进行调整。
抖动表达式还可以和mask的移动,人偶工具的节点进行抖动的设置。
3.smooth表达式的运用:平滑表达式,这是可以使素材进行平滑效果的表达式smooth(),括号里面的默认值是0.2和5.就是smooth(0.2,5)0.2表示--每多少秒进行平滑。
5表示--采样率,采样率越高越平滑。
平滑表达式在跟踪素材时会常常用到。
4.random表达式的运用:随机表达式random()random(1,10)是在1到10之间进行随机值的抽取,随机抽取的最小值是1,最大值是10[layerStyle.gradientOverlay.effect[0],random(5,15)]这句表达式的意思是在layer的gradientOverlay的第一个数值不改变,effect[0]就是代表gradientOverlay的x值,effect是第二个值,即是y值。
在这里 x值不变,y值是random(5,15)5.loopOut表达式的运用:循环表达式基本格式:loopOut(type="类型",numkeyframes=0)loopOut(type="pingpong",numkeyframes=0)这是个兵乓的类型的循环,就像那样兵乓球的作用来使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AE表达式很多人觉得比较深奥,其实不然,弄懂了原理用AE表达式能解决很多问题!我们先来看一些AE表达式相关的东西:首先来看看:ae表达式中英对照全局对象Comp comp(name) 用另一个名字给合成命名。
Footage footage(name) 用另一个名字给脚本标志命名。
Comp thisComp 描述合成内容的表达式。
例如:yer(2)Layer, Light, or Camera thisLayer 是对层本身的描述,thisLayer是一个默认的对象,对它的应用是可选的。
例如, 用表达式thisLayer.width 或width 可获得同样的结果。
Property thisProperty 描述属性的表达式。
例如,如果写一个旋转属性的表达式就能获取旋转属性的值。
Number time 描述合成的时间, 单位是秒。
Number colorDepth 返回8或16表示的彩色深度位数值。
例如, 当项目的每通道的彩色深度为16位时colorDepth 返回16 。
Number posterizeTime(framesPerSecond) {framesPerSecond 是一个数}返回或改变帧率。
允许用这个表达式设置比合成低的帧率。
向量数学方法Array add(vec1, vec2) {vec1 和vec2 是数组} 两个向量相加。
Array sub(vec1, vec2) {vec1 和vec2 是数组}两个向量相减。
Array mul(vec1, amount) {vec1 是数组, amount 是数} 向量的每个元素被amount相乘。
Array div(vec1, amount) {vec1 是数组, amount 是数}向量的每个元素被amount相除。
Number or Array Clamp(value, limit1, limit2) 限制value中每个元素的值在limit1 到limit2之间。
Number dot(vec1, vec2) {vec1 和vec2 是数组} 返回点积, 结果为两个向量相乘。
Array [2 or 3] cross(vec1, vec2) {vec1 和vec2 是数组[2 or 3]} 返回向量的交积。
Array normalize(vec) {vec 是数组} 格式化一个向量,如某长度表示为1.0.Number length(vec) {vec是数组}返回向量的长度。
Number length(point1, point2) {point1 and point2 是数组}随机数方法Nothing seedRandom(seed, timeless=false) {seed 是一个数, 默认timeless 为false} 取现有的seed 增量一个随机值,这个随机值依赖于层的index (number) 和stream (property),但不总是这样. 例如, seedRandom (n, true)通过给第二个参数赋值true ,seedRandom()获取一个0到1间的随机数.Number random()返回0和1间的随机数.Number or Array random(maxV alOrArray) {maxV alOrArray 是一个数或数组}返回0到maxV al 间的数,维度与maxV al相同; 或返回与maxArray相同维度的数组, 数组的每个元素在0 到maxArray之间Number or Array random(minV alOrArray, maxV alOrArray) {minV alOrArray 和maxV alOrArray 是一个数或数组} 返回一个minV al 到maxV al间的数, 或返回一个与minArray和maxArray有相同维度的数组,其每个元素的范围在minArray 与maxArray之间.例如, random([100, 200], [300, 400]) 返回数组的第一个值在100 到300间, 第二个值在200 到400间.如果两个数组的维度不同,较短的一个后面自动用0补齐.Number gaussRandom()返回一个0到1之间的随机数. 结果为钟形分布,大约90%的结果在0 到1之间, 剩余10%在边沿.Number or Array gaussRandom(maxV alOrArray){maxV alOrArray是一个数或数组}当用maxV al,它返回一个0到maxV al之间的随机数. 结果为钟形分布,大约90%的结果在0到maxV al之间,剩余10%在边缘.当用maxArray,它返回一个与maxArray相同维度的数组, 结果为钟形分布,大约90%的结果在0到maxArray之间, 剩余10%在边缘.Number gaussRandom(minV alOrArray, maxV alOrArray){minV alOrArray和maxV alOrArray是一个数或数组} 当用minV al和maxV al, 它返回一个minV al到maxV al之间的随机数. 结果为钟形分布,大约90%的结果在minV al到maxV al之间, 剩余10%在边缘.当用minArray和maxArray, 它返回一个与minArray和maxArray相同维度的数组, 结果为钟形分布,大约90%的结果在minArray到maxArray之间, 剩余10%在边缘. 剩余10%在边缘.Number noise(valOrArray) {valOrArray是一个数或数组[2 or 3]}返回一个0到1间的数.噪声不是事实上的随机,但它是在样本附近相关的随机数.它基于花边噪声. 例如, add(position, noise(position)*50).插值方法Number or Array linear(t, value1, value2) {t 是一个数, value1 和value2 是一个数或数组}当t 的范围从0到1时,返回一个从value1到value2的线性插值。
当t <= 0时返回value1,当t >= 1时返回value2 。
.Number or Array linear(t, tMin, tMax, value1, value2) {t, tMin和tMax are 数, value1和value2 是数或数组} 当t <= tmin时返回value1;当t >= tMax时,返回value2 ;当tMin < t < tMax 时,返回value1和value2 的线性联合。
Number or Array ease(t, value1, value2) {t 是一个数, value1 和value2 是数或数组} 返回值与linear相似, 但在开始和结束点的速率都为0。
这种方法的结果是动画非常平滑。
Number or Array ease(t, tMin, tMax, value1, value2) {t, tMin, 和tMax 是数, value1 和value2 是数或数组} 返回值与linear相似, 但在开始和结束点的速率都为0。
这种方法的结果是动画非常平滑。
Number or Array easeIn(t, value1, value2) {t 是一个数, and value1 and value2 是数或数组} 返回值与ease相似, 但只在切入点value1 的速率为0,靠近value2 一边是线性的。
Number or Array easeIn(t, tMin, tMax, value1, value2) {t, tMin和tMax 是一个数, value1和value2 是数或数组}返回值与ease相似, 但只在切入点tMin 的速率为0,靠近tMax 一边是线性的。
Number or Array easeOut(t, value1, value2) {t 是一个数, value1和value2 是数或数组}.返回值与ease相似, 但只在切入点value2 的速率为0,靠近value1 一边是线性的。
Number or Array easeOut(t, tMin, tMax, value1, value2) {t, tMin和tMax 是数, value1 value2 是数或数组} 返回值与ease相似, 但只在切入点tMax的速率为0,靠近tMin 一边是线性的。
彩色转换方法Array [4] rgbToHsl(rgbaArray) {rgbaArray 是数组[4]} 转换RGBA彩色空间到HSLA彩色空间。
输入数组指定红、绿、蓝、透明,它们的范围都在0.0 到 1.0之间。
结果值是一个指定色调、饱和度、亮度和透明的数组,它们的范围都在0.0 到 1.0之间。
例如, rgbToHsl.effect("Change Color")("Color To Change")。
Array [4] hslToRgb(hslaArray) {hslaArray 是数组[4]}. 转换HSLA彩色空间到RGBA彩色空间。
其操作与rgbToHsl相反。
其它数学方法Number degreesToRadians(degrees)转换度到弧度。
Number radiansToDegrees(radians) 转换弧度到度。
Comp属性和方法--------------------------------------------------------------------------------Layer, Light, or Camera layer(index) {index 是一个数} 得到层的序数(在时间线窗口中的顺序). 例如, yer(3).Layer, Light, or Camera layer("name") {name是一个字串} 得到层名。
指定的名字与层名匹配,或者在没有层名时与源名匹配。
如果存在重名,After Effects 使用时间线窗口中的第一个. 例如, yer("Solid 1").Layer, Light, or Camera layer(otherLayer, relIndex) {otherLayer 一个层对象,relIndex 是一个数} 得到otherLayer (层名)上面或下面relIndex (数) 的一个层。