APP下载

MEL语言在Maya中的开发思考

2017-09-30王茹

教育界·上旬 2017年8期
关键词:开发

王茹

【摘要】影视动漫是文化产业中一个重要的文化传播媒介,目前国内高校不断开设动画及其相关专业,为市场输入越来越多的动画专业从业者。文章以Maya渲染为例,思考通过MEL语言脚本强大的自定义功能, 让用户直接控制Maya的工作进程,借此启发动画从业者以计算机编程优化三维动画制作实践能力,提高工作效率。

【关键词】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 命令,往往能给工作带来意想不到的便捷。

三、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文件内容。为此DOS我们使用Python语言中的read命令来读取文件信息,Python中的read命令在使用的时候是没有文件内容大小限制的。我们利用MEL命令来调用Python中的read命令,这样就可以读取完整的文件内容。所以在使用MEL语言编写程序脚本的过程中,也能通过 MEL语言调用Python语句实现MEL语言的扩展。

四、总结

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

【参考文献】

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

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

猜你喜欢

开发
浅谈动力总成骡子车开发方法
高中历史教学中对历史图片的开发及实际应用
在线投稿与编辑系统的设计与开发
遵义红色旅游开发对策研究
基于J2EE和Ionic的ITer学习APP设计与开发
单片机在电子技术中的应用和开发
试析机械基础多媒体课件的研制与开发
老年人旅游市场的开发研究
浅谈企业人力资源开发
浅析彭店生态农业旅游开发