一半君的总结纸

听话只听一半君

#96 怎样安装从网上下载的 MEL scripts ?

简单的说,这些script需要放在 Maya的 MAYA_SCRIPT_PATH 环境变量(environment variable)所指定的路径之一里,这个env var 可以在你Maya的配置文件夹(profile folder)里指定,这个profile folder一般是你第一次打开Maya的时候自动创建的,在里面应该会有一个 “scripts” 文件夹,你可以把你自己的 scripts放在里面.

Windows 2000/XP C:\Documents and Settings\<your login name>\My Documents\maya\scripts\
Windows 7 C:\users\<your login name>\My Documents\maya\scripts\
UNIX/Linux /usr/people/<your login name>/maya/scripts/
Mac OS X /Users/<your user name>/Library/Preferences/Alias/maya/scripts/

如果你从网上下了一个 script, 拷进这个文件夹即可.

之后你就可以在Maya的 Script Editor里运行你的新script了,你可以把他手输进去,也可以直接把他贴进去. 但有可能你会发现运行完以后什么都没发生,那是因为这个script特意写成了需要用调用函数(proc)的方法来使用 也就是说你打开这个script,肯定有一行是像下面这样的:

global proc myCommand()

通常一个script里会有一个主函数(main procedure)用来打开界面(UI 即user interface缩写),如果有界面的话, 否则这个main proc应该开始正常的运行处理工作. 通常这个proc的名字被特意起的和 script的文件名一样. 因此上面的例子里,这个文件应该被存成 “myCommand.mel”.

把上面的 script 拷进目录之后, 你应该可以在Script Editor里输入下面的命令来运行他了:

myCommand;

我在 MEL初学者简介 里写过了,如果你输入一行像”myCommand”这样的MEL command,Maya 会首先去你的 ‘scripts’ 文件夹里找看有没有一个叫做 “myCommand.mel” 的文件. 这是特意这么设计的,因为这样Maya就可以不用先load一个script文件,然后再去调用这个文件里的一个proc. 如果这个script的作者没有遵循这个惯例, 那么你得自己先source这个script,然后你才能调用他里面的proc:

// Author declared main procedure in "myCommand.mel" as
// global proc performMyCommand()
source myCommand;
performMyCommand;

最后, 如果一个script 运行的时候要求提供参数(arguments),你得自己去查看这个script的帮助,更多的时候作者把需要什么arguments都写在这个script本身里了,你只需要用文本编辑器(甚至Maya自己的Script Editor也可以)把这个script打开看看即可,一般在最前面.

关于环境变量 MAYA_SCRIPT_PATH locatoin, 请参见Maya帮助:

Maya 4.0:

Using Maya → MEL → Introducing Scripting → Setting the Scripting Environment

Maya 5.0:

Maya → Reference → Environment Variables → Setting environment variables using Maya.env

Maya 2014:

User Guide → Environment Variables → Setting environment variables using Maya.env

Related How-To’s

06 Jun 2004

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: