Script Manager Pro 是一款为 Blender 开发者、技术美术(TA)以及重度自动化用户打造的“瑞士军刀”。它打破了 Blender 原生文本编辑器与外部工作流之间的壁垒,通过强大的 事件驱动引擎,让你的 Python 脚本能够与场景数据实时联动。
在 Blender 中编写脚本时,你是否遇到过以下痛点:
- 重复劳动:每次打开文件都要手动点击 "Run Script"?
- 同步困难:在 VSCode 修改了代码,回到 Blender 还要手动点击重载?
- 监听复杂:想要在物体移动或属性改变时运行代码,却被复杂的
bpy.app.handlers搞得头大? - 调试黑盒:不知道脚本到底运行了多久,或者是否存在“僵尸”后台进程?
Script Manager 解决了这一切。
- 多脚本独立:每个脚本的事件都相互独立,互不影响。
- 脏数据提醒:列表实时显示脚本当前运行状态以及运行时间。
- VSCode 桥接:一键在Vscode中打开脚本,实时同步代码无需手动重载。
插件提供了一个可视化界面的 Handlers 注册器。只需勾选,无需写一行注册代码:
| 事件类型 | 触发时机 | 典型应用场景 |
|---|---|---|
| 帧更新时执行 | 播放动画或拖动时间轴时。 | 制作自定义约束、实时计算物体间距。 |
| 依赖图更新时 | 场景中任何物体移动、旋转或属性改变时。 | 实现实时的视口 UI 绘制、物体吸附逻辑。 |
| 渲染开始前 | 点击渲染按钮后,图像计算前。 | 自动切换高分辨率模型、检查贴图是否丢失。 |
| 渲染结束后 | 渲染任务完成。 | 自动保存渲染结果到特定路径、播放提示音。 |
| 文件加载后 | 打开 .blend 文件完成时。 |
初始化场景环境、重置 UI 布局。 |
| 文件保存前 | 按下 Ctrl+S 时,文件写入磁盘前。 |
自动清理孤儿数据、自动统计文件大小。 |
操作建议:每个选项右侧都有一个 耗时显示 (ms)。如果发现帧率下降,请观察哪个脚本的耗时过高并优化代码。
如果你只想在“某个特定的属性”改变时运行脚本(例如:只有当灯光颜色改变时才重新计算阴影),请使用触发器:
这是本插件最强大的功能之一。利用 Blender 底层的 MsgBus 订阅机制:
- 精准监控:输入任何 RNA 路径(如
bpy.context.scene.camera.location),当且仅当该特定属性改变时触发脚本。 - 高性能:相比于
Depsgraph监听全场景,触发器只盯着一个点,极大地节省 CPU 资源。
- 获取路径:在 Blender 任何地方找到你想要的属性(如材质的颜色、摄影机的焦距),点击 右键 -> 复制完整数据路径 (Copy Full Data Path)。
- 添加触发器:在
触发 (Trigger)面板点击+号。 - 粘贴路径:在输入框中粘贴刚刚复制的路径。
- 关联脚本:选择该属性变化时需要执行的脚本。
- 激活:点击右侧的圆形图标,变红即代表监控启动。
- 性能监测:每个 Handler 都会实时计算并显示运行耗时(精确到 0.00ms),帮助你快速定位导致 UI 卡顿的瓶颈代码。
- 属性预览器:内置类似“属性字典”的功能,实时预览任何路径的当前值,支持向量、颜色和集合类型。
- 环境自愈 (Self-Healing):
- 提供“移除插件 Handler”功能,一键清理所有本插件生成的后台任务,不留痕迹。
- “自动恢复”选项确保你在关闭 Blender 后再次打开项目,所有的自动化逻辑依然生效。
- 场景清理器:设置脚本在
Save Pre时运行,自动删除场景中所有未使用的材质球。 - 自动代理切换:监听
Render Pre事件,渲染时自动切换高模,渲染后切回低模。 - 灯光联动:使用
Trigger监控空物体的旋转,实时改变整个场景灯光的色温。 - 外部协作:开启
Auto Reload Timer,在 VSCode 中编写代码,Blender 视口实时更新运行结果。
插件默认开启了 打开文件时恢复 Handler 和 Trigger。
- 所有的 Handler 注册信息均保存在场景数据中。
- 当你重新打开一个保存过的
.blend文件时,插件会自动根据配置重建所有监听器,确保自动化流程不中断。
- 在 Blender UI 中找到你想要监听的属性(如:采样数)。
- 在该属性上点击 右键 -> Copy Full Data Path。
- 将得到的路径(如
bpy.context.scene.cycles.samples)粘贴到插件的 触发 (Trigger) 或 属性预览 中即可。
- 下载本插件的源码压缩包。
- 打开 Blender,进入
Edit -> Preferences -> Add-ons。 - 点击
Install...,选择下载的压缩包。 - 勾选 Generic: Script Manager 启用插件。
- 在插件偏好设置中,配置你的 VSCode 路径(可选)。
- 版本:v0.2.0
- 兼容性:Blender 3.4.0+ (支持更高版本如 4.x)
Developed with ❤️ by LEDingQ. 助力每一位 Blender 创作者。