宣传片制作公司制作首选企业宣传片拍摄制作我们必须做得更好北京上广传媒
企业宣传片制作拍摄 公司专题片 总结片电视广告片北京制作城市形象宣传片 城市旅游形象片 城市招商形象片 景区宣传片微电影 网络短片3D动画 纯三维立体眼镜动画明星代言 演员经纪 模特会议摄像 活动拍摄专业航拍 无人机成功案例作品样片公司简介

AE表达式新手入门免坑提示

之前开始学习AE,后来想尝试用ae表达式做个动画,这主要是受jking(@惊叹号设计)的教程影响。花了一天时间,终于熬出这么一个小动画:

 

其中用到的知识点包括操控点和表达式。操控点没什么好说,就是钉钉子嘛,但是表达式很有意思,所以我总结了几个初次接触表达式的新手可能会遇到的问题,也是我掉过的坑(往事如烟):

一、刚使用ae表达式会遇到很多一时无法理解的“术语”

1)对象(object):也叫物体或者物件,代表世界万物,一切皆为对象。在AE里,合成、图层、导入的素材或者路径形状等等,他们都是对象。

2)属性:例如人的身高、体重等都是人的属性。在ae里就指对象的position、scale、rotation等等,每个属性都会有一个值。要注意的是对象的属性也是对象,所以属性也会有自己的属性~(好复杂T T),例如某合成的position属性又具有两个属性分别是x和y。

3)方法:指对象可以做什么或者有什么功能,例如人有一个“方法”叫做“吃饭”,使用这个“方法”就可以补充能量。同样在ae里所有“合成”都有一个方法叫“layer”,可以找到自己内部的某一个图层。

4)参数:前面说到人有一个“方法”叫“吃饭”,使用这个“方法”就可以补充能量,但是天下没有免费的午餐,要调用这个方法的前提是得有饭,这个“饭”就是参数。同样在ae里我们调用一个“方法”通常需要传递一个“参数”,比如上面提到的“layer”方法,调用时需要传递图层名,类似:

thisComp.layer("layer_name");

其中thisComp指当前合成,layer_name是要调用的图层的名字,也就是方法所要求的参数。不过也不是所有方法都需要参数。

5)返回值:基本上所有“方法”运行完都会给我们一个结果,就像你吃完饭会觉得饱了或者还不够,女人分娩会返回一个男孩或者女孩或者其他情况。

6)数组和索引:例子

array = [a,b,c];

这是一个名叫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表达式里称这种情况为维度不同,以下是各种属性的维度参考:

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

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

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

三、方法的多态问题

“多态”是什么意思呢?听名字应该能大概猜到吧,就是指某个方法在不同的调用环境下会有不同的效果。具体我们以wiggle方法为例子说一下。

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

v = wiggle(5, 10);

上面表示wiggle的抖动频率为5,幅度为10。那么问题来了,wiggle的返回值是一维的还是二维的?答案是要看这个表达式用在哪里。什么意思?请看例子:

图1:

图2:

上面两个表达式都是对的,由于图1表达式在二维属性position中调用,所以表达式里的wiggle(3,50) 相当于position.wiggle(3,50),而当wiggle被一个二维属性调用时,他返回的结果也是一个二维的值,形如[x,y],也就是一个拥有两个元素的数组,所以可以直接赋给position。

而图2中,wiggle是被一个一维属性调用的,所以他返回的结果也是一个一维的值,所以也可以直接赋值给一维属性opacity。

没错这就是wiggle的多态表现~

再看图3:

可以看到那个黄色三角形表示这段表达式是错误的,因为虽然这段表达式是写在一维的opacity属性中,但是wiggle方法却是由二维的position属性调用的。所以返回值也是二维的,不能直接赋值给opacity属性。只要改成下面这样就可以了~:

v = transform.position.wiggle(3,50)[0]; //加上“[0]”表示wiggle返回数组的第一个元素的值 v

所以大家以后使用wiggle时一定要分清楚wiggle是由什么维度的属性调用的,不然一不小心就会犯不同纬度的属性互相赋值的错误。当然wiggle只是一个例子,其他方法也可能会有多态性,典型如valueAtTime等等(抱歉我认识的方法还比较少。。),相信大家可以举一反三。

最后给大家一个思考,我想给position调用wiggle产生抖动,但是只想在x轴方向产生强烈抖动,而y轴方向只要轻微抖动就可以了,那我的表达式应该怎么写?


         
公众微信号:qiyexuanchuanpian      导演微信号:chinatvc

新闻

相关热词搜索:新手入门 表达式

上一篇:常用手势小动画库 for AE
下一篇:填充、描边和修剪路径—用AE做MG图形动画笔记摘要

 
企业宣传片业务列表
企业宣传片>>
企业宣传片摄制
公司专题片制作
产品教学片拍摄
展会宣传片制作
高清宣传片制作
企业形象宣传片
公司年会晚会片
广告片>>
电视广告片摄制
公司广告片摄制
广告片策划制作
医药广告片制作
TVC 形象广告片
影视广告片下载
播客闪客广告片
城市宣传片>>
城市宣传片拍摄
旅游宣传片制作
规划宣传片拍摄
地产宣传片摄制
影视后期大制作
立体3D拍摄制作
Flash动画制作
三维动画>>
三维动画制作
建筑动画制作
投标动画制作
全景仿真制作
虚拟现实动画
Flash2D动画
房地产3D动画
摄像摄影>>
最专业会议摄像摄影
央视摄像师摄像设备
年会摄像年会宣传片
高清宣传片制作公司
北京广告片制作公司
大疆无人机专业航拍
北京宣传片制作公司
年终总结片>>
年会视频制作
公司年会视频
年会开场视频
开场视频制作
专业年会拍摄
年终总结汇报
央视晚会拍摄
微电影拍摄制作>>
微电影广告植入
微电影策划拍摄
微电影投资制作
微电影作品下载
电视频道包装
栏目包装策划

招聘影视精英
企业宣传片LOGO   版权所有上广传媒(北京)有限公司
地址:北京市朝阳区卢卡新天地4号楼 邮编:100101 行车线路>>
电话:400-650-8368 / 010-50846768 / 010-50846769
网址:www.ChinaTVC.com www.chinaTVC.com.cn www.chinaTVC.cn www.chinaosx.com
     www.TVCchina.com.cn www.chinamv.com.cn www.chinaosx.cn www.mac.net.cn
     www.pcmac.com.cn www.easypcmac.com www.qiyexuanchuanpian.com
Email:[email protected]
论坛 新闻 下载 友情链接 苹果在线 企业宣传片广告百科 电影下载
京ICP备05032342号