【发布时间】:2020-11-12 10:25:12
【问题描述】:
我想用 Python 制作搅拌机插件,但只使用一个文件会变得非常拥挤。有没有一种方法可以让它包含多个文件夹和所有很酷的东西?
【问题讨论】:
我想用 Python 制作搅拌机插件,但只使用一个文件会变得非常拥挤。有没有一种方法可以让它包含多个文件夹和所有很酷的东西?
【问题讨论】:
(来自https://blender.stackexchange.com/questions/105979/)
像这样组织你的文件夹结构:
myaddon/
├── __init__.py
├── operators/
├── first_operator.py
在__init__.py 中这样做:
import bpy
from .operators.first_operator import FirstOperator
bl_info = {
"name": "MyAddon",
"description": "A demo addon",
"author": "myname",
"version": (1, 0, 0),
"blender": (2, 7, 9),
"wiki_url": "my github url here",
"tracker_url": "my github url here/issues",
"category": "Animation"
}
def register():
bpy.utils.register_module(__name__)
def unregister():
bpy.utils.unregister_module(__name__)
在operators/first_operator.py 文件中,执行以下操作:
import bpy
class FirstOperator(bpy.types.Operator):
bl_label = "First Operator"
bl_idname = "myaddon.first_operator"
bl_description = "A demo operator"
def execute(self, context):
print("hello world")
return {"FINISHED"}
您必须安装插件才能使用它。您不能只在 Blender 的文本编辑器中运行 __init__.py 来使其工作。
如果您要走这条路,我强烈建议您使用带有“Blender Development”扩展程序的 Visual Studio Code,它非常棒,并且消除了每次您必须手动加载/重新加载扩展程序的所有麻烦做出改变。
【讨论】:
__name__换成运营商的名字?
bl_label控制。这是 UI 中的按钮将显示的内容。