当前位置:首页>软件教程>AE教程>教程内容

AE教程,表达式新手入门免坑提示(2)

来源:站酷 作者:Bigjan 学习:11981人次

 

这是一个名叫array的对象,因为它的值是形如 [x,y...] 的造型,所以他是一个数组,而且这个数组包含3个元素分别是a,b,c。如果我们要拿到array内部的元素a的值,就需要知道a的“索引”,现在我们可以看到a是array的第一个值,所以他的索引是0(没错索引都是从0开始的!),所以

array_a=array[0];

 

这样就将array内部元素a的赋给了array_a对象~

 

好了,还有更多其他术语什么的对新手来说应该还不需要,我们只了解上面几个应该就够了。最后来看看下面这个语句,如果能说出发生了什么那应该就没问题了:

thisComp.layer(1).position.valueAtTime(time+2);

 

对象“thisComp”调用方法“layer”,传入的参数为图层的索引:1(指合成里的第二个图层)。“layer”方法返回了图层2之后,获取图层2的属性position,然后调用position对象的valueAtTime方法,传入的参数为“time+2”。其中time是全局变量,指当前时间(我不解析全局和变量的概念了,不然没完没了,有兴趣可自行百度)。最后valueAtTime方法返回position在当前时间后4秒的值[x,y]。

 

二、属性的维度问题

 

像上面的例子,position 的值是一个由两个元素组成的数组,分别是x和y坐标的数值,而不透明度opacity的值只是一个数值,所以相互之间不能直接赋值,不然会报错。在ae表达式里称这种情况为维度不同,以下是各种属性的维度参考:

AE教程,表达式新手入门免坑提示_www.16xx8.com

jking的这篇文章末尾也有提到,可惜当时我还没看到这里,而且自己的感悟比较迟钝所以还是被坑了一下下。jking有提到1维属性如何赋值给2维属性,但是反过来呢?如果你已经理解前面对“数组”概念的解析那么应该已经有答案,对就是这样:

opacity=scale[0];//2维属性赋值给1维属性
position=[opacity,opacity];//1维属性赋值给2维属性

 

通过索引0可以获得数组scale的第一个元素“x”(宽度缩放值),这个值是一维的,所以可以赋值给一维的opacity属性,再将opacity属性的值分别赋值给position数组的两个元素。顺便一提,“//”号代表注释,后面的内容都不会被编译。

 

三、wiggle方法的使用问题

 

wiggle这个函数似乎经常用到,因为能产生随机抖动。关于wiggle的用法和各个参数的含义其实认真参阅官方文档应该没问题,但是我这里还是多说几句。首先通常我们只用wiggle的前两个参数:

学习 · 提示

  • 一定要打开PS,跟着教程做一遍,做完的图到这交作业:提交作业
  • 建议练习时,大家自己找素材,尽量不要用教程提供的素材。
  • 教程有看不懂的地方,可以到论坛发帖提问:新手求助
  • 加官方微信,随时随地,想学就能学:ps_bbs,或扫右侧二维码!
  • 关注我们学更多,每天都有新教程:新浪微博 抖音视频 微信小程序
- 发评论 | 交作业 -
最新评论
暂无评论,交个作业支持一下吧~

关注大神微博加入>>

网友求助,请回答!