您好,欢迎访问三七文档
AE表达式图解+java基础语言图解先补充一些后面用表达式的时候可能用的到一些小知识点。(不理解没关系,死记就可以了,后面自然懂)1.点击名字后按回车键就可以重复名选取图层按shift+ctrl+Y可以更改设置2.给合成打标记点shift+数字按键给图层打标记点按*按键3.value返回类型:数值、数组或字符串表示当前时间属性的值index返回类型:数值返回指定对象的在它所处的同一组属性关系的序值wiggle(频率,振幅)这三个表达式经常用所以就先丢这了。4.[]中括号里面是数组数与数直接用逗号隔开当括号里1个数的时候为1维度2个的时候2维度以此类推如下图可以将数组对象分配给变量,从而应用到另外的表达式中且变量后跟[0]表示第一个纬度值[1]表示第二个纬度值以此类推如下图颜色表示为四维数组[red,green,blue,alpha]。在颜色深度为8bpc或16bpc的项目中颜色数组中的每个值都介于0(黑色)到1(白色)之间。例如,red可以介于0(无色)到1(红色)之间。因此,[0,0,0,0]是黑色且透明,[1,1,1,1]是白色且完全不透明。在颜色深度为32bpc的项目中,允许小于0和大于1的值。5.运算符号(后面的java基础语言会提到)6.在A表达式E里面返回逻辑值为true=1false=0如图另外后面表达式中会出现用01234.....代替返回的某一属性在此不举例7.当某表达式返回字符串的时候这个表达式可以应用在文字上8.给表达式添加注译//内容or/*内容*/如图9.在AE中当前合成左上角的顶点为空间坐标轴的原点即原点[0,0,0]右下角顶点值为[x=合成的宽,Y=合成的高,z=0]=======================================================================这图看不懂没关系一开始我也看不懂233,记住就可以。-------------------------------------------------------------------------------------------------------------这表达式的意思是返回当前合成的图层名为Solid1的旋转值(括号内为数值时候不需要双引号为名字的时候要加数值则为图层序号)要想表达式正确运行就要书写好表达式,及确认这个表达式最终返回的是什么将其应用到正确的位置上才能生效(若表达式返回1纬度数值却应用到2纬度属性上则出错,例如上述表达式用到位置属性上是错的)若要从某图层提取数据的属性,必须首先标定一个全局对象确定了全局对象后,我们就需要设置属于该对象的次级对象、属性或者是方法如左图红线圈的是(全局)对象,它们里面的属性和方法要跟在它们本身后面才能生效以下顺序是按着上面的AE表达式栏来着=========================全局对象、属性和方法=========================thisProperty返回类型:属性指定属性这个是补充的AE表达式栏里面没有后面会用到thisLayer返回类型:图层,灯光,摄像机指定当前图层即对本层的描述AE表达式栏里面没有若是返回本图层的某个属性则可以简写例如,thisLayer.opacity和opacity结果一样comp(name)返回类型:合成按名字指定其他的合成对象thisComp返回类型:合成指定当前合成time返回类型:数值返回当前时间线所在的时间值减去合成开始的时间值footage(name)返回类型:素材指定项目里的素材的对象colorDepth返回类型:数值返回8或16表示的彩色深度位数值。例如,当项目的每通道的彩色深度为16位时colorDepth返回16。以下七个表达式建议把后面的搞懂后再回头看这样更容易理解1.posterizeTime(framesPerSecond)返回类型:数值framesPerSecond为其余表达式运行的帧速率此表达式允许您将属性的帧速率设置为低于合成的速率。例如,以下表达式每秒使用随机值更新一次属性值posterizeTime(1);random()当括号里面数值为2时数值变化2次为3时数值变化3次类推...2.timeToFrames(t=time+thisComp.displayStartTime,fps=1.0/thisComp.frameDuration,isDuration=false)返回类型:数值这个表达式得出的值为括号里面的两个数前后相乘如下图thisComp.displayStartTime表示返回当前合成的开始时间值thisComp.frameDuration表示返回当前合成的每秒一帧的持续时间值(这两个在后面的合成的属性和方法中有图解)isDuration=false默认值可以删除即fps=1.0/thisComp.frameDuration表示当前合成每秒的帧数即帧数率timeToFrames(t=time+thisComp.displayStartTime,fps=1.0/thisComp.frameDuration,isDuration=false)这个表达式得出得值就是当前时间的帧数值如下图3.framesToTime(frames,fps=1.0/thisComp.frameDuration)返回类型:数值为上面的逆运算timeToFrames()得出的值为括号里面的两个数前后相除4.timeToTimecode(t=time+thisComp.displayStartTime,timecodeBase=30,isDuration=false)返回类型:字符串这个表达式是将t的值转换为表示时间码的字符串timecodeBase用于指定一秒内的帧数如下图5.timeToNTSCTimecode(t=time+thisComp.displayStartTime,ntscDropFrame=false,isDuration=false)返回类型:字符串这个表达式是将t转换为表示NTSC时间码的字符串电影胶片24帧/秒PAL制25帧/秒NTSC29.97帧/秒合成设置为29.97帧的时候这个表达式时间码才能正确显示否者如下图当ntscDropFrame=false默认值的时候字符串为NTSC未丢帧时间码当ntscDropFrame=true的时候字符串为NTSC丢帧时间码如下图6.timeToFeetAndFrames(t=time+thisComp.displayStartTime,fps=1.0/thisComp.frameDuration,framesPerFoot=16,isDuration=false)返回类型:字符串这个表达式是将t的值转换为表示胶片和帧的英尺的字符串framesPerFoot参数指定一英尺胶片中的帧数默认为16如图7.timeToCurrentFormat(t=time+thisComp.displayStartTime,fps=1.0/thisComp.frameDuration,isDuration=false,ntscDropFrame=thisComp.ntscDropFrame)返回类型:字符串这个表达式是将t的值转换为表示采用当前项目设置显示格式的时间的字符串如图=================向量数学方法=================add(vec1,vec2)返回类型:数组vec1和vec2是数组返回两个数组相同纬度数的相加值sub(vec1,vec2)返回类型:数组vec1和vec2是数组返回两个数组相同纬度数的相减值mul(vec1,amount)返回类型:数组vec1是数组,amount是数值返回数组的每个元素被amount相乘。div(vec1,amount)返回类型:数组vec1是数组,amount是数值返回数组的每个元素被amount相除。Clamp(value,limit1,limit2)返回类型:数值或数组value,limit1,limit2是数组限制value中每个元素的值在limit1到limit2之间dot(vec1,vec2)返回类型:数值vec1和vec2是数组返回两数组的点积即结果返回为两数组同维度数的乘积再相加的值cross(vec1,vec2)返回类型:数组2or3维度vec1和vec2是数组[2or3]返回两数组的向量积向量积也被称为矢量积、叉积(即交叉乘积)、外积,是一种在向量空间中向量的二元运算。与点积不同,它的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量垂直。(具体算法自行百度,其实是我不知道该怎么解释这个算法←←)normalize(vec)返回类型:数组vec是数组这个表达式标准化向量使其长度为1normalize方法是执行运算div(vec,length(vec))的简便方法length(vec)返回类型:数值vec是数组返回向量的长度length(point1,point2)返回类型:数值point1与point2是数组返回两点之间的距离即两数组的同维度数相减的绝对值再相减的绝对值length(point1,point2)与length(sub(point1,point2))返回值一样如下图有两个表达式所处位置不对故不能呈现正确值所以是错误的lookAt(fromPoint,atPoint)返回类型:Array(角度的数值,三维度)参数fromPoint是您要定向的图层的世界空间中的位置。参数atPoint是您要将图层指向的世界空间中的点。返回值可用作方向属性的表达式,使图层点的z轴指向atPoint。此方法对摄像机和光照特别有用(AK大神教程的41期有讲到物体面朝摄像机的)如图用了表达式lookAt(position,thisComp.layer(Light1).transform.position)后图层和灯光的z轴朝向一致即移动灯光位置图层一直面朝着灯光=========================随机数方法=========================seedRandom(seed,timeless=false)返回类型:无类型seed是一个数,默认timeless为false取现有的seed增量一个随机值如图单个表达式seedRandom(seed,timeless=false)是无效的底下还要跟一个其他的随机表达式random()返回类型:数值返回0和1间的随机数random(maxValOrArray)返回类型:数值或数组当括号里的是一个数返回0到maxVal间的数,当括号里面的是两个以上的数组返回与maxArray相同维度的数组,数组的每个元素在0到maxArray之间random(minValOrArray,maxValOrArray)返回类型:数值或数组当minValOrArray和maxValOrArray是数值的时候返回一个他们之间的数当minValOrArray和maxValOrArray是数组的时候返回相同维度的数组,其每个元素在两数组相同维度数的之间例如,random([100,200],[300,400])返回数组的第一个值在100到300间,第二个值在200到400间.如果两个数组的维度不同,较短的一个后面自动用0补齐以下三个表达式数与数组书写同上取值类似成钟型分布百分90%在两者间剩下取值在最大值和最小值附近gaussRandom()gaussRandom(maxValOrArray)gaussRandom(minValOrArray,maxValOrArray)noise(valOrArray)返回类型:数值valOrArray是一个数或数组返回一个-1到1间的数注:当括号里的单数为整数的时候取值为0数组不会=========================插值方法=========================linear(t,value1,value2)返回类
本文标题:AE表达式图解
链接地址:https://www.777doc.com/doc-6992907 .html