在不使用Maya API命令的情况下导入新文件格式
有没有办法用 maya.cmds
来加载或导入一些不是Maya文件格式的文件,而不需要使用任何Maya的API呢?
我试着在网上查找,但除了Maya里的 fileDialog
命令之外,没有找到其他有用的信息。否则的话,我就得去学习Maya的API,而我对这个完全没有经验。
我尝试了以下代码:
multipleFilters = "chan (*.chan)"
fileList = cmds.fileDialog2(fileMode=1, fileFilter=multipleFilters, dialogStyle=2)
if not fileList:
# return or print something or bail out early
filename = fileList[0]
cmds.file(filename, i=True)
但是我一直收到以下错误信息:
# Error: Unrecognized file.
# Traceback (most recent call last):
# File "<maya console>", line 3, in <module>
# RuntimeError: Unrecognized file. #
有没有什么好的建议呢?
1 个回答
2
cmds.file
这个命令只适用于那些通过API注册的文件翻译器,这些翻译器可以用Python或C++来写。
不过,你可以很简单地写一些Python(甚至是mel)脚本,从磁盘上读取文件,并在你的场景中创建东西。你可以使用 cmds.fileDialog2
来给用户展示一个文件选择对话框,让他们从磁盘中选择文件,但读取文件的工作就得由你自己来完成了。
multipleFilters = "chan (*.chan)"
fileList = cmds.fileDialog2(fileMode=1, fileFilter=multipleFilters, dialogStyle=2)
with open (fileList[0], 'rt') as filehandle:
for line in filehandle:
print line # or do something useful with the data