如何在不同来源的启动时运行2个mel脚本

时间:2014-12-22 05:11:26

标签: maya mel

如何从不同来源启动Mel脚本,因为我尝试在启动时使用maya.env中的2个路径来源脚本,它只需要一个第一个路径而另一个路径不会被激活。 MAYA_SCRIPT_PATH = $USER_SCRIPT_PATH:$MAYA_SCRIPT_BASE/scripts/test:$MAYA_SCRIPT_BASE/scripts/unsupported在这里抓住一条路径是固定的,因为它基于我工作的项目

MAYA_SCRIPT_PATH = $USER_SCRIPT_PATH:$MAYA_SCRIPT_BASE/scripts/test:$MAYA_SCRIPT_BASE/scripts/unsupported

你能解释一下它是如何工作的吗?我不理解递归

2 个答案:

答案 0 :(得分:2)

你可以采取几种方法来做这件事。

1)使用Maya.env文件。

USER_SCRIPT_PATH1=C:/myscripts/whatever/path1
USER_SCRIPT_PATH2=C:/myscripts/whatever/path2
MAYA_SCRIPT_PATH=$MAYA_SCRIPT_PATH;$USER_SCRIPT_PATH1;USER_SCRIPT_PATH2

这将在启动时直接操作环境变量。这里要注意的是在Windows中,分号“;”用于分隔路径。在所有其他平台中,冒号使用“:”。

2)您可以使用Maya脚本文件夹中的userSetup.mel文件来设置环境,方法是添加以下内容:

$path1 = "C:/myscripts/whatever/path1";
$path2 = "C:/myscripts/whatever/path2";
string $newScriptPath = $path1 + ";" +  $path2 + ";" +`getenv "MAYA_SCRIPT_PATH"`;
putenv "MAYA_SCRIPT_PATH" $newScriptPath;

3)或者如果您只想在启动时获取几个文件,那么您可以在userSetup.mel文件中添加这些行:

$script1 = "C:/myscripts/whatever/script1.mel";
$script2 = "C:/myscripts/whatever/script2.mel";
source $script1;
source $script2;

检查这些链接以获得更多深度: http://www.jonasavrin.com/2010/08/15/maya-env-configuration-of-variables-using-usersetup-mel/

http://www.djx.com.au/blog/customizing-maya/

希望这可以解决问题。

答案 1 :(得分:2)

该示例尝试从现有的$ MAYA_SCRIPT_PATH插入新目录。 Maya将按顺序搜索目录,因此您可以使用该技巧来控制加载脚本的版本。这也可以让你有一个不同的userSetup.py或userSetup.mel(Maya将使用它找到的第一个)

如果你想改变maya的配置方式,@ kartikg有很好的选择,所以它总是开始使用一组特定的搜索路径和脚本,这是大多数用户想要的。但是,如果必须使用不同的工具在不同的项目之间切换,则可能需要使用模块或环境变量。

Modules,也为你的maya路径增添了一些东西。您可以为每个模块提供自己的目录和用户设置(模块也可以包含自己的位图和插件)。

http://techartsurvival.blogspot.com/2014/01/mayas-mildy-magical-modules.html http://around-the-corner.typepad.com/adn/2012/07/distributing-files-on-maya-maya-modules.html

多个模块可以并排存在,但如果在不同模块中具有类似命名的脚本,则可能会造成混淆。模块全部存在于环境变量$ MAYA_MODULE_PATH指定的目录中;你可以使用@kartikg帖子或下面的技巧来改变它。

另一种选择是在启动maya之前在shell中设置环境变量。如果您必须在具有不同环境的不同项目之间跳转,这将非常方便。在bash中,您可以在.bashrc文件中的别名中执行此操作:

 alias proj1="export MAYA_SCRIPT_PATH=path/to/scripts:$MAYA_SCRIPT_PATH; maya;"

这将允许您从bash shell调用'proj1'并获取带有/ path / to / scripts的maya作为第一个搜索路径。您可以使用不同的路径维护多个别名,它们可以并排运行。在Windows中,您对使用SET命令设置路径的批处理文件执行相同的操作。