手机站

当前位置: > 论文发表 > 高等教育论文发表 >

MEL语言在Maya中的开发思考

作者:鏈?煡 时间:2017-08-02 阅读:( )

    吉林动画学院 王茹 130000

  【关键词】MEL MAYA 脚本 开发

  传统动画是采用逐帧拍摄对象并连续播放,利用人眼视觉暂留,在人眼面前生成一系列连续的图像,使视觉产生动态并真实效果的一项影像技术。这种传统动画制作模式已经逐步被以计算机应用为基础的三维动画技术所取代。计算机三维动画技术主要包含与动画有关的模型、动画、灯光、渲染、合成等技术。它是通过对真实世界的模拟和对虚拟想象世界的创造,综合各门学科知识,利用人体视觉暂留,在人眼面前生成一系列连续的图像,使视觉产生动态并真实效果的一项技术。而在三维动画制作领域处于佼佼者的就是Maya。Autodesk Maya是美国Autodesk公司出品的世界顶级的三维动画软件。Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是电影级别的高端制作软件,在三维动画制作领域一直处于领先地位。而它同时又支持设计者和用户不断的更新和改进软件,而这种更新和改进正是由于Maya 的扩展自由优于其它软件,也就是它的可编程性。它有专门属于自己的嵌入式语言----MEL(Maya Embedded Language)。这种强大的MEL可以让用户直接控制Maya的进程和工作流程,由于这种自由拓展的能力使得Maya的设计者和用户可以自由发挥,受到众多三维动画制作者的拥护。

  一、MEL开发的实践意义

  自从2000年国家提出“发展动画产业”以来,中国动画产业发展迅猛,巨大的国产动画产量一定程度上反映了我国动画产业蓬勃的发展前景。而随之而来的是对三维动画制作人员的需求也越来越多,因此顺应时代的要求,国内各大高校和培训机构陆续开办动画及其相关专业。随着现代经济和社会发展对高等教育提出的学-研-产相结合的要求,以及市场的拓展、动画公司对优质人才的渴望,越来越多的高校动画专业师生参与到动画实践项目的创作中来,由于三维动画项目制作流程相对比较复杂,受制作周期较长和制作水平所限,依靠团队合作完成一些三维影视动画作品成为了主要途径。那么合理的规划和管理对于在三维动画制作过程中产生的数以万计的巨大数据量和相关文件就成为了一个关键问题。但由于应用于三维动画制作的硬件配备比较昂贵,单纯依靠重复的命令和不断的调整和测试来解决三维动画制作所产生的问题时,只能是事倍功半,因此亟需提升动画专业人员的动画制作水平,同时兼备一定的动画软件开发的能力。

  本文旨在运用实例说明三维动画实践中应用MEL对动画制作进行优化,达到提高制作效率,节约渲染时间和节省劳动成本的目的。这种脚本研究与开发有在三维动画制作行业很好的需求和市场前景,并此更好的说明计算机编程与三维动画制作的紧密性。

  二、.MEL程序的需求分析

  MEL是一种强大的脚本语言,可以直接控制 Maya 的特征、进程和工作流程,Maya 中的所有的按钮命令都是通过 MEL 来调用的。Maya 中的每一步操作都是在执行 MEL,因此 Maya 的任何一个功能,能做的任何一项操作,都可以加到自己的 MEL 程序中。Maya在用户自主控制和扩展软件功能方面提出了解决方案,即“表达式-MEL脚本-Plug in”方式。而其中MEL脚本通常用来完成一些较为复杂的任务,这些任务通常是通过Maya本身菜单和操作界面不能直接实现的。比如动画制作中出现的各种各样的问题,单单依靠手工操作、重复做相同的操作或者类似的操作,达到一个目的;或者一些复杂的,难以通过菜单实现的操作等等,却都可以通过一段或简单或复杂的 MEL 程序来实现。不能否认,MEL 是强大的,功能复杂多变,但对于 MEL 的难点,也可说是不容忽视的,不得不承认能做到熟悉每一个MEL 命令是十分困难,但是一旦熟悉,却往往能给工作带来意想不到的便捷。

  随着人们对电脑动画技术的熟悉,越来越多的动画作品呈现在我们面前。而在动画制作过程中,对复杂的场景进行文件整理,解决动画渲染的疑难问题和制作环节之间衔接不合理等关键问题,从而提高软硬件资源的利用率,是我们不得不面对并积极解决的问题。希望通过下面实例的探讨,通过MEL进一步开发Maya使更多动画制作者了解计算机编程对三维动画制作的重要作用。

  三、MEL在Maya渲染环节的开发运用

  在三维动画制作流程中,渲染环节历来是最耗费时间和最容易出错的。在渲染部分针对三维动画的制作流程及其硬件环境,开发强制渲染脚本及单机批渲脚DOS_render。强制渲染脚本主要应用于某些场景文件无法批渲染时,需要场景单帧即时渲染,并保存即时渲染的图片信息效果。在硬件方面,如果没有渲染农场,只能依靠本机进行渲染,这就不可避免的会有坏帧和未渲染帧。当一个镜头的渲染文件有较多的坏帧和未渲染帧时,在补渲的时候会很麻烦,为此需要编写单机批渲脚本。单机批渲脚本和Maya的批渲染命令不是一个概念,Maya的批渲染命令只是Maya 的一个内部的功能,主要是完成当前打开的Maya文件的渲染工作。这里所编写的单机批渲脚本可以渲染不同的场景文件、渲染不同的分层、不同的关键帧,功能很全面。

  单机批渲插件DOS_render的制作是根据Maya渲染支持window系统的DOS批处理命令。利用Maya Mel命令调用DOS命令,通过DOS命令进行Maya的批渲染操作。在使用DOS调用Maya渲染的时候首先要解决一个重要的问题让DOS能够识别调用Maya中的render批渲染命令,在默认的状态下DOS是无法直接调用render渲染命令的,必须要为Maya设置环境变量才能使用DOS调用Maya中的render命令。设置环境变量的时候还有一个问题,在同时安装多个版本的Maya软件的计算机中设置环境变量,需要设置用来渲染的Maya版本的环境变量。另外,设置环境变量的时候要设置成用户环境变量。在调用渲染的时候,我们要对render命令所需要的格式和参数进行设置和传参。根据上述我们所遇到的一系列的问题编写以下的函数来生成一个格式为.bat的dos下的批处理文件。另外在DOS_render整个的编写的过程中还发现了一个重要的问题,Maya的MEL命令的read函数只支持最大1024字节的内容文件的读取,这对我们的运用来说是很致命的,因为我们在生成.bat文件的时候经常会超出1024字节的内容,这样就无法我们正常的识别和修改.bat文件内容。为此我们使用Python语言中的read命令来读取文件信息,Python中的read命令在使用的时候是没有文件内容大小限制的。我们利用MEL命令来调用Python中的read命令这样就可以读取完整的文件内容。所以在使用MEL语言编写程序脚本的过程中,也能通过 MEL语言调用Python语句实现了MEL语言的扩展。

  四、总结

  对比国际动画的发展水平,我国动画产业还只是处于初级阶段。尤其是三维动画技术,无论在三维动画的应用制作上,还是在理论的研究水平上,都和国外存在相当大的差距。在现有的计算机硬件的前提下,把一些复杂的操作和流程使用MEL脚本来执行成为“一键式”执行的程序命令会大大简化三维动画制作者的工作时间和精力,这种脚本的研究与开发必然会在三维动画制作行业有很好的需求和市场前景。

  【参考文献】

  [1] 蒋洪林.基于脚本语言的三维动画技术的研究与实现[D].四川: 四川师范大学计算机科学学院, 2007

  [2](美)威尔金斯(Wilkins).Maya动画师MEL脚本编程全攻略[M].北京:电子工业出版社, 2004

上一篇:从国际化到民族化----民族高校MBA案例教育发展路径的思考

下一篇:MEL语言在Maya中的开发思考

奇速英语直播体验课
相关文章
精品推荐