一半君的总结纸

听话只听一半君

#70 如何修改 Save 或者 Save As 操作?

假设你要编写公司内部的script,那不可避免的总有一天你会遇到这个问题,你肯定需要在保存文件之前进行一系列的处理. 这有可能是你需要进行某种操作,把保存的文件加入到公司的 production pipeline, 也有可能是你希望生成一个log文件来记录场景的某些信息.

我发现修改保存操作的最好的方法是去修改 “pv_performAction.mel” script; 比如.:

C:\Program Files\Autodesk\Maya2014\scripts\others\pv_performAction.mel

你可以把你想进行的操作加到这个文件里的 ‘if..else’ statements里.

对于 “Save As” function 来说,可能你要改的地方在 Line 352 (using Maya 2014), amongst:

if ($OKToSave) {
  if ($gv_operationMode == "SaveAs") {
  // ...
    evalEcho($cmd);
  // ...
    addRecentFile ($theSavedFile, $fileType);

// *** 你可以把你的 MEL procedure 加在这里 ***

  } else if ($gv_operationMode == "ExportActive") {

当你修改Maya自带的内部的scripts的时候, 我建议你把你改过的版本存在另一个地方, 保留原版的在原位置. 如果你公司的所有电脑都有一个共享盘, 你可以在上面建一个”scripts” 文件夹,然后把你改过的script存在那里. 然后在每台电脑上设置 MAYA_SCRIPT_PATH ,让他包含这个映射的路径, 但必须让你的路径出现在Maya的默认路径的前面. 你可以把改过的 “pv_performAction.mel” 放在这里,当Maya需要这个文件的时候,他会找到并且使用你改过的而不是原版的.(其实大公司里可能都是自己写了Maya的wrapper script, 比如当你输入Maya的时候,他肯定是根据当前设定的项目/shot等等环境变量来启动Maya,在启动之前已经进行了某些env var的设定,以使得Maya只load这个项目需要的plugins或者script等等,或者设置好了这个项目所需的frame rate或者unit scale等等)

注意: 通常每个版本的Maya的”pv_performAction.mel” 都会发生变化, 所以如果你升级了Maya 你可能会需要修改这个文件,就是说你可能得打开新版的Maya里的这个文件,把你修改的部分加进去,然后再另存到上面说的共享位置. 所以最好你第一次修改的时候就写好注释,这样以后想改的时候比较好找.

Wednesday, August 29, 2001

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 博主赞过: