Maya Mel教程:基础知识教程(2)
来源:school.cnd8.com 作者:XiaoYu 发布时间:2010-08-10 09:32:42 网友评论 0 条
2、设立脚本语言环境
为了设立脚本语言环境,需要考虑以下内容:
⑴、脚本语言文件
⑵、建立脚本语言路径
⑶、在脚本语言程序中使用程序
⑴、脚本语言文件
一个MEL脚本文件(*.mel)是一个包含MEL指令、MEL程序或者二者都有的文件。典型地,是用一个MEL脚本文件执行一系列的指令。如,可以写一个脚本程序以产生一个墙形状的物体,然后再给它施加一个砖的纹理。
可以用一个文字编辑器写一个MEL脚本文件然后把它保存到磁盘的一个文件中。MEL脚本文件使用文件扩展名 .mel。可以把脚本文件用于不同的场景中和不同的工作期间中。当执行一个MEL脚本文件时,它并不变成为场景的一个部分,因此如果你要想重复它的作用时,应该每次都执行该脚本程序。
⑵、建立脚本文件路径
在缺省状态下,Maya在你的scripts目录中查找MEL脚本文件。
在缺省状态下,这个目录定义在你的login名下。例子如下:
(IRIX) ~elvis/maya/scripts
(Windows NT) C:AwElvismayascripts
使你的脚本文件可以运行的最简单的方法是把它们放在上述路径里。
注意你的scripts目录缺省地包含了一些脚本文件。它们以menu_作为名字的开始,用于Maya内部。
你可以给MAYA用于查找脚本文件的缺省路径增加目录。
为脚本文件路径增加一个目录(在IRIX中):
1--在一个IRIX shell中,设立环境变量MAYA_SCRIPT_PATH给附加目录的路径。
2--从这个shell启动MAYA。
为脚本文件路径增加一个目录(在Windows NT中):
1--使用Windows NT Explorer或者My Computer,显示Maya NT bin目录的内容。
缺省时是C:AwMayaX.Xin。
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("red5 standing by... ");}
global proc sayWhat() {print("sayWhat online ");}
global proc GoGo() {print("GoGo online ");}
然后全局程序sayWhat和GoGo被声明,并执行sayWhat程序。结果是:
sayWhat online
因为GoGo全局程序已经声明过了;现在就可以在指令行中或者在脚本语言编辑器中输入GoGo运行它。
使用MAYA内部脚本文件
Maya有一些用于它的用户界面和其他运算细节的MEL脚本文件。你可以在Alias|Wavefront中查找这些脚本文件,学习专业脚本程序作者的这些技术。这些脚本文件是在由缺省定义的以下述目录开始的目录中:
(IRIX) /usr/aw/mayaX.X/scripts
(Windows NT) C:AwMayaX.Xscripts
其中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再次读该脚本程序文件里的那个程序。
- 2010-08-25
- 2010-08-25
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-17
- 2010-05-09
- 2010-05-09
- 2010-08-25
- 2010-08-17
- 2010-08-25
- 2010-05-10
- 2010-08-25
- 2010-08-25
- 2010-08-25
关于我们 | 联系方式 | 广告服务 | 免责条款 | 内容合作 | 图书投稿 | 招聘职位 | About CG Time
Copyright © 2008 CGTime.org Inc. All Rights Reserved. CG时代 版权所有