最近做模型的同事心情很不好,因为开文件很慢,即使文件并不大,但是文件里除了一个面数不多的模型什么也没有,即使显示所有节点也并没有多余的垃圾节点。没办法,只好把模型导出fbx再导入maya,这样问题倒是解决了,但是一个一个导fbx还是让人很不舒服,要知道最近工作压力很大很大。。

下面大致总结一下症状:这个文件打开的时候会有个提示窗口,提示内容是:“File contains mental ray nodes”;打开脚本编辑器,显示该文件在打开的时候多次尝试加载一些插件但是没有成功,比如:“# Plug-in, "vrayformaya70", was not found on MAYA_PLUG_IN_PATH. # ”。我们拿到的这个文件很夸张,有多达96个插件加载失败的报错,这些报错使得一个本来0.5秒就能打开的文件最后竟然花了26秒才打开!!还有那个mental ray弹窗报错,几个清理工具全上了外加人工查看节点依然没用可谓十分顽固了!!!

可能是maya官方都发现这个问题了,maya2015sp6之后的版本中多了一个mel命令“unknownPlugin”,专治此类疑难杂症。详情请搜索“How to prevent Maya writing a "requires" command for a plug-in”。下面用pymel解决这个问题:

import pymel.core as pm
unknownPlugin_list = pm.unknownPlugin( query=True, list=True )
unknownPlugin_num = len(unknownPlugin_list)
if unknownPlugin_list:
    print u"unknownPlugin个数为%s" % unknownPlugin_num
    for plugin_name in unknownPlugin_list:
        try:
            pm.unknownPlugin( plugin_name, remove=True )
        except Exception as e:
            print e
            print plugin_name, u"无法清理"
    print u"清理完成!"
else:
    print u"unknownPlugin个数为0,不需要清理"