13-将alembic构架嵌入基于maya的三维动画制作流程

13-将alembic构架嵌入基于maya的三维动画制作流程

ID:9229750

大小:237.86 KB

页数:7页

时间:2018-04-24

13-将alembic构架嵌入基于maya的三维动画制作流程_第1页
13-将alembic构架嵌入基于maya的三维动画制作流程_第2页
13-将alembic构架嵌入基于maya的三维动画制作流程_第3页
13-将alembic构架嵌入基于maya的三维动画制作流程_第4页
13-将alembic构架嵌入基于maya的三维动画制作流程_第5页
资源描述:

《13-将alembic构架嵌入基于maya的三维动画制作流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、将Alembic构架嵌入基于Maya的三维动画制作流程摘要这篇论文主要阐述了开源三维存储格式Alembic的工作原理以及在基于Maya的制作流程中的二次开发和应用。关键词:Alembic,Maya,Python,HDF5,Sony,ILM引言三维软件共享存储格式一直是CG制作中的难点,虽然可以使用OBJ、FBX等充当转换文件格式,但这种方式的效果和效率已经不能满足现今的制作需求。2010年,SonyPicturesImageworks和IndustrialLight&Magic两家公司联合开发了开源的三维

2、数据存储、共享构架Alembic。在基于Maya的制作流程中,并不一定会用到其他的三维软件,Alembic也不会被作为共享三维场景的文件格式使用。本文将着重阐述在这种情况下如何使用Alembic。理论与实践1.关于AlembicAlembic是一个开放的计算机图形交互构架,目前版本为1.0.5,包括一个C++库、一个文件格式和若干程序插件。Alembic能将复杂的三维动画场景烘焙成一个非程序的几何结果,其过程类似于将三维场景渲染成一张图片。Alembic可以忽略三维软件用来创建几何图形的错综复杂的关系图,

3、只针对于计算结果进行高效的存储。说道Alembic就不得不提HDF5。HDF5是由美国国家超级计算应用中心(NCSA)开发,用于存储和分发科学数据的一种自我描述、多对象文件格式。Alembic的底层就是调用HDF5来储存和管理几何数据的,充分发挥了HDF5多维数组记录结构和分组结构的特性。因此,Alembic的意义并不仅仅是一个分层采样的数据存储格式。它可以更高效的使用内存及磁盘空间,在不影响结果的前提下读写最小量的数据,以加速工作流程的生存效率。2.Alembic在制作流程中的位置图1在基于Maya的三

4、维动画制作流程中(图1),Alembic所在的环节更类似于动画缓存,将动画场景烘焙为Alembic格式。由于Alembic文件本身不能存储材质信息,需要在新的Maya文件中导入,并给模型赋予材质贴图。再将带有Alembic缓存和材质贴图的Maya文件传递给下面的环节。3.Alembic在Maya中能做什么Alembic的字面意思是净化器,我们要用Alembic做的正是净化场景。在Maya中要使静止的模型变成动画,无论是骨骼绑定、记录关键帧、使用变形器、或者进行动力学解算,这些操作都会产生大量的节点。这些节

5、点在反复的修改和后续制作过程中,往往是造成各种错误的根源,同时也容易产生无用的垃圾节点,从而占用更多的系统资源,给后续环节的制作带来了很多不便。Alembic的使用则有效的改善了这一问题。图2举一个简单的例子,图2所示是一个角色的节点图.这是个25帧的角色坠落动画,动画并不复杂,但涉及角色设定,材质,动画等相关的节点共678个,连接数为4987。图3图3中,通过我们的工具保存为Alembic格式,保留了全部的材质和动画,节点数精简至70个,连接数为246。节点和连接数量的减少意味着运算量和资源占用大幅度降

6、低,使后续工作的效率得到提高。4.工具开发及问题解决Maya2012SubscriptionAdvantagePack和Maya2013中都整合了Alembic插件,但并不是最新版本。公司目前使用的是Maya2011,所以需要自行编译Alembic。源码包可以从Alembic的官网下载,根据说明文档可以编译出Alembic的静态库和Maya插件。官方的Maya插件只提供了一个Alembic节点和简单的导入导出命令。这并不能满足制作流程的需求,因此我们在其基础之上进行了二次开发。操作非常简便,只需勾选参数,

7、添加物体,点击转换按键,工具就会自动将现有场景转换为一个新的Maya文件,只包含模型、材质以及Alembic动画缓存,非常干净。插件基于AlembicApi、MayaC++Api和MayaPythonCommand开发,分为三个部分:节点、命令和界面。1)节点由于流程使用了Maya内置的MentalRay作为渲染器。为了便于渲染,几何体依然使用了Maya的Shape节点,Alembic节点的功能仅仅是读取Alembic文件作为缓存。因为Maya的Shape节点属性非常多,复杂的结构和大量的数据计算严重影响

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。