我正在开发一个包含多个节点的 Maya 脚本插件。为了方便起见,我将每个节点分成一个单独的文件,如下所示
plug-ins
|----- main_plugin.py
|----- plugin_node_1.py
|----- plugin_node_2.py
目前我已经设置了插件,因此您只需启用 main_plugin.py
,其他插件就会自动加载。这还可以,但不整洁,因为所有其他插件都在为插件管理器的困惑付出代价。
除了将所有插件文件合并到一个文件中之外,还有什么最好的方法来清理这一点。有没有办法从插件管理器中屏蔽某些插件?
最佳答案
我发现 main_plugin.py 文件只需要一个 initializePlugin(obj)
和一个 uninitializePlugin(obj)
函数定义。然后,您可以从 python 路径中的任何位置调用 import 并初始化任何其他插件文件,如下所示:
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()
关于python - 隐藏 Maya python 插件文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529463/