代码之家  ›  专栏  ›  技术社区  ›  William Eguienta

批转换Maya文件

  •  1
  • William Eguienta  · 技术社区  · 8 年前

    我实际上正在编写一个脚本来转换非常基本的Maya .ma 核武器场景 .nk 使用Maya批处理模式(mayapy.exe)进行项目

    我已经找到了如何从相机中选择、搜索信息,但我不知道如何将它们导出到文本文件中,作为带有 。nk公司 Extension在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 回复  |  直到 8 年前
        1
  •  2
  •   Andy Jazz    8 年前

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