新浪博客

maya_ABC缓存解释

2017-08-02 15:10阅读:
ABC类似于缓存文件可以把骨骼绑定、记录关键帧、使用变形器、或者进行动力学解算,压缩至很少的节点,生成ABC文件。

优势在于动画文件的节点压缩,和转移不易出错
maya_ABC缓存解释
导入abc文件
三维软件共享存储格式一直是 CG 制作中的难点,虽然可以使用 OBJ、FBX
等充当转换文件格式,但这种方式的效果和效率已经不能满足现今的制作需求。
2010 年,Sony Pictures Imageworks 和 Industrial Light & Magic 两家公司联
合开发了开源的三维数据存储、共享构架 Alembic。
理论与实践
1. 关于 Alembic
Alembic 是
一个开放的计算机图形交互构架,目前版本为 1.0.5,包括一个 C++库、一个文件格式和若干程序插件。
Alembic 能将复杂的三维动画场景烘焙成一个非程序的几何结果,其过程类似于将三维场景渲染成一张图片。Alembic 可以忽略三维软件用来创建几何图形的错综复杂的关系图,只针对于计算结果进行高效的存储。
因此,Alembic 的意义并不仅仅是一个分层采样的数据存储格式。它可以更高效的使用内存及磁盘空间,在不影响结果的前提下读写最小量的数据,以加速工作流程的生存效率。
2. Alembic 在制作流程中的位置
在基于 Maya 的三维动画制作流程中(图 1),Alembic 所在的环节更类似于动画缓存,将动画场景烘焙为 Alembic 格式。由于 Alembic 文件本身不能存储材质信息,需要在新的 Maya 文件中导入,并给模型赋予材质贴图。再将带有 Alembic 缓存和材质贴图的 Maya 文件传递给下面的环节。
3. Alembic 在 Maya 中能做什么

Alembic 的字面意思是净化器,我们要用 Alembic 做的正是净化场景。在 Maya 中要使静止的模型变成动画,无论是骨骼绑定、记录关键帧、使用变形器、或者进行动力学解算,这些操作都会产生大量的节点。这些节点在反复的修改和后续制作过程中,往往是造成各种错误的根源,同时也容易产生无用的垃圾节点,从而占用更多的系统资源,给后续环节的制作带来了很多不便。Alembic 的使用则有效的改善了这一问题
举一个简单的例子,图 2 所示是一个角色的节点图.这是个 25 帧的
角色坠落动画,动画并不复杂,但涉及角色设定,材质,动画等相关的节
点共 678 个,连接数为 4987。
3 中,通过我们的工具保存为 Alembic 格式,保留了全部的材质和动画,节点数精简至 70 个,连接数为 246。节点和连接数量的减少意味
着运算量和资源占用大幅度降低,使后续工作的效率得到提高。
4. 工具开发及问题解决
Maya 2012 Subscription Advantage Pack 和 Maya 2013 中都整合了 Alembic 插件,但并不是最新版本。公司目前使用的是 Maya2011,所以需要自行编译 Alembic。源码包可以从 Alembic 的官网下载,根据说明文档可以编译出 Alembic 的静态库和 Maya 插件。
官方的 Maya 插件只提供了一个 Alembic 节点和简单的导入导出命令。这并不能满足制作流程的需求,因此我们在其基础之上进行了二次开发。操作非常简便,只需勾选参数,添加物体,点击转换按键,工具就会自动将现有场景转换为一个新的 Maya 文件,只包含模型、材质以及

Alembic 动画缓存,非常干净。插件基于 Alembic Api、Maya C++ Api 和 Maya Python Command 开发,分为三个部分:节点、命令和界面。
1)节点
由于流程使用了 Maya 内置的 MentalRay 作为渲染器。为了便于渲染,几何体依然使用了 Maya 的 Shape 节点,Alembic 节点的功能仅仅是读取 Alembic 文件作为缓存。因为 Maya 的 Shape 节点属性非常多,复杂的结构和大量的数据计算严重影响了 Alembic 的使用效率。

如果使用 Prman 作为外部渲染器,则可以开发读取 Alembic 文件的自定义 Shape 节点,仅用于显示几何体。同时开发自定义命令匹配模型和 slo 材质。导出 RIB 文件,利用 Alembic 的 Prman DSO 进行渲染。这种方式可以大幅度提升几何体在 Maya 中的显示速度,利于灯光环节的制作。使用 Arnold 作为渲染器也可以尝试类似的方法。

2)命令
官方插件有导入和导出两个命令,可以用 MEL 命令'AbcImport -h;'
'AbcExport -h;'来查询参数,这里不再多做介绍。我们的自定义命令也在官方功能的基础上进行了修改。




我的更多文章

下载客户端阅读体验更佳

APP专享