Maya - 使用Python渲染序列

时间:2015-05-15 15:43:55

标签: python render maya

我正在使用Python制作测试渲染脚本,并且在对输出序列进行渲染调用时遇到问题,而不仅仅是一帧。

我在Maya 2015上使用Windows 7计算机。

我尝试过使用ogsRender()(硬件2.0)和render()(软件渲染)命令。虽然他们都宣称能够在文档中输出序列,但我似乎无法让他们这样做。

import maya.cmds as cmds
cmds.render()
cmds.ogsRender()

作为一个测试渲染脚本,它不需要很漂亮 - 只是很快。

hwRender()(旧硬件渲染)似乎工作正常,根据渲染设置输出帧。但是,在使用渲染时,我会从任何交叉点获得大量白色文物,这使得很难看出事情是否正确。

有谁知道如何让render()或ogsRender()输出序列?

或者可能删除hwRender()产生的白色文物?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

只是这就是你所追求的,这里是一个粗略的方法,你可以使用它来慢跑框架并制作你自己的批量渲染系统。

我使用renderfn而不是硬编码maya.cmds.render的唯一原因只是因为你想要挂钩其他东西(比如,我不知道,摒弃了某种类型的情感&# 39; d喂入渲染农场或类似的东西)

import maya.cmds as mc
def render_seq(startframe = 1, endframe = 10, renderfn = mc.render, renderfn_args = None):
    '''render out a sequence of frames as per global settings

    defaults to using maya.cmds.render for frames 1-10'''

    # save state
    now = mc.currentTime(q=True)

    for x in xrange(startframe, endframe):
        mc.currentTime(x)
        renderfn(renderfn_args)

    # restore state
    mc.currentTime(now)