Maya Python mass .obj import 如何关闭obj import警告?

Maya Python mass .obj import how to turn off obj import warning?

嘿,我正在通过 python 将文件列表导入 Maya 场景。

每次导入 .obj 时,maya 都会给我以下警告:

Warning: Option "Use legacy vertex order" will only take effect when option "Multiple Objects" is enabled.

我的问题:是否可以关闭此警告?或者一种不首先显示警告的方法?

编辑:问题是这个警告会出现在从列表中导入的每个文件上。我添加了来自 maya 的屏幕截图。

我正在这样加载文件:

cmds.file(filePath, i = True)

edit2:这是我的循环遍历目录中文件的函数。

def loadFiles(*args):
# load References into scene from savefile

files = 'c:/testfolder'

if os.path.exists(files):

    filesInFolder = [f for f in listdir(files) if isfile(join(files, f))]

    for file in filesInFolder:

        filePath = files + '/' + file
        #cmds.file(filePath, i = True)
        mel.eval("catchQuiet(`python(\"cmds.file(filePath, i=True)\")`)")

        #print filePath

感谢您的宝贵时间,祝您有愉快的一天!

试试这个来关闭脚本编辑器中的错误、警告和信息:

import maya.cmds as cmds

filePath="/Users/swift/Desktop/file.ma"
cmds.file(filePath,i=True)

cmds.scriptEditorInfo(suppressErrors=True)
cmds.scriptEditorInfo(suppressWarnings=True)
cmds.scriptEditorInfo(suppressInfo=True)

或尝试使用此方法作为警告:

cmds.warning()
print '',

然后,再次打开它们:

cmds.scriptEditorInfo(se=False,sw=False,si=False)

Maya 有一个名为 catchQuiet 的函数,这是抑制 warning/error 消息的最简单方法。如果表达式抛出错误,它将 return 1 否则 0

catchQuiet(python("cmds.file(\"/drive/myfile.obj\", i=True)"))

不幸的是,此函数仅存在于 mel 中,但您可以使用 maya.cmds.mel 将其包装在 python 中以执行它。

Python Wrapper

Python 变体看起来有点讨厌,但应该可以。

mel.eval("catchQuiet(`python(\"cmds.file('/drive/myfile.obj', i=1)\")`)")