用途:该技能用于调试 Blender Python 脚本中因数据块被移除、撤销/重做、文件加载/重载、模式切换等操作导致的 ReferenceError 与陈旧指针崩溃,核心是管理 bpy.data 引用的生命周期。
主要能力:提供错误识别表,将 ReferenceError、KeyError、CollectionProperty 崩溃等报错映射到根因;给出安全数据访问与 ReferenceError 诊断两套决策树;覆盖六类典型错误:移除数据后访问、撤销使全部引用失效、创建数据时的名称冲突、CollectionProperty 陈旧引用、文件操作失效引用、Blender 5.0 IDProperty 分离;并说明模式切换会使网格数据引用失效。
必要用法:跨撤销、文件操作或操作符执行时,应保存对象/数据块名称字符串而非直接引用,之后用 bpy.data.<collection>.get(name) 重新获取;.new() 的返回值应直接存入变量,不要事后按名称查找;可能不存在时用 .get() 而非 [];CollectionProperty 增删后按索引重新获取元素;处理器需加 @persistent;5.0+ 用属性访问系统属性、用 property_unset() 重置 RNA 属性。
适用场景:编写 Blender 插件、模态操作符、文件加载处理器,或维护跨版本(3.x/4.x/5.0+)脚本时。
限制:资料仅覆盖上述数据引用与属性访问问题,未提供安装命令、收费、平台或效果信息;具体 API 签名与完整示例见其 references 目录及 Blender 官方文档链接。