批量转换Maya文件

时间:2018-04-02 08:59:12

标签: python maya nuke

我实际上正在编写一个脚本,使用Maya批处理模式(mayapy.exe)将非常基本的Maya .ma场景转换为Nuke .nk项目

我已经找到了如何选择,从相机搜索信息,但我不知道如何将它们导出到文本文件中,因为.nk扩展的文本文件在Nuke中有效。 目前我使用它将相机导出为FBX:

outputFilename = os.path.splitext(current)[0]+'.fbx'
    print "Output file: ", outputFilename

cmds.file(outputFilename, exportSelected=True, typ="FBX export", force=True, options="v=0;", es=1)

但是,对于文本文件或.nk文件,因为Maya在导出设置中没有此选项。 知道如何指定写入.nk扩展名的文本文件吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

对于批量转换,请使用这样的语法来完成fbx导出:

import maya.mel as mel

mel.eval('FBXExport -f "/Users/swift/Desktop/fileName";')

您的桌面上会收到fileName.fbx个文件。

...或者只是将您想要的内容写入.nk文件...

fileName = "/Users/swift/Desktop/fileName.nk"

# pass in 'r' for reading a file
# pass in 'r+' for reading and writing a file
# pass in 'w' for overwriting the file
# pass in 'a' for appending to the file

fileWrite = open(fileName,'w')

# write here a content of .nk file
fileWrite.write('Hello, NUKE! ...blah, blah, blah...') 
fileWrite.close()

您的桌面上会收到fileName.nk个文件。

对于非批量转换,请使用以下代码:

from pymel.core import *

fileName = fileDialog2()
print fileName[0]
fileWrite = open(fileName[0],'w')

# write here a content of .nk file
fileWrite.write('Hello, NUKE') 
fileWrite.close()
print open(fileName[0],'r').read()

在打开的对话框中,只需键入fileName,其扩展名为.nk。你会得到.nk ASCII文件。