1、wiggle()抖动表达式,你可以利用这个表达式作用在几乎 ae 参数中的任何一个,格式就是这样,并且可以设置它变化幅度的大小,不对是就是用来设这幅度大小的。当然后面你都可以用乘除,用来作用于你赋予的参数 好比你将这个表达式作用于 scale 大大小小的效果不错。ae 中有一个 wiggle 面板其实是挺好使得,甚至比这个操作细节更大,但是比这个麻烦啊。 time 这个是表达式中常用的,因为你做动画师通过时间线也就是 timeline 来搞,所以利用这个 time 表达式是最最直接和方便的,凡是复杂的表达式你都可以看到他的影子。例如 particular 里面有 revolution 分型噪波
2、里面也有 time*60 就可以让他的频率快上 60 倍。 index 是层的值,例如你是第一层 index 的值就是 1,此量一般用于层的复制,例如你在 ae 中要做 3d 的文字层,一层一层的复制然后向后移动,你可以在 z的 position 位置上加入 index+1 便是了,随着层的复制他也会先后移动一个像素。 最常用的要数 value,其实这个量的就是数值的意思,你可以用这个量来表示position 也可以是 scale 还可以是透明度,反正作用于哪个层,他代表的就是这个层的属性,是个最标准的全能表达式。你要知道每个表达式赋予哪个属性,就只能作用于这个层,这样你就能明白为什么 val
3、ue 能够如此逍遥法外了。 呵呵呵呵 例如 linear()等的表达式就比较不如这些常用了,这只是表达式的第一步。 在 ae 中懂得一些基本的知识还是非常必要的,你要明白其实所谓的表达式就是java 语言,而 java 语言和最基本的程序语言都是相通的,无非是用英语写出一些数学表达式而已,你学习数学的时候都学过的。我们来说说 random()从其字面意思来看就是随机的意思,和 wiggle()不同wiggle 应该是随机抖动哈哈哈 “random 同样也是可以应用在几乎任何地方了,也就是任何属性上了,“上一句话你可以试一试,绝对的,你自己试一试,看看是该表扬我,还是批评我。random(a,b
4、)随机数载 a-b 之间随机变化,他作用于 text source 的时候只要是 text 就可以应用,而且数值在 a 和 b 之间随机变动。说说 seedrondom(a,b)seedRandom 就是控制 random 的,你看看 seed 什么意思啊种子的意思,可以这么理解-随机变化的源,生出 random。额,暂且这么理解吧。a 表示他的一种随机数值方式。b 表示 timeless,如果 b 的值是 0 那么 timeless 不激活是 1 的时候激活了,timeless 知道在哪里吧,右键单机图层,fraze frame 冻结差不多是一样的吧,我个人这么理解的。if。else,造个句
5、子 如果。那么。要不if()else()绝对很常用 if()result1elseresult2空间转换方法-Array 2 or 3 toComp(point, t = time) point 是一个数组2 or 3, t 是一个数 从层空间转换一个点到合成空间,例如, toComp(anchorPoint)。Array 2 or 3 fromComp(point, t=time) point 是一个数组2 or 3, t 是一个数从合成空间转换一个点到层空间。得到的结果在 3D 层可能是一个非0 值。例如 (2D layer), fromComp(thisComp.layer(2).pos
6、ition).Array 2 or 3 toWorld(point, t=time) point 是一个数组2 or 3, t 是一个数 从层空间转换一个点到视点独立的世界空间。例如, toWorld.effect(“Bulge“)(“Bulge Center“).Array 2 or 3 fromWorld(point, t=time) point 是一个数组2 or 3, t 是一个数从世界空间转换一个点到层空间。例如, fromWorld(thisComp.layer(2).position).Array 2 or 3 toCompVec(vec, t=time) vec 是一个数组2
7、or 3, t 是一个数 从层空间转换一个向量到合成空间。例如, toCompVec(1, 0).Array 2 or 3 fromCompVec(vec, t=time) vec 是一个数组2 or 3, and t 是一个数 从合成空间转换一个向量到层空间例如 (2D layer), dir=sub(position, thisComp.layer(2).position); fromCompVec(dir).Array 2 or 3 toWorldVec(vec, t=time) vec 是一个数组2 or 3, t 是一个数 从层空间转换一个向量到世界空间。例如, p1 = effec
8、t(“Eye Bulge 1“)(“Bulge Center“); p2 = effect(“Eye Bulge 2“)(“Bulge Center“); toWorld(sub(p1, p2).Array 2 or 3 fromWorldVec(vec, t=time) vec 是一个数组2 or 3, t 是一个数从世界空间转换一个向量到层空间。例如, fromWorld(thisComp.layer(2).position).Array 2 fromCompToSurface(point, t=time) point 是一个数组2 or 3, t 是一个数 在合成空间中从激活的摄象机观察
9、到的位置的层表面(Z 值为 0)定位一个点。这对于设置效果控制点有用。仅用于 3D 层。摄象机属性和方法-Property 3 pointOfInterest 返回在世界空间中摄象机兴趣的的值。Property zoom 返回摄象机的缩放值,单位为像素。Property depthOfField 如果摄象机景深打开返回 1,否则返回 0。Property focusDistance 返回摄象机焦距值,单位为像素。Property aperture 返回摄象机光圈值,单位为像素。Property blurLevel 返回摄象机的模糊水平的百分数。Boolean active (a) 如果摄象机的
10、视频开关 打开, 返回 true ; (b) 当前时间在摄象机的出入点之间,(c)且它是时间线窗口中列出的第一个摄象机,若以上条件之一不满足,返回 false 。灯光属性和方法-Property 3 pointOfInterest 在工作区 返回灯光兴趣点。Property intensity 返回灯光亮度的百分数。Property 4 color 返回灯光彩色值。Property coneAngle 返回灯光光锥角度的度数。Property coneFeather 返回灯光光锥的羽化百分数。Property shadowDarkness 返回灯光阴影暗值的百分数。Property shado
11、wDiffusion 返回灯光阴影扩散的像素。Note: 灯光对象的大部分属性和方法与层对象相同, 除 source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap, 和所有的 material 属性。效果的属性和方法-Boolean active 返回 a true value if the effect is turned on in both the 如果效果在时间线窗口和效果控制窗口都打开返回 true , 如果在以上任意一个窗口关闭,返回 false。Property
12、param(name) name 是一个字串 返回 效果里面的属性。例如, .effect(“Bulge“)(“Bulge Height“)。效果点控制总是在层空间。Property param(index) index 是一个数 返回 效果里面的属性。例如, .effect(“Bulge“)(4) 返回 Bulge Height 属性。 效果点控制总是在层空间。遮罩属性和方法-Property MaskOpacity 返回遮罩透明值的百分数。Property MaskFeather 返回遮罩羽化的像素值。Boolean invert 如果遮罩是反向的,返回 true ;否则返回 false。
13、Property MaskExpansion 返回 遮罩的像素。String name 返回遮罩名。String name 返回效果名。特征属性和方法-Number or Array value 返回当前时间的属性值。Number or Array valueAtTime(t) t 是一个数 返回指定时间(单位为秒)的属性值。Number or Array velocity 返回当前时间的即时速率。对于空间属性,例如位置,它返回切向量值。结果与属性有相同的维度。Number or Array velocityAtTime(t) t 是一个数 返回指定时间的即时速率。Number speed 返
14、回 1D 量,正的速度值,等于 在默认时间属性的改变量。 这个元素仅用于空间属性。Number speedAtTime(t) t 是一个数 返回在指定时间的空间速度。Number or Array wiggle(freq, amp, octaves=1, ampMult=.5, t=time) freq, amp, octaves, ampMult, 和 t 是数 属性值随机摆动(wiggles) 。 Freq 计算每秒摆动的次数,用于计算属性的基本幅度单位,octaves 是加到一起的噪声的倍频数,ampMult 与 amp 相乘的倍数。 t 基于开始时间。例如, position.wigg
15、le(7, 30, 3).Number or Array temporalWiggle(freq, amp, octaves=1, ampMult=.5, t=time) freq, amp, octaves, ampMult, 和 t 是数 取样摆动时的属性值。Freq 计算每秒摆动的次数,用于计算属性的基本幅度单位,octaves 是加到一起的噪声的倍频数,ampMult 与 amp 相乘的倍数。 t 基于开始时间。 对于这个函数意味着取样的属性必须被激活,因为这个函数仅在取样期间改变属性值,而不是改变了对应的属性值。. 例如, scale.temporalWiggle(5, .2).Nu
16、mber or Array smooth(width=.2, samples=5, t=time) width, samples, 和 t 是数 应用一个箱形滤波器到指定时间的属性值,并且随着时间的变化使结果变得平滑。Width (秒) 是经过滤波器平均时间的范围。Samples 等于离散样本的平均间隔数 。通常, 你需要的采样( samples)数是奇数。例如, position.smooth(.1, 5).Number or Array loopIn(type = “cycle“, numKeyframe = 0)在层中从入点到第一个关键帧之间循环一个指定时间段的内容。被指定为循环内容的基
17、本段,是从层的第一个关键帧向后到层的出点方向的某个关键帧间的内容。 numKeyframe 是指定以第一个关键帧为起点设定循环基本内容的关键帧数目(计数不包括第一个关键帧)。例如, loopIn(“cycle“, 1)从层的入点开始到第一个关键帧结束循环第一个关键帧到第二个关键帧间的内容。循环的次数由入点到第一个关键帧间的时间和循环内容长度决定 。 Number or Array loopOut(type = “cycle“, num 关键帧 = 0) 在层中从最后一个关键帧到层的出点之间循环一个指定时间段的内容。被指定为循环内容的基本段,是从层的最后关键帧向前到层的入点方向的某个关键帧间的内
18、容。 numKeyframe 是指定以最后一个关键帧为倒数起点设定循环基本内容的关键帧数目(计数不包括最后一个关键帧)。例如, loopOut(“cycle“, 1)从层的最后关键帧开始到出点结束循环最后一个关键帧到倒数第二个关键帧间的内容。循环的次数由最后关键帧到出点间的时间和循环内容长度决定 。Number or Array loopInDuration(type = “cycle“, duration = 0)在层中从入点到第一个关键帧之间循环一个指定时间段的内容。被指定为循环内容的基本段,是从层的第一个关键帧向后到层的出点方向 duration 秒的内容。 duration 是指定以第
19、一个关键帧为起点设定循环基本内容的时间秒数。例如, loopInDuration(“cycle“, 1) 从层的入点开始到第一个关键帧结束循环第一个关键帧以后 1 秒的内容。循环的次数由入点到第一个关键帧间的时间和循环内容长度决定 。Number or Array loopOutDuration(type = “cycle“, duration = 0) 在层中从最后一个关键帧到层的出点之间循环一个指定时间段的内容。被指定为循环内容的基本段,是从层的最后关键帧向前到层的入点方向 duration 秒的内容。 duration 是指定以最后一个关键帧为倒数起点设定循环基本内容的的时间秒数。例如,
20、loopOutDuration(“cycle“, 1) 从层的最后关键帧开始到出点结束循环最后一个关键帧到倒数倒数 1 秒时间的内容。循环的次数由最后关键帧到出点间的时间和循环内容长度决定 。Key key(index) 用数字 返回 key 对象。例如, key(1) 返回第一个关键帧对象。 当访问 key 对象时能获得 Time, Index, 和属性值。 例如, 下面的表达式给出了第 3 个位置关键帧处的位置值:position.key(3).value。下面的表达式,当将它写到设置透明属性动画的层时,将忽略在透明属性中设置的关键帧的值而仅用关键帧定位在什么时间层闪现。d = Math.
21、abs(time - nearestKey(time).time); easeOut(d, 0, .1, 100, 0).Key key(markerName) 用这个名字 返回标记的 key 对象。仅用于标记属性。Key nearestKey(time) 返回指定时间最近的关键帧对象。 Number numKeys 返回 在一个属性中 关键帧 的数目。关键帧属性和方法-Number or Array value 返回关键帧的值。Number time 返回关键帧的时间。Number index 返回 关键帧的序号AE 混合模式:用过 PS 的用户应该熟悉层混合模式,可以通过设置层的混合模式来
22、控制每层与其下层的融合而得到新的画面效果,以下是常见的几种混合模式。Normal:当不透明度为 100%时,该模式正常显示当前层,并且曾的显示不受其他层影响;当透明度小于 100%时,当前层的每个像素点的颜色将受其他层的影响。Darken:比较下面层与当前层颜色的通道值,显示其中比较暗的。该模式只对当前层的某些像素起作用,这些像素比其下面层中的对应像素一般要暗。Multiply:该混合模式将形成一种光线透过两张叠加在一起的幻灯片效果,结果呈现出一种较暗的效果。Add:将层的颜色值与下面层的颜色值混合,作为结果。颜色要比源颜色亮一些。Lighten:比较下面层与当前层颜色的通道值,显示其中较亮的
23、。该模式只对当前层中那些比较低层图像对应像素亮的像素起作用。Screen:该模式与相乘模式相应,它将呈现出一种较亮的结果。Overlay:在层之间混合颜色,保留加亮区和阴影,以影响层颜色的亮区域和暗区域。Soft Light:根据层颜色的不同,变暗或加亮结果色。最终的结果使反差更大。Hard Light:根据源层的颜色相乘或者屏蔽结果色。它可以制作一种强烈的效果,高亮度的区域将更亮,暗调的区域将更暗,最终的结果使反差更大。Hue:该混合模式是利用 HSL 色彩模式来进行合成的,它将当前层的色相与下面层的亮度和饱和度混合起来形成特殊的结果。Saturation:该混合模式将当前层中的饱和度与下面
24、层中的结合起来形成特效的效果。如果当前层没有饱和度,运用它不会发生变化。Color:通过下面层颜色的亮度和当前层颜色的饱和度、色调创建一种最终的色彩。在图像中,遮罩混合模式可以保留灰度级。Luminosity:该混合模式与 Color 模式想法,它将保留当前层的亮度值,用下面层的色调和饱和度进行合成。该模式是出了 Normal 模式之外惟一能完全消除纹理背景干扰的模式,这是因为该模式保留的是亮度值,儿为例背景是由不连续的亮度组成的,呗保留的亮度将完全覆盖在纹理背景上,这样就不被干扰了。上面所列的层模式,是通过上下层的颜色通道混合产生的影响变化,儿下面的层模式是通过层的 Alpha 通道影响混合
25、变化。Stencil Alpha:Alpha 通道模式Stencil Luma:亮度模式Silhouette Alpha:Alpha 通道轮廓Silhouette Luma:亮度轮廓Alpha Add:Alpha 添加Luminescent Premul:冷光模式今天下午 RayCrown 介绍了 inPoint 和 outPoint 表达式,他说是一个可以偷懒的表达式。 下面是我整理 RayCrown 的讲课记录 inPoint 就是入点,outPoint就是出点啦。 所谓入点,就是指素材剪辑完成后的开始点,对于视频素材而言,就是指其第一帧画面。 出点则是指素材剪辑完成后的结束点,即视频素材
26、片断的最后一帧画面。 这个表达式经常会在文字效果中使用,原因是这样,相信你们都有痛苦整理文字关键桢的经历。有时候客户要字长一点或短一段,反正就是需要调整字,经常的修改入点、出点。 有的时候你的一些动画或者效果因为总是需要修改,也可以使用 inpoint、outpoint 来帮助你提高效率。 inpoint 和 outpoint 的值是数值,就是这个层的入点时间和出点时间。 根据这个,我们可以用一个 linear(time,tmin,tmax,value,value+)的表达式来辅助你做一个无论怎么怎么设置出入点动画都始终如一不用去修改关键桢。 linear(time,tmin,tmax,val
27、ue,value+)的意思就是 linear 线性运动。 例如: Number or Array linear(t, value1, value2) t 是一个数, value1 和 value2 是一个数或数组当 t 的范围从 0 到 1 时,返回一个从 value1 到value2 的线性插值。当 t = 1 时返回 value2 Number or Array linear(t, tMin, tMax, value1, value2) t, tMin 和 tMax are 数, value1 和 value2 是数或数组 当 t = tMax 时,返回 value2 ;当 tMin t
28、tMax .利用表达式制作一个淡入淡出效果,这是一个较常用且简单的效果,但每次都要设置透明度的四个关键帧动画,还要输入数值。如果多个镜头都要使用淡入淡出就会很麻烦,利用 Sequence Layers 功能也可以,但还是要点几下鼠标,所以不如做一个 Presets 方便。 首先,为了方便我们不使用关键帧来设置动画,因为这样做的话,每次还要调整关键帧 3 和 4 的位置,要知道关键帧记录的是时间轴的位置,而每次使用的素材长度是不同的。所以,我们使用表达式,让程序去找素材的出点。 下面第一步,我们利用一个 linear(t, tMin, tMax, value1, value2)函数把时间轴上素材的出点转化为透明度变量。 为透明度添加表达式如下: linear(time,outPoint-1,outPoint, 100, 0);/其中“linear”表示线性变化,“time”是时间,“outPoint”是素材的出点,该表达式表示素材的透明度在素材出点前一秒到素材出点从 100 变化到 0,这样就实现了素材的淡出效果。