运行Post-BatchRender MEL命令

时间:2015-04-16 19:39:01

标签: maya mel

我正在寻找一种在批量渲染结束时运行MEL脚本的方法。这可能吗?我知道“预渲染MEL'和'后期渲染MEL'渲染选项,但我希望在批渲染结束时运行脚本。

此代码专门针对'渲染视图'启动渲染但无法在任何类型的批渲染后触发:

setAttr -type "string" defaultRenderGlobals.postMel     "promptDialog -message \"done: postMel\"";  
setAttr -type "string" defaultRenderGlobals.postRenderMel   "promptDialog -message \"done: postRenderMel\""; 

是否有一个隐藏的设置可以抑制批量渲染的这些回调?

系统信息
Maya Ver:2009 x64
OS:Win 8.1

2 个答案:

答案 0 :(得分:1)

有几种不同的前/后MEL选项:

  • 预渲染MEL(preMel):
    这在第一帧渲染
  • 之前运行
  • 发布后MEL(postMel):
    这是在最后一帧渲染
  • 之后运行的
  • 预渲染层MEL(preRenderLayerMel):
    这是在某个渲染层中开始批处理的第一帧之前运行的
  • 后渲染层MEL(postRenderLayerMel):
    这是在某个渲染层中批处理的最后一帧之后运行,然后切换到下一层
  • 预渲染帧MEL(preRenderMel):
    最初这些是唯一的两种选择。这在每一帧渲染之前运行
  • 后渲染帧MEL(postRenderMel): 最初这些是唯一的两种选择。这在每一帧渲染后运行

这些执行批量运行。在我们的管道中,它们提供了一个回调,用于在开始时验证和更新值(preMel),使用进度(preRenderMelpostRenderMel更新我们的渲染队列系统),最后报告最终报告( postMel)。

答案 1 :(得分:0)

这不起作用的原因不是事件,而是而不是你做什么。代码:

promptDialog -message "done: postMel"

无法批量渲染!这是因为批处理模式是一个单独的进程(与Maya并行运行的独立程序)。批处理模式没有GUI,因此它无法对GUI调用作出任何反应。

所以你必须做点别的事。