从python脚本批量渲染文件而不打开Maya

时间:2016-11-14 01:11:31

标签: python batch-file render maya

我有一个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脚本?

我需要该文件用于renderfarm目的

1 个答案:

答案 0 :(得分:0)

我知道这是一个旧线程,但以为我会跳入以防万一有人在搜索中找到该线程。

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

在响应中,那里的人们指的是另一个解释器,即自定义Maya Python解释器(mayapy.exe)。在这种情况下,您将使用实际的Maya库,并且与在外壳中使用Python的情况相同,并添加了Maya库/环境。

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