AE工程文件拆解可行性分析

1.概要

根据AE的工程文件拆解出OPENGL渲染的有效步骤,作为shader的渲染的参数或者模块。通过研究AE的使用及开发流程,主要从下面几个方面出发。

(1)XML 项目文件----apex文件;

(2)流程图面板信息研究;

(3)Adobe ExtendScript Toolkit的分析; 

(4)bodymovin动画插件过程研究及转换出来的json文件;

最后得到了结论,要成功的解析出工程文件中渲染的流程,我们可以得到两个比较有效的方向:

(1)逆向 分析apex文件,得到每个标签中的含义,每个效果的对应的数值;

(2)自己进行插件的开发,在开发过程中得到相关的流程信息,然后输出来;

2.AE的概述

Adobe After Effects主要用于创建动态图形和视觉特效。允许使用者以2D或3D中的各种内建工具和第三方插件(插件)创建动画。After Effects是基于非线性编辑的软件。

我们安装之后看到,软件分为了几个部分,分别是,After Effects CC 编辑模块,Render  Engine渲染模块,  Encoder CC编码模块。


AE工程文件拆解可行性分析_第1张图片

3.各部分拆解

3.1 XML 项目文件----apex文件;

After Effects 项目是一个文件,用于存储合成以及该项目中素材项目所使用的全部源文件的引用。合成是图层的集合。许多图层使用素材项目(例如影片或静止图像)作为源,但某些图层(例如形状图层和文本图层)包含您在 After Effects 中创建的图形。

项目文件使用文件扩展名 .aep 或 .aepx。使用 .aep 文件扩展名的项目文件是二进制项目文件。使用 .aepx 文件扩展名的项目文件是基于文本的 XML 项目文件。


AE工程文件拆解可行性分析_第2张图片

aep为原始二进制文件,不是不可以拆解,但是信息无法做到精确匹配,参考意义不大。

这是一个典型的AEP工程,使用文件夹的方式来组织各种资源。那么XML中是怎么组织的呢?上面这个工程中存在8个顶级文件夹,可以在XML中看到对应8个标签:


AE工程文件拆解可行性分析_第3张图片

 再来分析其中的合成(Composite):


AE工程文件拆解可行性分析_第4张图片

    这张图是关键的:经过验证我们可以猜到

(1)标签 文件夹中的子元素;

(2)标签,不管是Composite还是文件夹,都是以标签来表示的

(3)标签,区分item的类型0001开头的表示是文件夹,0004开头的表示合成,而0007开头的则表示是其他普通资源文件,如图片、AI文件等

(4)标签,文本


AE工程文件拆解可行性分析_第5张图片

(5)标签,图片资源的引用

(6)标签,文件的属性,直接以路径的形式引用

后面需要针对每个效果或者图层进行分析标签中的数据的含义。

3.2 流程图面板信息研究


AE工程文件拆解可行性分析_第6张图片

要打开项目流程图,请按 Ctrl+F11 (Windows) 或 Command+F11 (Mac OS),或者单击“项目”面板右边缘的垂直滚动条顶部的“项目流程图” 

 按钮。

要打开合成流程图,请选择合成并选择“合成”>“合成流程图”,或者单击“合成”面板底部的“合成流程图”

按钮。

流程图中,能够表示合成的主要流程,但是流程图导不出来,如何获取流程图中的信息也不太清楚,流程图面板应该是一个系统的插件

猜想应该在插件开发过程中用代码可以获取到这些信息。

3.3 Adobe ExtendScript Toolkit的分析

该软件是由Adobe公司开发的一款扩展脚本语言工具包。我们可以使用它来进行创建,编辑和调试扩展脚本语言。它能够帮助我们在编程的过程中进行一些脚本语言的编写和调试等。

包含一个 JavaScript 调试器,可

在一个应用程序内单步执行 JavaScript 脚本(JS 或 JSX 文件)

检查正在运行的脚本的所有数据

设置和执行断点

ESTK 4.0 可用性和稳定性改进

自动文档备份

在浮动窗口中打开新文档的选项

在可停靠窗口中显示对象模型查看器的选项

看下例子:


AE工程文件拆解可行性分析_第7张图片

ExtendScript Tutorial - Automatic Editing, Encoding, and Uploading Workflow Script        

发现此脚本工具主要是来帮助开发渲染或者自动合成的工具,提供了调试功能,不能帮助我们获取现成的工程文件的效果。

3.4 bodymovin动画插件过程研究及转换出来的json文件


AE工程文件拆解可行性分析_第8张图片

大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画

这片文章介绍了如何使用Bodymovin插件转换出矢量动画的json文件。视频教程


AE工程文件拆解可行性分析_第9张图片

插件生成了工程文件中效果的列表,这里我们看到,插件开发中是可以获取到工程中的具体效果的,至于流程能不能完整拿到还需要进一步了解插件的开发。

4.小结

这里分析了AE使用及开发的几个方面,要成功的解析出工程文件中渲染的流程,我们可以得到两个比较有效的方向:

(1)进一步分析逆向 apex文件的含义,得到每个标签中的含义,及每个效果的含义;

(2)自己进行插件的开发,在开发过程中得到相关的流程信息,然后输出来;

第2点看起来比较有效和针对性。

5.参考链接

(1)Adobe SDK开发

(2)一款批量修改AE模板的工具

(3)AE用户指南

(4)『小高』- After Effects CC 強大轉場插件/腳本使用心得分享(非製作) | 錄人Passer

你可能感兴趣的:(AE工程文件拆解可行性分析)