嘿,我正在通过 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
感谢您的宝贵时间,祝您有美好的一天!
最佳答案
Maya 有一个名为 catchQuiet
的函数,这是抑制警告/错误消息的最简单方法。如果表达式抛出错误,它将返回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)\")`)")
关于python - Maya Python大量.obj导入如何关闭obj导入警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47558611/