maya脚本

1--使用Windows NT Explorer或者My Computer,显示Maya NT bin目录的内容。

缺省时是C:\\Aw\\MayaX.X\\bin。

2--双击MayaEnvironment.exe启动该程序。

这样显示出了你的home、project、plug-in、script和bitmap目录的路径。该路径包括在安装期间产生的缺省路径和你后来定义的任何路径。不能改变缺省路径。

对于plug-in、script和bitmap路径,用分号(;)分离路径,这些项可以定位。

在这个窗口中禁止编辑路径。但你可以用以下的步骤代替。

重要事项:

如果你的计算机上安装了Maya NT的多个版本,你会看到一个版本的路径。版本号是在窗口的标题栏里。为了看另外的版本的路径,点击Previous或Next。为了保存一个版本的路径,点击Save。如果你的计算机只装了一个版本,这些键会变暗。

3--点击Maya Script Path框旁边的Change键。

注意,如果你改变了Home路径,这就按照新的home路径改变了project、plug-in、 script和bitmap路径。会询问你是否想这样做。点击Cancel可以放弃这个改变。

4--在Change Setting窗口中输入(或者编辑)一个路径。

一般地,可以增加缺省路径,但是不能重置它们。当你定义路径时使用左斜线或者右斜线。

为了定义一个远程路径,可以将一个隐含目录与你的计算机上的一个驱动器字符对应起来。细节请看你的Windows NT文件。

如果需要输入多个路径,使用分号把这些路径分离开。

如果要使用一个文件浏览器从别的文件系统查找和选择一个路径,点击Browse。

为了返回到你原来的缺省路径中,点击Restore Default。这对于当你定义了一个不正确的路径或者想删除废弃的路径是非常有用的。

5--点击OK。

例子(IRIX)

为了给scripts路径增加~/maya/scripts/clipFX and remote/X/scripts目录,在启动MAYA之前给IRIX增加以下目录:

setenv MAYA_SCRIPT_PATH ~/maya/scripts/clipFX:/remote/X/scripts

随后Maya将能够在~/maya/scripts, ~/maya/scripts/clipFX, 或者/remote/X/scripts中找到你的脚本文件。

⑶、在脚本文件中使用程序

你可以在MEL脚本文件中使用全局和局部程序。全局程序在它们的文件外边是可见的;局部程序仅在它们的文件内部是可见的。

如果Maya遇到一个没有定义的指令,它会为找到一个与该指令有相同基名的MEL脚本文件搜索脚本路径。当它找到该文件之后,它在该文件中会声明所有的全局MEL程序。任何具有与该指令有相同基名的全局程序会被执行。

如,假定你在运行一个sayWhat指令。因为没有这样的一个sayWhat指令,Maya会在它的所有的script路径中对一个叫做sayWhat或者sayWhat.mel的文件进行搜索。如果在一个script目录中,它找到了有以下内容的sayWhat.mel脚本文件:

proc red5() {print(\

global proc sayWhat() {print(\global proc GoGo() {print(\

然后全局程序sayWhat和GoGo被声明,并执行sayWhat程序。结果是:

sayWhat online

因为GoGo全局程序已经声明过了;现在就可以在指令行中或者在脚本语言编辑器中输入GoGo运行它。

使用MAYA内部脚本文件

Maya有一些用于它的用户界面和其他运算细节的MEL脚本文件。你可以在Alias|Wavefront中查找这些脚本文件,学习专业脚本程序作者的这些技术。这些脚本文件是在由缺省定义的以下述目录开始的目录中:

(IRIX) /usr/aw/mayaX.X/scripts

(Windows NT) C:\\Aw\\MayaX.X\\scripts

其中X.X是Maya的版本号。

注意:

不要在这个目录中修改或者插入脚本文件;该目录是保留Maya用户界面工作用的脚本文件

的。改变这些文件可能会影响Maya的操作。

如果你想在这个目录中修改脚本程序以改变Maya的界面,先要把它们拷贝到你的局部scripts目录中。如果你的局部scripts目录中有与Maya内部script文件目录中相同名字的脚本文件,那你的局部scripts目录中的文件会被运行。

使用脚本语言编辑器

本章包括以下内容: 1、打开脚本编辑器;2、打开一个脚本程序;3、把一个MEL脚本程序文件作为源文件 ;

4、保存脚本文字;5、执行一个脚本程序;6、清除状态信息;7、清除指令输入;8、响应一个指令;

9、显示程序中的语句行号;10、显示堆栈跟踪。

1、打开脚本编辑器

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

Open Script--打开脚本程序

Source Script--把一个脚本程序文件作为源文件 Save Selected--保存脚本程序 Execute--执行脚本程序 Clear History--清除历史 Clear Input--清除输入

Echo All Commands--返回所有指令的返回值 Show Line Numbers--显示行号 Show Stack Trace--显示堆栈跟踪

编辑命令

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

Ctrl+a 选择编辑框中的所有文字 Windows

2、打开一个脚本程序

我们可以打开一个脚本程序以便检查、执行或找出它的问题。打开一个脚本程序时并不执行它。

只是在脚本编辑器的输入栏里简单地把它显示出来。

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

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

可以点击该图标执行这个程序。

为了打开一个脚本文件:

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

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

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

把一个MEL脚本程序文件作为源文件,执行所有的MEL指令并声明包含在该脚本程序文件中的所有的全局过程。

如果你在一个脚本程序文件中修改了一个程序,Maya 并不把这个改变登记给该程序,直到你把它的程序文件作为源文件。

这是因为Maya把执行了的程序保存到了存储器中。当你把一个脚本程序文件作为源文件时,Maya再次读该脚本程序文件里的那个程序。

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

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

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

把一个脚本程序作为源文件之后,该文件里的所有MEL指令会执行。该脚本程序中的所有全局过程会被声明,但并不被执行。

MEL指令是按照它们出现在文件中的顺序执行的,并且应当没有错误。如果产生了一个错误,执行会中断并不再装载更多的程序。

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

执行一个程序可以通过执行一个MEL指令实现。当你想把一个脚本程序作为源文件,并具

有执行该文件中的程序的作用时,这是很有用的。

为了这样做,要首先声明该程序,然后声明通过一个文件浏览器执行该程序的指令。 4、保存脚本文字

使用File > Save Selected指令从脚本编辑器保存脚本文字。可以从指令输入(底部)将文字高亮化,

也可以通过脚本编辑器的状态信息(顶部)部分。Maya 将会把高亮的文字部分保存到你说明的目录里的一个 .mel 文件中。

5、执行一个脚本程序

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

按 Ctrl + Enter 键; 或者

按数字键盘的 Enter 键; 或者

从脚本编辑器里选择 Edit > Execute。

也可以使用这些指令执行一个在脚本编辑器里已经打开了的脚本程序的定义。如果MEL脚本定义没有出现失败,

则该定义是从脚本编辑器的底部移到顶部。否则该定义不会移动,并且在顶部会显示出一个错误信息。

提示:

可以首先选取MEL script的一部分然后只执行这一部分(Ctrl+Enter)。 它不会删除其它部分。

6、清除状态信息

要清除状态信息(脚本编辑器的顶部),从脚本编辑器里选择Edit > Clear History。这将会删除掉所有的状态信息文字。

使用这个指令时应当小心一些,因为没有办法撤消它。

7、清除指令输入

要清除指令输入文字(脚本编辑器的顶部), 从脚本编辑器里选择Edit > Clear Input。这将会删除掉所有的指令输入文字。

使用这个指令时应当小心一些,因为没有办法撤消它。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4