Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 5.68 KB

File metadata and controls

106 lines (76 loc) · 5.68 KB

🌌 Script Manager Pro for Blender

Script Manager Pro 是一款为 Blender 开发者、技术美术(TA)以及重度自动化用户打造的“瑞士军刀”。它打破了 Blender 原生文本编辑器与外部工作流之间的壁垒,通过强大的 事件驱动引擎,让你的 Python 脚本能够与场景数据实时联动。


💎 为什么选择 Script Manager?

在 Blender 中编写脚本时,你是否遇到过以下痛点:

  • 重复劳动:每次打开文件都要手动点击 "Run Script"?
  • 同步困难:在 VSCode 修改了代码,回到 Blender 还要手动点击重载?
  • 监听复杂:想要在物体移动或属性改变时运行代码,却被复杂的 bpy.app.handlers 搞得头大?
  • 调试黑盒:不知道脚本到底运行了多久,或者是否存在“僵尸”后台进程?

Script Manager 解决了这一切。


🛠 功能模块详解

1. 核心工作流面板 (Main Panel)

  • 多脚本独立:每个脚本的事件都相互独立,互不影响。
  • 脏数据提醒:列表实时显示脚本当前运行状态以及运行时间。
  • VSCode 桥接:一键在Vscode中打开脚本,实时同步代码无需手动重载。

2. 事件驱动自动化 (Handlers) — 什么时候运行脚本?

插件提供了一个可视化界面的 Handlers 注册器。只需勾选,无需写一行注册代码:

事件类型 触发时机 典型应用场景
帧更新时执行 播放动画或拖动时间轴时。 制作自定义约束、实时计算物体间距。
依赖图更新时 场景中任何物体移动、旋转或属性改变时。 实现实时的视口 UI 绘制、物体吸附逻辑。
渲染开始前 点击渲染按钮后,图像计算前。 自动切换高分辨率模型、检查贴图是否丢失。
渲染结束后 渲染任务完成。 自动保存渲染结果到特定路径、播放提示音。
文件加载后 打开 .blend 文件完成时。 初始化场景环境、重置 UI 布局。
文件保存前 按下 Ctrl+S 时,文件写入磁盘前。 自动清理孤儿数据、自动统计文件大小。

操作建议:每个选项右侧都有一个 耗时显示 (ms)。如果发现帧率下降,请观察哪个脚本的耗时过高并优化代码。


3. RNA 触发器 (Trigger) — 精准监控某个属性

如果你只想在“某个特定的属性”改变时运行脚本(例如:只有当灯光颜色改变时才重新计算阴影),请使用触发器: 这是本插件最强大的功能之一。利用 Blender 底层的 MsgBus 订阅机制:

  • 精准监控:输入任何 RNA 路径(如 bpy.context.scene.camera.location),当且仅当该特定属性改变时触发脚本。
  • 高性能:相比于 Depsgraph 监听全场景,触发器只盯着一个点,极大地节省 CPU 资源。

使用方法

  1. 获取路径:在 Blender 任何地方找到你想要的属性(如材质的颜色、摄影机的焦距),点击 右键 -> 复制完整数据路径 (Copy Full Data Path)
  2. 添加触发器:在 触发 (Trigger) 面板点击 + 号。
  3. 粘贴路径:在输入框中粘贴刚刚复制的路径。
  4. 关联脚本:选择该属性变化时需要执行的脚本。
  5. 激活:点击右侧的圆形图标,变红即代表监控启动。

4. 实时监控与调试 (Tools & Debug)

  • 性能监测:每个 Handler 都会实时计算并显示运行耗时(精确到 0.00ms),帮助你快速定位导致 UI 卡顿的瓶颈代码。
  • 属性预览器:内置类似“属性字典”的功能,实时预览任何路径的当前值,支持向量、颜色和集合类型。
  • 环境自愈 (Self-Healing)
    • 提供“移除插件 Handler”功能,一键清理所有本插件生成的后台任务,不留痕迹。
    • “自动恢复”选项确保你在关闭 Blender 后再次打开项目,所有的自动化逻辑依然生效。

💡 使用场景示例

  • 场景清理器:设置脚本在 Save Pre 时运行,自动删除场景中所有未使用的材质球。
  • 自动代理切换:监听 Render Pre 事件,渲染时自动切换高模,渲染后切回低模。
  • 灯光联动:使用 Trigger 监控空物体的旋转,实时改变整个场景灯光的色温。
  • 外部协作:开启 Auto Reload Timer,在 VSCode 中编写代码,Blender 视口实时更新运行结果。

📖 使用指南

如何在文件打开时自动恢复 Handler?

插件默认开启了 打开文件时恢复 Handler 和 Trigger

  • 所有的 Handler 注册信息均保存在场景数据中。
  • 当你重新打开一个保存过的 .blend 文件时,插件会自动根据配置重建所有监听器,确保自动化流程不中断。

如何快速获取属性路径?

  1. 在 Blender UI 中找到你想要监听的属性(如:采样数)。
  2. 在该属性上点击 右键 -> Copy Full Data Path
  3. 将得到的路径(如 bpy.context.scene.cycles.samples)粘贴到插件的 触发 (Trigger)属性预览 中即可。

🛠 安装方法

  1. 下载本插件的源码压缩包。
  2. 打开 Blender,进入 Edit -> Preferences -> Add-ons
  3. 点击 Install...,选择下载的压缩包。
  4. 勾选 Generic: Script Manager 启用插件。
  5. 在插件偏好设置中,配置你的 VSCode 路径(可选)。

📜 开发信息

  • 版本:v0.2.0
  • 兼容性:Blender 3.4.0+ (支持更高版本如 4.x)

Developed with ❤️ by LEDingQ. 助力每一位 Blender 创作者。