首页 > 技术文章 > 关于mel设置渲染

sy88 2015-10-10 11:09 原文

select -r defaultRenderGlobals;
然后ctrl+a你会发现很多渲染选项,进行设置mel编辑器是会有返回值的
1.你会了,就不讲了
2,.我也不会,不过可以确定肯定跟defaultRenderGlobals节点下的Extra Attributes中的
Color Profile Enabled属性有关,然后sRGB那些选项跟Input Color Profile 和 Output Color Profile有直接关系
3.你会也不说了
4.defaultRenderGlobals中也有相关属性,相关mel如下
setAttr "defaultRenderGlobals.an" yes;
setAttr "defaultRenderGlobals.pff" yes;
setAttr "defaultRenderGlobals.peie" 1;
一起用就是你要的图片格式了
5.defaultRenderGlobals中也有相关属性,相关mel如下
setAttr "defaultRenderGlobals.extensionPadding" 4;
6.defaultRenderGlobals中也有相关属性,
获取时间轴最小最大的命令是
playbackOptions -q -min
playbackOptions -q -max
相关mel如下
setAttr "defaultRenderGlobals.startFrame" (`playbackOptions -q -min`);
setAttr "defaultRenderGlobals.endFrame" (`playbackOptions -q -max`);
7.listTransforms -cameras 是查询场景所有相机的Shape节点,
用 gmatch $i "cam_sc*";来查询是否符合cam_sc格式
在defaultRenderGlobals 依然有对应的属性,
相关mel如下
string $cam[] = `ls -ca`;
for($i in $cam)
{
setAttr ($i+".renderable") 0; 
if(`gmatch $i "cam_sc*"` == 1)
{
setAttr ($i+".renderable") 1; 
} 
}
mentalRay部分
看miDefaultOptions节点
8.渲染级别这个真没找到...我估计maya也没设,你把所有属性设置成pro级别的,他不就是pro了嘛...属性几乎都在miDefaultOptions节点里
9 .miDefaultOptions节点上有相关属性
setAttr "miDefaultOptions.maxSamples" 1;
10.miDefaultOptions节点上有相关属性
setAttr "miDefaultOptions.finalGather" 1;
以上都是个人经验欢迎补充

  

问题提出:

在检查渲染参数的时候,经常涉及到mentalray渲染器。但是maya的设置很奇怪,对于空白文件,或者从来没有保存过相关设置的场景文件,mentalray渲染器不会被激活,那么和mentalray有关的属性就无法查询到,每次运行到此,都会抛出一个难看的bug。这里介绍的两条命令,即可通过mel命令打开mentalray, 并创建默认节点。有了这两步,就可以通过命令进行需要的操作了

 

先贴上命令:

setCurrentRenderer mentalRay;

 

miCreateDefaultNodes;

 

第一句的执行效果,是在"Render Settings"界面里,把渲染器切换到mentalray。但这个时候,在outliner里还是无法看到miDefaultFramebuffer,mentalrayGlobals,mentalrayItemsList,miDefaultOptions这几个节点。明显的,mentalray的相关属性应该就保存在这几个节点中。

第二条命令就创建了这些节点

 

第一句命令有一个等效的方法 setAttr "defaultRenderGlobals.currentRenderer" -type "string" "mentalRay";

在另外两种情况下,也会创建mentalray节点,一种是,当我们在“Render Settings”界面中点击一个属于mentalray的Tab, 比如Indirect Lighting 选项卡;另一种是,用mentalray 方法进行一次渲染。但这两种情况都不适合于程序实现。

 
 
 
运行渲染前 MEL 或渲染后 MEL 脚本

94人浏览 0人收藏 2015-05-07

重要信息                

从 Maya 内渲染场景时,请确保未指定包含删除操作或可能意外删除场景中对象的 MEL 命令或脚本。              

 

渲染前或渲染后运行 MEL 命令或脚本        

  1. 渲染设置窗口的“渲染选项”(Render Options)区域中:

    • 请在“渲染前 MEL”(Pre Render MEL)属性对话框中输入渲染每一帧之前运行的 MEL 命令或脚本。                  

    1. 请在“渲染后 MEL”(Post Render MEL)属性对话框中输入渲染每一帧之后运行的 MEL 命令或脚本。

       

       -=============================================

    2. global proc renderAnimation()
      {
      int $star_old = `getAttr "defaultRenderGlobals.startFrame"`;
      int $end_old = `getAttr "defaultRenderGlobals.endFrame"`;
      int $star_new = `playbackOptions -q -minTime`;
      int $end_new = `playbackOptions -q -maxTime`;
      setAttr "defaultRenderGlobals.startFrame" $star_new;
      setAttr "defaultRenderGlobals.endFrame" $end_new;
      setAttr "mentalrayGlobals.previewAnimation" 1;
      renderIntoNewWindow render;
      setAttr "mentalrayGlobals.previewAnimation" 0;
      setAttr "defaultRenderGlobals.startFrame" $star_old;
      setAttr "defaultRenderGlobals.endFrame" $end_old;
      }
      renderAnimation();

推荐阅读