教你如何自学AE脚本.docx
《教你如何自学AE脚本.docx》由会员分享,可在线阅读,更多相关《教你如何自学AE脚本.docx(15页珍藏版)》请在冰豆网上搜索。
教你如何自学AE脚本
教你如何自学AE脚本
相信使用过AE的影视爱好者们都知道AE插件、AE脚本、AE表达式吧----这三样东西,让AE的功能更加丰富,也让它的设计更加人性化。
众所周知,AE插件的开发难度无疑是这三者中是最难的(网上有一个“人间之表”的网友在自学着),那么退而求次,AE脚本如果设计得好,功能足够强大,也是可以媲美某些插件的。
现在问题来了,我不会编写AE脚本啊,该如何学习呢?
呵呵,这个问题,就是这里想要解决的,希望想自学AE脚本的网友能在这里找到AE脚本的学习方向。
(PS:
笔者学习AE脚本的时间也并不长,大概一个月吧,为了让更多网友跨过这个学习门槛,因而写了这篇文章。
如果有大神路过,也请看看我的经验吧,看看这里有哪些说得不够好的、讲解的不够清晰的,望指正!
)
其实AE脚本的编写并不难学,知道怎么入手,有哪些工具、文档可以帮助AE脚本的开发后,相信绝大多数人都能自学啦。
在这里,我对AE脚本的编写要求分为两部分:
主观上和客观上。
当你都达到这些要求之后,相信编写一些简单的AE脚本不再是问题啦。
2
主观上:
1.熟悉AE界面的元素,主要是图层、属性、关键帧……简而言之,你会用AE即可(PS:
建议AE初学者翻阅一下《AfterEffectsReference》,在该文档中,有大量关于图层、属性的官方解析,你可以从AE官网中下载哦。
)。
另外,如果想编写出质量较高的AE脚本,那么也相应对脚本编写者提出了一个要求:
精通AE。
2.最好会书写AE表达式。
(PS:
这个同样在《AfterEffectsReference》(AE参考书)有详细的说明,里面有十几个AE表达式的简单示例。
大致了解一下表达式的编写规范,这在接下来的AE脚本的学习是有帮助的,另外,学会了AE表达式后,你也能在指定的属性里内嵌进一些表达式,让脚本的功能更加强大呢。
4
2.
3.了解JavaScript的基本语法。
AE表达式和AE脚本都是基于JavaScript内嵌到AE的拓展系统里的,因而我们需要一些JavaScript基础语言知识,当然,Wed中的JavaScript与AE里的JavaScript的差异我们也是需要区分的。
(PS:
主要是了解对象的定义、对象的属性和数组、字符串的一些常用方法、属性,如果之前学过了其它高级编程语言,请注意区分其与JavaScript的不同。
个人建议:
找一个最简单的JavaScript入门教程,看完之后才开始编写AE脚本。
附加知识:
JavaScript是动态编程语言,不存在静态编程语言(如C++)中的include等专门用来包括头文件的方法,但是可以使用eval()函数来将字符串翻译成执行语句,配合文本文件的读取,也可以实现类似于include这样预编译的功能)
4.了解AE表达式和AE脚本的关系,以及它们之间的异同。
(PS:
根据官方文档《AfterEffectsReference》的说法:
虽然表达式语言基于脚本语言,但是脚本和表达式之间存在一个微妙但很重要的区别:
脚本告知应用程序执行某种操作,而表达式说明属性是什么内容。
)
5.最好有一点可视化的编程经历,知道怎么查找某某对象的一些API(函数、属性),另外就是怎么编写控件的响应函数。
(PS:
for循环、while循环switch分支语句、if条件这些语句肯定要了解的,另外,建议自行脑补对象、类、类实例、函数、属性、控件、响应函数这方面的知识(其中部分概念名词有重合哦),有了这些知识后,可以更加快速有效地查询API啦)
客观上:
1.找到与AE脚本编写有关的帮助文档,主要是《AfterEffectsScriptingGuide》、《JavaScriptToolsGuide》、《ScriptUI》这三个,另外,最好也下载一些JavaScript中文手册,专门用来配合以上三个文档来使用,因为,上面所列的三个文档都是全英的,阅读起来比较困难;难得遇到了JavaScript上的知识点,当然翻阅JavaScript中文手册啦。
2.知道哪些工具可以编写AE脚本。
其实所有文本编辑器都可以编写AE脚本,不过官方提供的“AdoebExtendScriptToolkit”更加好,那么究竟好在哪里呢?
第一:
有代码输入提示,类似于VisualStudio2010里的Visual_Assist_X插件;10
第二:
可以自动查出与《JavaScriptToolsGuide》、《ScriptUI》有关的代码错误;(PS:
与《AfterEffectsScriptingGuide》有关的代码在这个ExtendScriptToolkit运行将会直接报错,一般错误提示为”undefined不是一个对象“,因为它们是AE专用的代码,其实AE脚本中许多代码直接就是对AE的图层、属性、关键帧的处理,而这些图层对象、属性对象什么的,在ExtendScriptToolkit里面都不能识别出来,因而报错。
正确做法:
将该代码保存成脚本后,放在AE里尝试执行,看它报错不?
)11
第三:
该IDE里有对象模型查看器,帮助你查阅所需对象的属性和函数(也叫方法),与上面所提到的《JavaScriptToolsGuide》、《ScriptUI》配合使用,可以提高工作效率;第四:
你可以设置断点来判断代码错误位置、通过函数浏览器来快速定位函数位置、代码高亮……想必,用过VC++、VB……之类IDE的网友都比我更加清楚IDE的优点吧。
12
当然,有了这些基础之后,你可以通过脚本的源代码来模仿自学。
另外也可以到网上找找AE脚本的编写教程,用来巩固一下所学知识。
(PS:
说实话,这些视频资源真心不多。
)
如图所示:
13
以下是视频解说,图文教程看得不太懂,那么就看一下视频教程。
下面是帮助文档的下载链接:
注意事项
《JavaScriptToolsGuide》里面主要介绍了ExtendScriptToolkit的用法(主要是调试、查看函数的一些技巧),另外还有文件、文件夹、XML对象的处理方法,也粗略地讲解了一下窗口、控件这方面的知识。
《ScriptUI》里面介绍了脚本界面的各种元素,对界面设计有兴趣的多加注意吧;不过笔者觉得该文档里对控件的解释才是最有用的(因为外国有一个SUIB脚本让我们能够可视化地设计脚本界面呢,因而,它对脚本界面元素的讲解显得不那么重要了)
《AfterEffectsScriptingGuide》里面包括了许多图层、属性、关键帧等的处理方法、属性,该文档是所有文档中最重要的,AE脚本脱离不了AE,因而,所有与AE图层、图层属性、属性关键帧的交互方法都在该文档中,谨记
如果你的ExtendScriptToolkit使用异常,那么建议看一下我另外一篇经验: