欢迎来到天天文库
浏览记录
ID:40061417
大小:416.52 KB
页数:113页
时间:2019-07-18
《MAYA_Mel内置语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章MEL(MayaEmbeddedLanguage)9.1使用Maya:MEL9.1.1介绍MEL使用MEL(Maya内置语言),用户可以使用命令和脚本来扩展和自定义Maya的功能。本章介绍MEL,包含有下面的内容:ò关于MEL。ò学习命令。ò输入命令。ò使用程序和脚本。ò使用ScriptEditor(脚本编辑器)菜单。ò表达式中的MEL。ò自定义MEL。9.1.1.1关于MELMEL语言是Maya功能的基础。用户可以使用MEL命令来创建自己的用户界面,访问高级功能。对于特殊的场景,可以创建与之匹配的界面,或者对于某个
2、特殊的项目,可以改变默认的参数设置。对于某些使用Maya界面不容易改变的属性,可以使用MEL为其输入精确的数值。另外,用户还可以创建MEL程序和脚本来完成自定义的建模、动画、动力学和渲染任务。本书,UsingMaya:MEL,对使用MEL命令、程序和脚本进行了基础的介绍。如果要进一步地了解MEL可以使用Maya的在线文件。在在线文件中,不但包含有本书中的内容,还包含有下面的文件:òMEL用户界面创建。ò按字母顺序的MEL命令参考。ò按功能进行分类的命令参考。òMEL脚本参考。ò用户经常碰到的问题。òMEL命令的改变。òDG
3、节点的变化。这些文件对于使用MEL和Maya有很大的帮助。9.1.1.2学习命令MEL包含有大量的命令来满足不同的需要。一些使用MEL的典型例子包括快速创建物体、精确地移动物体,提高工作的效率。例如,用户可以使用下面的MEL命令来创建一个半径为27.5单位,名称为bigBoy的球:Sphere-radius27.5-namebigBoy;第九部分/MEL模块用户可以接着用下面的MEL命令来沿Z轴旋转bigBoy90度:rotate-r0090bigBoy;在下面的例子中,假设用户使用关节工具来创建了一个关节,并想沿X轴方向
4、移动关节5个单位。用户可以在不中断创建的情况下,使用下面的命令来移动关节:move-r500;Maya的在线技术文件对每个命令的用法、语法、返回值和例子都进行了描述。9.1.1.3输入命令在Maya中,可以使用多种方式来输入MEL命令;“ScriptEditor(脚本编辑器)”或“CommandLine(命令线)”比较常用。用户还可以使用脚本文件,MayaASCII(.ma)文件、工具架图标、快捷键和表达式来执行MEL命令。但最常用的方式是使用“脚本编辑器”。无论如何输入命令,所有的MEL命令之后都必须有一个分号“;”来结
5、束它,如下面的MEL命令:sphere–nameroundy;setAttrroundy.translateX7;whatIsls;helpls;ls-typnurbsSurface;1.脚本编辑器使用脚本编辑器,用户可以输入MEL命令。选择Window>GeneralEditors>ScriptEditor命令或单击Maya视窗右下角的(脚本编辑器图标)可以显示脚本编辑器(见图9-1)。图9-1脚本编辑器视窗在脚本编辑器的底部可以输入命令,在顶部显示命令的结果或错误信息。在底部部分中,用户可以输入命令或进行粘贴操作。使用
6、键盘上字母部分的Enter键可以另起一行,使用数字键盘上的Enter键可以执行命令。如果输入的MEL脚本命令没有错误,则Maya会去除底部的脚本。否则的话,脚本不会被去除,并且错误信息会显示在脚本编辑器的顶部。在脚本编辑器中,用户可以输入任意数目的MEL命令,甚至整个脚本文件的内容都可以输入,但在每个MEL命令之后必须以分号结束。2.命令线4第九章/MEL(MayaEmbeddedLanguage)用户可以使用命令线来输入MEL命令。选择Options>CommandLine命令可以显示命令线(见图9-2)。图9-2命令线
7、使用命令线和脚本编辑器来输入MEL命令,也有一些区别:在命令线中执行命令时,既可以使用数字键盘上的Enter键,也可以使用数字键盘上的Enter键,而在脚本编辑器视窗中执行命令时,则必须使用数字键盘上的Enter键。命令线只有一行,如果要输入多个命令,则必须使用分号把每个命令分开在命令线的右侧,只显示最后一个命令的结果;而在脚本编辑器中显示所有命令的结果。3.获取MEL命令的返回值一些MEL命令返回数值。如果需要获取命令的返回值,可以使用键盘左上角的单引号或eval命令。使用单引号用户可以将命令放入两个单引号之间,来取得命
8、令的返回值,并且可以把返回值分配给其它变量,或者在脚本编辑器中显示它。例如:string$a[];$a=`particle-p505-nameSun`;print($a);第一个语句定义了一个名称为$a的数组。第二个语句执行单引号中的MEL命令,并把命令的输出值分配给$a。第三个语句在脚本编辑器中显示$
此文档下载收益归作者所有