我正在开发一个包含多个节点的maya脚本插件。为方便起见,我将每个节点拆分为一个单独的文件,如此
plug-ins
|----- main_plugin.py
|----- plugin_node_1.py
|----- plugin_node_2.py
目前我已设置了插件,因此您只需启用main_plugin.py
,然后自动加载其他插件。这是好的,但是非常整洁,因为所有其他插件都在为插件管理器的混乱付出代价。
除了将所有插件文件都滚动到一个文件中之外,最好的方法是将其清理一下。有没有办法屏蔽插件管理器中的一些插件?
答案 0 :(得分:1)
我发现main_plugin.py文件需要的只是initializePlugin(obj)
和uninitializePlugin(obj)
函数定义。然后你可以调用import并从python PATH中的任何地方初始化任何其他插件文件,如下所示:
def initializePlugin(obj):
try:
import plugin_node_1
plugin_node_1.initializePlugin(obj)
import plugin_node_2
plugin_node_2.initializePlugin(obj)
except:
print 'Failed to register plug-in'
ms_menu.createMenu()
ms_menu.buildMenu()
def uninitializePlugin(obj):
try:
import plugin_node_1
plugin_node_1.uninitializePlugin(obj)
import plugin_node_2
plugin_node_2.uninitializePlugin(obj)
except:
print 'Failed to deregister plug-in'
ms_menu.deleteMenu()