美文网首页After Effects
AE工程文件拆解可行性分析

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

作者: jerryhigh | 来源:发表于2019-01-15 10:19 被阅读27次

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编码模块。

3.各部分拆解

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

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

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

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

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

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

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

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

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

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

(4)<Layr>标签,文本

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

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

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

3.2 流程图面板信息研究

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

 按钮。

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

按钮。

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

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

3.3 Adobe ExtendScript Toolkit的分析

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

包含一个 JavaScript 调试器,可

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

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

设置和执行断点

ESTK 4.0 可用性和稳定性改进

自动文档备份

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

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

看下例子:

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

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

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

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

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

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

4.小结

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

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

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

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

5.参考链接

(1)Adobe SDK开发

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

(3)AE用户指南

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

相关文章

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

    1.概要 根据AE的工程文件拆解出OPENGL渲染的有效步骤,作为shader的渲染的参数或者模块。通过研究AE的...

  • Part3 项目规划篇

    09 | 为什么软件工程项目普遍不重视可行性分析? 可行性分析维度 经济可行性 技术可行性 社会可行性 哪怕你做的...

  • 软件工程

    一、软件工程的各个阶段 1、可行性分析 可行性分析主要包括技术可行性与经济可行性,前者是论证当前的技术能否实现这个...

  • 软件工程的阶段与数据字典

    一、软件工程 软件工程各个阶段可⾏性分析:可行性分析报告需求分析,注意需求确认:需求分析报告需求设计:设计⽂档概要...

  • 测试实践工作

    作为软件工程师,主要任务是什么? 软件的测试流程 1.原始需求 2.可行性分析 成本可行性 技术可行性 社会可行性...

  • AE

    选中窗口按 ~ 键可以全屏显示,再按~恢复 AE保存文件:文件 => 整理工程 => 收集文件 => 收集源文件选...

  • 软件设计师18-系统开发和运行01

    软件工程 1 软件工程方法学三要素:方法、工具、过程 2 软件生命周期:问题定义、可行性分析、需求分析(时间最长)...

  • 浅谈PAG与Lottie对比

    1、工作过程Lottie:设计师使用 AE 设计好动画, 通过 bodymovin 插件将 AE 工程文件导出为 ...

  • AE教程-AK大神 李涛 孙祖建AE系统全能班|AE经典教程合集

    AE教程-AK大神 李涛 孙祖建AE系统全能班|AE经典教程合集中文字幕(含工程文件) Adobe After E...

  • 财务管理学习笔记(投资管理-营运资金管理-纳税管理)

    一、投资管理 投资管理的原则: 1、可行性分析原则:环境可行性、技术可行性、市场可行性、财务可行性 财务可行性分析...

网友评论

    本文标题:AE工程文件拆解可行性分析

    本文链接:https://www.haomeiwen.com/subject/dvyedqtx.html