成熟的 Blender 3D 插件是令人惊奇的事情。作为 Python 和 Blender 的新手,我经常发现自己被社区中的人们创造的强大的东西弄得目瞪口呆。坦率地说,其中一些包看起来有点神奇,当自我怀疑或冒名顶替综合症的唠叨声音被打破时,很容易想到“如果有人能做出可以做xxx的东西就好了” 。
然后我记得,通过将好奇心和固执与良好的文档相结合,某人可以是任何人,X可以成为X、Y 和 Z。即使是困难的部分也可以弄清楚——尤其是因为所有固执和好奇的人确保 Blender 的 Python文档和stackexchange与它让我们创建的 gee whiz 图形一样好。
同样的方式,已经存在的文档和模型为从头开始编写 Blender 插件奠定了平滑的基础,在开始时为该插件提供可扩展的结构有助于展示 Python API 的各个部分如何更多地组合在一起清楚地。换句话说,它使新编写的代码比原来更好,同时也使现有代码更容易学习。
在本文的最后,我们将创建一个功能齐全且已安装的插件,它提供了一个自定义 UI 元素来将Standoff 添加到 Blender 场景中,并带有界面控件来调整创建的网格的直径和高度。
一、文件结构
本文末尾将存在的完整目录和文件结构,我们可以使用mkdir和touch方式进行创建,本示例是一个填空游戏。我正在调用项目DemoRack并将其设置为我用于 Python 项目的文件夹中的顶级目录名称:它不一定必须是 Blender 特定的任何地方。下面是DemoRack项目的文件结构:
DemoRack
|-- README.md
|