批量转换 Maya 文件

Batch convert Maya files

我实际上正在编写一个脚本,使用 Maya 批处理模式 (mayapy.exe)

将非常基本的 Maya .ma 场景转换为 Nuke .nk 项目

我找到了如何select,从相机搜索信息,但我不知道如何将它们导出到文本文件中,因为扩展名为 .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 的文本文件中写入吗?

谢谢。

对于批量转换使用这样的语法来完成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 文件。


对于non-batch转换使用这样的代码:

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 文件。