结构极简
整个插件只有两个文件:
__init__.py + blender_manifest.toml。单文件插件,没有子模块。blender-modifiers/ ├── __init__.py # 全部逻辑 └── blender_manifest.toml # 清单(id: ue5_modifier_tools)
开发流程
# 打包(仓库根执行) ./build.sh --module modifier # → 产出 builds/ue5_modifier_tools_v3.48.0.zip
功能
| 功能 | 说明 |
|---|---|
| Boolean | Union / Difference / Intersect,非破坏性 |
| Slice | 切割器,带线框显示 |
| Fracture | 多刀随机碎裂:切刀数 1~50、随机种子、最小体积百分比(小于 X% 的碎片不再切)、扩散距离、Random/Largest 选择模式、base_name_01/_02/_03 顺序命名 |
Fracture 是非破坏性的:原始物体被碎片替换,但完全可撤销(undo)。改动时保持可撤销性。
注意点
| 注意点 | 注释 |
|---|---|
| 不要引入额外模块或构建链 | 项目刻意保持两文件结构。拆分多模块在 UXP 类插件有缓存坑,这里虽是 Blender,但保持简单是既定决策。 |
| 与 blender-export 零依赖 | 两个插件独立安装、独立发版。不要跨项目 import,否则任一方的改动会牵连另一方。 |
| 没有自己的 CHANGELOG | 历史变更(如 3.9.0 的 Fracture Slice)写在 blender-export/CHANGELOG.md。功能文档见 blender-export/docs/。 |
| 不改版本号除非明确要求 | 当前 v3.48.0,以 blender_manifest.toml 为准。 |