【问题标题】:Maya - Using Python to render a sequenceMaya - 使用 Python 渲染序列
【发布时间】:2015-07-27 14:53:03
【问题描述】:

我正在用 Python 制作一个测试渲染脚本,但在让我的渲染调用输出序列时遇到问题,而不仅仅是一帧。

我在 Windows 7 机器上使用 Maya 2015。

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

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

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

hwRender()(旧硬件渲染)似乎工作正常,根据渲染设置输出帧。但是,在使用该渲染时,我会从任何交叉路口得到很多白色伪影,因此很难判断事情是否正确。

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

或者可能删除 hwRender() 产生的白色伪影?

感谢您的宝贵时间!

【问题讨论】:

  • 你能发布你的代码吗?很难诊断出抽象的描述。
  • @SuperBiasedMan 在测试期间,我将渲染设置更改为动画并执行第 1-10 帧。我的脚本将帧范围设置为当前工作区域,以及其他一些设置——其中一些现在已经过时,因为我无法让 hwRender 完成这项工作而不显示白色伪影。 link 这是完整的脚本。函数 startRender() 和 setSettings() 是相关的。目前 startRender 已禁用对我不起作用的调用。这是我第一次在这里发帖。希望这是有道理的。
  • 只是为了澄清,你有什么理由避免使用批量渲染方法?使用 render() 调用以这种方式执行此操作将需要您每次都慢跑帧并触发调用(例如播放预览)。我几乎建议您要利用批处理渲染系统,而是专注于您的 UI 设置相机/范围/渲染设置,但话又说回来,这可能不是您想要的..
  • @tanantish 好吧,首先因为它只是一些动画师在他们打开的场景中进行快速渲染的工具。我觉得这样可以更好地反馈渲染的距离,因为您可以看到时间线移动。此外,据我了解,如果您使用批处理渲染,您将不得不使用 Mel 脚本来启动您的 Python 脚本。如果可能的话,我想避免额外的混乱。但也许切换到批量渲染是唯一真正的解决方案。
  • @JonMurrayVinther 如果您真的需要,您可以随时编写脚本以通过命令端口或其他方式触发逐帧渲染,并让 UI 元素报告状态?与您争论解决方案的更大问题是,可能有十几种解决问题的方法,而最有效的方法将取决于您的动画师等。使用您所拥有的,我建议您将拥有做你自己的 cmds.currentTime() 调用来慢跑帧并触发 cmds.render() (或懒惰的 cmds.currentTime(cmds.currentTime(q=1)+1) )。

标签: python render maya


【解决方案1】:

万一这就是您所追求的,这里有一个粗略的方法,您可以在其中慢动框架并制作自己的批处理渲染系统时使用。

我使用renderfn 而不是硬编码maya.cmds.render 的唯一原因是为了防止你想连接到其他东西(比如,我不知道,丢弃某种场景文件,你会输入到渲染农场或之类的)

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)

【讨论】:

  • 我想过使用这种方法,但担心它可能会因为所有的启动/停止而导致渲染花费更多时间。实际上,差异可能很小。我会试一试。真正让我恼火的是 ogsRender 文档说LINK“渲染图像或序列”,但我不知道如何让它输出序列。
  • 唉,输出从来没有听起来那么简单。
猜你喜欢
  • 2017-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多