简介
带有After Effects 6.0, Adobe引进了一些优秀的新功能,世界上的表现. 其中大部分是由于壮观的新功能已添加到After Effects这不一定是为了表达,但显着增加电力提供给作家表达. 也有一些变化和改进,以表达语言本身.
新语法
首先让我们看看一些变化的表现形式实施. 多字对象, 方法和属性中表示,现在“ intercaps ”的形式,而不使用下划线分隔. 例如你会写“ thiscomp ”而不是“ this_comp ”, 或“ seedrandom ”而不是“ seed_random ”. 旧的语法仍然会工作 AE 6.0 ,但它建议您切换到新风格.
蠕动增强
1943 ( )现受seedrandom ( ), 因此,如果您不开心的价值观您收到来自1943 ( ) ,您可以先用电话seedrandom ( ) ,您将得到不同的结果为每个种子. 例如使用的是13号种子,
seedRandom(13);
wiggle(3,35)
会提供不同的结果不是相同的1943 ( )的表达无seedrandom ( ):
wiggle(5,35)
但是, 1943 ( )忽略了“永恒的”参数seedrandom, 这意味着如果你没有像这样:
seedRandom(13,true);
wiggle(7,15)
它将继续扭动对每一帧. 但是, 如果你想扭动( )持有价值一定数量的帧, 您可以使用新的posterizetime ( )函数.
Posterizetime
AE 6.0包括一个新的posterizetime ( )函数,您可以使用冻结您的动画定期利率指定. 例如, 这种变化对我们扭动表达将给予我们一个新的随机位置的5倍第二:
posterizeTime(5);
wiggle(5,35)
转换音频关键帧
确定-让我们进入真正有趣的东西. AE 6.0有一个新的关键帧助理-转换音频关键帧. 这一助理创建一个新层命名为音频振幅有三个滑块左, 右边, 并结合音频通道. 滑块的关键帧代表压缩机的音频电平. 因此, 您现在可以得到的补偿的音频信息通过表达式. 这几乎(但不完全) ,无需任何使用Motion数学.
在上图中, 我们有进口的两个音频文件. “十六进制高科技.波“已经涉足影视圈重左侧通道和” hexfloor.波“已被批评权. 那么,关键帧助理“转换音频关键帧”运行, 它可以自动创建了一个新的空层“音频振幅”滑动条控制与“左”, “权利”和“两个”渠道. 分摊比额表参数的“中等黄色固体”是联系在一起的左声道滑块这一表达:
下载影片(带音频)
s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]
同样, 分摊比额表参数的“中等青色固体”是权相联系的渠道滑块. (注-我离开了音频输出的小演示电影,因为它很快得到真正恼人的电影循环. 如果你想听到, 点击上方的下载连结). 结果, 正如你所看到的, 是这两个固体每个规模在同步音频通道,它们的联系.
文字!
新的综合型工具After Effects 6.零顷只是惊人. 内置的动画和范围选择器提供的能力,快速创建强大的文字动画. 充分覆盖这个问题上可以填补整个教程(或者一本书) ,我会留给别人. 只是让我说,除了这1 After Effects是足够的理由获得升级. 还有一个令人兴奋的方面,这是表达作家. 不仅可以控制选择器的文字和动画的表现形式, 而且(最后!)您可以控制的源文本本身的一种表现. 这释放的全部力量和愤怒的JavaScript字符串处理操作的内容,您的文字动画. 我们将开始了一个简单的例子,并涉及一些非常强大的东西之前,我们就大功告成了.
首先, 我们需要谈论如何建立一个文字层. 这很简单-您只需选中文字工具, 单击窗口中的比较, 和类型的东西. After Effects将创建一个新层和您输入的文字也变得的名称层. 如果您打开twirly新的文字层中的时间线,然后打开“文本” twirly您会看到“源文本”财产. 按ALT /选择按秒表创造一个表达此属性. 的结果,将成为您表达的文字会显示. 这将有属性(字体, 大小, 等.)中的第一个字符输入你创建层. 重要的是要记住, JavaScript会尝试治疗的结果,您的表达作为一个字符串. 如果结果是一些, JavaScript将它转换为一个字符串. 这意味着你的表达可能只是像这样:
表达: 位置[ 0 ]
下载电影
position[0]
和JavaScript将转换的X坐标层的立场,以一个字符串,并显示它. 在演示电影, 余keyframed的立场文字层将在屏幕上. 如预料, 文字修改为层举措.
现在, 我们需要谈论一些关于如何处理JavaScript的字符串. 在JavaScript, 字符串派字符序列包含在单一或双引号. 例如, “ After Effects “和' After Effects '两者都是有效的字符串. JavaScript的处理字符串的数组, 与每一个字符占用一个位置数组中. 记住, JavaScript中的数组索引从零, 这样做的结果表达:
s = "After Effects";
s[4]
将字符串“住宅”.
在JavaScript, 您可以使用“ + ”操作符串连字符串. 例如,
"abcd" + "efgh"
结果在“ AbcdEfgh ”
提供了许多有益的JavaScript字符串属性和方法. 我们会看几个人. 例如, 结果
s = 'After Effects';
s.length
将13 (长度的字符串), 的结果
s = 'After Effects';
s.toUpperCase
将“ After Effects “.
有一个内置的JavaScript的String对象要求, 有趣的是, “字符串”. 这个对象是有用的一些字符串的方法. 例如, 创建一个字符串字符代码你可以做这样的:
String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)
创造了一系列的“ ABC ”转换的字符代码为“ A ”类, 有“ B ”, 和“ C ” ( 48,49, 和50 ) ,以适当的字符串的字符.
另一个有用的事情知道的是,如果您使用序列“ r ”开始的字符串, 它将会被解释为回车. 因此, 如果你有一个字符串像
"abcdrefgh"
这将显示为:
Abcd
Efgh
确定-现在我们知道,足以真正危险. 假设我们要创建一个随机8x4网格的十六进制字符(十六进制被用来代表基地16个号码,包括数字0到9和字母a到f ). 让我们来看看在表达,将做到这一点:
随机的十六进制网
下载电影
numRows = 4;
numChars = 8;
holdFrames = 5;
seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);
s = "";
j = 0;
while(j < numRows){
k = 0;
while (k < numChars){
c = Math.floor(random(48,64));
if (c > 57) c += 7;
s += String.fromCharCode(c);
k += 1;
}
s += "r";
j += 1;
}
s
让我们谈了一些关于这个表达. 头三行刚刚确定的大小,网格和多长时间举行每套随机数. 在未来两行刚刚设置随机种子到一个新的号码,每一套5张. 那么,我们的字符串变量( “ S ” )是设置为NULL字符串. NULL字符串仅仅是一个零长度字符串,没有字符(至今). 其余的表达只是两个嵌套循环,实际上建立在我们的随机数组字符串变量. 外循环(一个索引“ J ”的公正序列通过排发车, 增加一个回车( “反” )结束时,每一行. 内环路( 1收录“ k ” )为贯穿当前行字符的特点,并生成一个随机数字,将被之间48和57 ( “ 0 ” ,通过“ 9 ” ) ,或65至70 ( “ 1 “ 通过“ F ”类) ,并转换为字符代码产生一个特点和concatenates它与我们的输出字符串变量 “ S ”的. 我会离开它作为行使为您找出任何细节我已经被排除在这个简短的描述.
时间分裂
让我们来看看一个文字的事情之前,我们进入别的. 斯普利特( )是另一个JavaScript指令的方法,增加了大量的权力,我们的文字表述. 其运作方式是一个长期分裂成一个字符串数组较小的字符串. 它分裂字符串的地方遇到了一个分隔字符,您可以指定. 认为这表达:
s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]
这表达的分裂字符串“ S ”的地方发现一个逗号. 每个词之间的逗号,然后可通过一个数组索引. 在这个例子中, 指数零将使我们“诚信”和(如我们的表达)指数2将使我们“忠诚”. 这使我们有强大的方法来改变我们的源文本的飞行与表达. 这里的另一个版本的表达源文本将于每个字一秒:
演示的分裂( )方法
下载电影
holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]
注意,这样表达会产生错误后, “移情”当它运行的话. 通常我会提出一些代码来检查的, 但我想保持杂波为演示目的下跌.
完整性, 我会包括其他两个表达我用来生成演示电影. 这是一个规模:
hold = .5;
expand = .5;
t =time%(hold + expand);
if(t < hold){
[100,100]
}else{
linear(t,hold,hold + expand,[100,100],[700,700])
}
这里是一个不透明:
fade = .25;
hold = .5;
t = time%(fade + hold + fade);
if(t < fade){
linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
100
}else{
linear(t,fade+hold,fade+hold+fade,100,0)
}
让我们画!
油漆演示
下载电影
另一种美好的新功能介绍After Effects 6.0是综合涂料引擎. 如新的文字引擎, 这是一个特点,值得自己的教程. 在这里我就谈谈一些事情你可以做的表现形式,使绘画工具更有趣. 在这个例子, 我选择画笔工具,并提请一个弯弯曲曲中风. 然后我就采用这种表达中风年底参数:
freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))
然后我套用这体现了中风的颜色参数:
if (index <=4){
linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
linear(index,9,12,[1,1,0,1],[0,1,1,1])
}
最后, 我套用这体现了中风的自转财产:
(index-1)*30
然后我重复中风11次. 所有的结果,这是风车期待你在这里看到. 如果您下载的电影, 您会看到,它的增长从中心,然后消退回到中心,每两秒钟. 注意到,重复自己的位置和颜色的表现形式,以便通过它完全是自动一旦您建立了表达的原始中风和使重复. 这是个很简单的例子, 但可能性是无穷尽的程序油漆动画像这样.
液化!
另一项非常酷的补充After Effects 6.0是液化效果/工具集. 液化有几个参数,有兴趣申请表达式. 在这个例子, 本人的形象歪曲的液化工具,然后采用下列表达的“失真百分比”参数.
液化演示
下载电影
freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50
其结果是0 %之间振荡的影响应用的效果完全适用. 我认为有一点照顾创造失真你可以使用一个表达与“终止”参数来创建一个愉快的“风中挥舞”效应.
使用跟踪数据
最后, 了大量的工作进入了改进跟踪 AE 6.0. 一个新的功能,是特别感兴趣的是表达作者的选项生产原料跟踪数据, 这意味着跟踪数据不适用于另一层, 它适用于财产层正在跟踪所谓的“附加分”. 然后,您可以, 当然, 访问此数据与表达. 在此演示, 本人跟踪团长的家伙就挂起滑翔机使用“原始”跟踪类型选项. 然后我套用这个表达一堆彩球:
跟踪演示
下载电影
L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position
这将导致点,以“群”周围的人负责的坑滑翔机. 愚蠢的例子, 但我认为这表明,这一概念的可能性.
好, 这是结束我们的巡回赛的新特点After Effects 6.0 ,扩大宇宙表达作家. 这是一个了不起的升级变得更加强大的新的可能性,使用表达式.
|