自动化
感觉使用计算机完成某事相当繁琐时,便可考虑怎样将其自动化。常见的途径是:搜索相关的软件,或自己编程实现。
- 基本目标:避免使用计算机做大量重复的手工工作。按照这个目标,寻找合适的自动化方案并实施。
- 一般地,不要重复造轮子。你能想到的想法,其他人就一定都想不到或者还没有公开实现吗?虽然自己动手写一些“造轮子”的项目的确有助于训练基本功,但不必花费过多的时间。编写代码的过程中,经常要询问自己:我写的项目与同类项目相比,有哪些实质上的改进或创新?
- 对于一些已经问世多年并具有一定市占的大型软件,在使用它们时更要注意这一点:许多你正在重复地、手动进行的工作,实际上这些软件极有可能早已正式提供相应的功能高效地自动化完成你的需求。因此,多去网上搜一搜。
- Microsoft Office 自动化可以通过使用 Office.js 编写 Office 插件(add-in)来完成。也可以使用 OXML SDK 来批量操纵 Office Open XML(OOXML)文件(自 Office 2007 起,Excel、PowerPoint、Word 文档全部采用 OOXML 格式),但对编程能力的要求显然高得多。Excel 还支持通过 Office Scripts 交互式编程操纵表格。
- 许多非线性编辑(非编,NLE)和视觉特效(VFX)软件都提供了自动化机制:
- 3ds Max 提供 C++ SDK、.NET API、Python 脚本和 MAXScript 脚本的支持
- Maya 支持通过 MEL、Python 和 Dash 编写脚本
- Cinema 4D 提供 Python SDK
- Premiere Pro 脚本和 After Effects 脚本都是使用 ExtendScript(JavaScript 的 Adobe 扩展)编写的
- Blackmagic Design 旗下的 Davinci Resolve 和 Fusion 使用 Python 和 Lua(注:官方并未积极更新该文档) 编写自动化脚本,使用Lua 开发图像处理插件(称为 Fuse)
- VEGAS Pro 提供 .NET API 用于编写脚本
- Blender 使用 Python 编写自动化脚本
- 参见 VFX Reference Platform
- Steinberg VST 插件使用 C++ 编写,用于扩展数字音频工作站(DAW)的功能。VST SDK
- 游戏的例子:
- Minecraft Bedrock Edition 的 JavaScript API