昨天花了一点的时间把Harry Frank的表达式基础看完啦,加上之前看1123和BP有关表达式的教程,勉强算得上入门吧,今天把相关笔记整理了一下。
JS中的相关概念
去年Mark了一篇有关《AE表达式新手入门免坑提示》中总结的还不错,寒假学了一点JS的基础,基本上都能理解
数组 myArr =Array[value,value]
通过Index(索引)获取数组中的数据,index从0开始计数,数组中第一个值得index为0。
AE中的index表示图层序列。
调用:数组名[index] -> myArr[0]
Harry Frank 笔记
valueAtTime(time-0.2) 当前时间前面0.2秒位置
value:添加表达式的属性的数值:如在position下value = position;
random 产生随机数:random(1) 0~1 ;random(-1,1)
seedRandom():只生成一个随机数
timeless 决定是否每一帧都生成随机的数值 true(1) or false(0) 默认为false
seedRandom(2,true) 生成一个随机数后保持不变
Math.round() 取整 四舍五入找整数;若要精确到一位 乘10再除10
Math.floor() 向下寻找最近的整数
幂运算 10^6 = Math.pow(10,6)
thisComp.numLayers 当前合成的图层数
thisComp.height 当前合成的高度 单位px
split 字符拆分
随时间循环数组:Math.floor(time)%ArrLength 整数取模循环
Expression Controls
clamp(value,value1,value2):v = clamp(t,0,1) t不管取何值 返回值V在0和1之间
r = Math.round(random(-1,1));
v = clamp(r,0,1);
v取1的概率为1/3 输出为0和1 作为乘数可以看做开关
linear(t,tMin,tMax,value1,value2)t = linear(time,1,4,0,20)
time在1-4变化 linear的返回值t在0-20变化
linear(time,inPoint,outPoint,value,value + [20,20]):time从入点到出点所在属性的值从初始值的基础上加上[20,20] 数值重映射