MayaMel基础教程(4)

4/5/2006来源:Maya教程人气:8762

MayaMel基础教程
使用脚本语言编辑器本章包括以下内容:1、打开脚本编辑器;2、打开一个脚本程序;3、把一个MEL脚本程序文件作为源文件;
4、保存脚本文字;5、执行一个脚本程序;6、清除状态信息;7、清除指令输入;8、响应一个指令;
9、显示程序中的语句行号;10、显示堆栈跟踪。

1、打开脚本编辑器
可以通过选择Window>GeneralEditors>ScriptEditor或者点击Maya窗口右下部的ScriptEditor图标打开脚本编辑器。
脚本编辑器提供以下菜单选项:

OpenScript--打开脚本程序
SourceScript--把一个脚本程序文件作为源文件
SaveSelected--保存脚本程序
Execute--执行脚本程序
ClearHistory--清除历史
ClearInput--清除输入
EchoAllCommands--返回所有指令的返回值
ShowLineNumbers--显示行号
ShowStackTrace--显示堆栈跟踪

编辑命令

下表列出了在脚本编辑器中有效的键盘命令。(在表达式编辑器和一些输入框中它们也是有效的。)命令定义平台
Ctrl cCopyIRIX、Windows
Ctrl xCutIRIX、Windows
Ctrl vPasteIRIX、Windows
Ctrl k删除到本行末IRIX
Ctrl d删除下一个字符IRIX
Ctrl a移动光标到行首IRIX
Ctrl e移动光标到行末IRIX
Ctrl a选择编辑框中的所有文字Windows


2、打开一个脚本程序

我们可以打开一个脚本程序以便检查、执行或找出它的问题。打开一个脚本程序时并不执行它。
只是在脚本编辑器的输入栏里简单地把它显示出来。

要执行显示在脚本编辑器的输入栏里的一些或者全部脚本程序,可以用鼠标选择它,然后按键盘的数字Enter键。

当你想把一些或者全部内容拖拉到柜架上并在那里产生一个图标时,打开一个脚本程序就是非常有用的。
可以点击该图标执行这个程序。

为了打开一个脚本文件:

1--从脚本语言编辑器中选择File>OpenScript。出现一个文件浏览器。

2--选择要打开的脚本文件。


把一个脚本程序作为源文件

把一个MEL脚本程序文件作为源文件,执行所有的MEL指令并声明包含在该脚本程序文件中的所有的全局过程。
如果你在一个脚本程序文件中修改了一个程序,Maya并不把这个改变登记给该程序,直到你把它的程序文件作为源文件。
这是因为Maya把执行了的程序保存到了存储器中。当你把一个脚本程序文件作为源文件时,Maya再次读该脚本程序文件里的那个程序。

为了把一个脚本程序作为源文件:

1--从脚本语言编辑器中选择File>OpenScript。出现一个文件浏览器。

2--选择要打开的脚本文件。

把一个脚本程序作为源文件之后,该文件里的所有MEL指令会执行。该脚本程序中的所有全局过程会被声明,但并不被执行。
MEL指令是按照它们出现在文件中的顺序执行的,并且应当没有错误。如果产生了一个错误,执行会中断并不再装载更多的程序。

当你把一个MEL脚本程序作为源文件之后,不声明或者不执行局部过程。
但是,如果你是通过在脚本编辑器或指令行里输入而声明了一个局部过程,该过程会被声明为全局过程,你可以在任何时候执行它。

执行一个程序可以通过执行一个MEL指令实现。当你想把一个脚本程序作为源文件,并具有执行该文件中的程序的作用时,这是很有用的。
为了这样做,要首先声明该程序,然后声明通过一个文件浏览器执行该程序的指令。


4、保存脚本文字

使用File>SaveSelected指令从脚本编辑器保存脚本文字。可以从指令输入(底部)将文字高亮化,
也可以通过脚本编辑器的状态信息(顶部)部分。Maya将会把高亮的文字部分保存到你说明的目录里的一个.mel文件中。


5、执行一个脚本程序

当你想执行一个预先已经源化了的脚本程序时,可以在脚本编辑器的指令输入栏(底部)输入该程序的名字,然后进行下面工作中的一种:

按Ctrl Enter键;
或者
按数字键盘的Enter键;
或者
从脚本编辑器里选择Edit>Execute。

也可以使用这些指令执行一个在脚本编辑器里已经打开了的脚本程序的定义。如果MEL脚本定义没有出现失败,
则该定义是从脚本编辑器的底部移到顶部。否则该定义不会移动,并且在顶部会显示出一个错误信息。

提示:
可以首先选取MELscript的一部分然后只执行这一部分(Ctrl Enter)。它不会删除其它部分。


6、清除状态信息

要清除状态信息(脚本编辑器的顶部),从脚本编辑器里选择Edit>ClearHistory。这将会删除掉所有的状态信息文字。
使用这个指令时应当小心一些,因为没有办法撤消它。


7、清除指令输入

要清除指令输入文字(脚本编辑器的顶部),从脚本编辑器里选择Edit>ClearInput。这将会删除掉所有的指令输入文字。
使用这个指令时应当小心一些,因为没有办法撤消它。


8、响应一个指令

当你用Maya工作时,对应的MEL指令常常出现在脚本编辑器的顶部。缺省情况下,只有那最重要的指令才会显示。

你可以在脚本编辑器里选择Edit>EchoAllCommands,虚拟地显示与你的Maya作用相关的所有指令。
它可以帮助你学习哪些MEL指令触发作用。

在你的Maya的作用之间并不是总有一对一的对应关系,这些指令返回响应到脚本编辑器里。
如果你使用一个脚本程序去打开属性编辑器,一些MEL指令出现在脚本编辑器里(响应是打开的):

buildObjectEdMenuMayaWindow|menu4|menuItem56;
editSelected;
editMenuUpdateMayaWindow|menu2;

但是,只有以下的MEL指令需要引入属性编辑器:

editSelected;

同时,对于一些作用来说,也不总是会将MEL指令的响应返回到脚本编辑器里。如,当你选择了一个属性编辑器时,
脚本编辑器的顶部没有返回任何信息。

要关闭返回信息,从脚本编辑器里再次选择Edit>EchoAllCommands。


9、显示程序中的语句行号

如果你在执行一个长的程序时由于错误而出现了问题,可以打开脚本程序的行号,你就可以更容易地找到错误。
要显示错误指令的行号,从脚本编辑器里选择Edit>ShowLineNumbers。当你打开了ShowLineNumbers选项,
Maya在脚本编辑器状态信息框(顶部)的旁边显示脚本程序的行号。

要关掉行号,在脚本编辑器菜单里再次选择Edit>ShowLineNumbers。

Maya将显示行号的设置保存下来作为以后使用。如果打开了行号,当下一次你运行Maya时它们会出现在脚本编辑器里。


10、显示堆栈跟踪

如果你用埋入的脚本程序文件执行一个脚本程序时出现了问题,打开堆栈跟踪选项显示文件结构中的脚本程序错误。
要显示一个脚本文件的堆栈跟踪,在脚本编辑器里选择Edit>ShowStackTrace。Maya会在一个窗口里显示堆栈跟踪,
在脚本编辑器里显示一个错误信息。