首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量转换Maya文件

批量转换Maya文件
EN

Stack Overflow用户
提问于 2018-04-02 08:59:11
回答 1查看 1.5K关注 0票数 1

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

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

代码语言:javascript
复制
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扩展来指定如何在文本文件中写入吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 20:48:37

对于批处理转换,使用如下语法来完成fbx导出:

代码语言:javascript
复制
import maya.mel as mel

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

您将在桌面上获得fileName.fbx文件。

...or只需将您想要的内容写入.nk文件..。

代码语言:javascript
复制
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文件。

对于非批处理转换,使用如下代码:

代码语言:javascript
复制
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文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49608252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档