- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为三维动画艺术插上技术的翅膀——MAYA软件中MEL脚本的使用 夏航
为三维动画艺术插上技术的翅膀——MAYA软件中MEL脚本的使用【摘要】本文首先简单介绍了什么是MEL脚本,以及该脚本的使用特点,阐明MAYA软件是由节点和MEL命令所构成的,节点是静态的用于体现结果,而MEL命令是动态的用来控制过程。文中重点分析了MEL脚本的结构、应用和设计的思路,并对表达式进行了介绍。最后,明确提出了MEL脚本的局限性。【关键词】MAYA软件 MEL脚本 节点MAYAMEL脚本语言概述MAYA软件的核心引擎是一种称为MEL(MAYA Embedded Language玛雅软件内置语言)的加强型Script脚本与Command语言,可以让使用者直接控制MAYA的命令、进程和工作流程。MEL为MAYA提供了基础结构,软件界面中的每一个要点都是在MEL指令和脚本程序上建立的。由于MAYA允许使用者对MEL自身完全的控制和访问,所以我们可以通过MEL扩展和定制MAYA软件,并可以进一步开发软件,使之能够为不同使用习惯的用户和不同特点的项目建立独特而个性的操作环境。由于MEL的这种特征,使用该程序使用者可以快速的执行建模、动画、渲染和动力学运算等各项主要任务。MEL脚本语言有着和C语言类似的语法,它的基本结构单位是MEL命令,有强大的字符串处理功能,还包含一些较为低层的命令,可以设计和编写一些MAYA软件默认命令中没有的较为复杂的功能。由于MAYA软件给出了对于MEL脚本语言自身完全的访问权限,使用户个性化的定制和扩展软件成为现实。另外,通过MEL语言脚本,设计师可以进一步开发MAYA,使它适应使用者和制作项目的创作环境。当然,设计师要想有效地操作软件并不非得精通MEL,但是熟悉MEL可以加深使用MAYA的专业能力。编写脚本语言程序是产生MAYAMEL脚本程序的过程,一个脚本语言程序是一条或多条MEL命令所组成的,按照自上而下的顺序执行。总结起来,MEL脚本有着以下三项重要的功能:编写和定制UI界面。MAYA软件的整个界面都是用MEL编写的,MAYA中的所有界面元素都可以编写到自定的MEL程序中。这一功能使得设计师可以使用MEL语言,跟据自己的习惯定制操作更为便利的软件界面,这样使用起来会更为顺手。将一些较为复杂但很常用的功能创建成为程序按钮。MAYA软件中所有的按钮命令都是通过MEL语言来调用的,设计师可以记录常用的操作步骤,并把其中一些命令再次组合起来设置成为按钮,通过快捷键或点击的方式使软件自动执行这一组命令。这一功能类似于PhotoShop里的Actions动作记录功能,但要比Actions动作记录更为灵活和强大,允许设计师直接修改具体命令的顺序和参数。简化在软件中的操作步骤,开发插件。在MAYA软件中的每一步操作事实上都是在执行MEL语言,因此MAYA软件中的任何一个功能以及所能做到的任何一项操作,都是可以加到使用者的MEL程序中并保存下来,使之成为可以反复调用的插件。本论文的主要研究工作也放在MAYA软件制作水流动画时,如何利用MEL脚本语言提高工作效率、完善艺术表现力。MEL脚本在MAYA软件运行中的作用从内部结构来说,MAYA软件属于典型的节点型编辑软件,即:在它的场景中的每一部分,不管是三维几何物体、动画、表达式关系、灯光、纹理,还是用于创建有历史信息对象的参数,都被表示为节点,所有的节点会连接在一起构成场景图像文件。同时,每一个节点都会有一个属性组,每一个属性又保存着该节点对象的一个特性。节点的连接被称为Dependency Graph Nodes依赖图或者节点网络图(见图2-1)。节点连接图2-1 节点网络图Figure2-1 Dependency Graph Nodes节点身上的属性也具有一些特性,这些特性对能以何种方式操纵属性进行控制做出了一定要求。例如,属性可以被锁定(Locked)以防止它们被改变;属性能够被标注为可关键帧化(Keyable),以允许设计师通过定义关键帧形成动画效果;或者被表示为不可关键帧化(nonKeyable),从而禁止通过定义关键帧形成动画。另外,每一个属性都具有数据类型,该数据类型说明该属性能存储哪种信息。在MAYA中,属性能够存储的数据包括:整数(没有小数部分);浮点数(有小数部分);字符串,文本和数字的组合;布尔值,可以取“开/关”或“真/假”等两两相对应的值;枚举类型值,用以存储在创建属性时所定义选项列表中任意一项的值;某些特定属性还可以存储上述数据类型的集合,包括数组、向量和矩阵。简单了解了MAYA软件的运行方式后,我们说MEL脚本的一个重要作用是创建节点并构成节点网络图的连接,正是这些节点以及它们之间的连接使场景在运算时产生一定的效果,通过软件呈现在我们的面前。同时,MEL脚本另一个作用还可以准确的控制每个节点所包含属性的参数。如果不去了解MEL脚本
文档评论(0)