【问题标题】:Batch Rendering file from a python script without openeing Maya从 python 脚本批量渲染文件而不打开 Maya
【发布时间】:2017-03-27 14:38:39
【问题描述】:

我有一个 Maya 场景和一个 Python 脚本,可以将 obj 文件导入其中。我需要创建一个批处理渲染文件,它调用 Maya 文件并在不使用 Maya 的情况下应用脚本。

我在 .sh 文件中有这段代码:

#!/bin/bash
"/Applications/Autodesk/maya2016/Maya.app/Contents/bin/Render" -r file -s 1 -e 4 -cam camera1 -rd "/Users/MyComp/Documents/maya/projects/default/images" "/Users/MyComp/Documents/maya/projects/default/Scenes/test1.mb"

但是我在脚本中有这段代码,这可能是一个问题,也可能不是:

def renderFile(i):
    cmds.setAttr("defaultRenderGlobals.imageFilePrefix", i, type="string")
    cmds.render(batch=True)

如果我执行这个 .sh 文件,它会在没有 python 脚本的情况下呈现。如何添加python脚本?

我需要该文件用于渲染农场

【问题讨论】:

  • @AriGold 但我不想打开 Maya。渲染过程和脚本文件应该从 .bat 或 .sh 文件运行。我读了那篇文章,但我不知道它是否与我需要的一样
  • 没错,因为您拥有独立的maya“mayapy.exe”,因此maya 将在没有GUI 的情况下在后台运行
  • @AriGold 我仍然不明白是否必须打开 mayapy.exe 或从 .bat 文件中调用它以及如何

标签: python batch-file render maya


【解决方案1】:

我知道这是一个旧线程,但我想我会跳进去,以防有人在搜索中找到这个线程。

cmets 似乎有些困惑。这是因为讨论了两种不同的 Python 解释器。第一个是系统级别,最初的问题似乎在谈论。在这种情况下,您可以使用任何适合您需要的各种 shell 命令启动器(例如 subprocess/Popen)。在这里,您希望像在 shell 中运行任何其他命令一样运行渲染命令。

在回复中,人们指的是另一个解释器,即自定义 Maya Python 解释器 (mayapy.exe)。在这种情况下,您使用的是实际的 Maya 库,这与在其 shell 中使用 Python 相同,并添加了 Maya 库/环境。

两者有不同的用途,第一个是像在 shell 中一样控制事物,第二个是在 Maya 上下文中控制事物。希望能澄清一些事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多