SuperAPI AI 工具集

blender-syntax-properties

设计与创作

查看项目

更新于 10-15 22:17

技能介绍

本技能用于在 Blender 中为对象、场景、材质等 ID 类型添加自定义属性。

用途:选择并声明合适的属性类型。属性类型对照包括 BoolProperty(布尔开关)、IntProperty(整数)、FloatProperty(浮点)、StringProperty(字符串)、EnumProperty(下拉/模式)、BoolVectorProperty(XYZ 开关)、IntVectorProperty(尺寸)、FloatVectorProperty(颜色/位置/旋转)、PointerProperty(引用 PropertyGroup 或 ID)、CollectionProperty(PropertyGroup 列表)。

主要能力与用法要点:类中属性声明必须使用 Python 注解语法(: 而非 =);注册子 PropertyGroup 必须先于父 PropertyGroup,注销时顺序相反;动态枚举回调结果需存于模块级变量以防被垃圾回收导致崩溃;ENUM_FLAG 或 getter/setter 模式下枚举项必须显式设置唯一整数值;更新回调中禁止修改触发它的属性(无限递归)、禁止调用操作符(会触发撤销并破坏状态);定义 set 时必须有匹配的 get;items 为回调时 EnumProperty 不得设 default。

版本变化:4.1 起整数自定义属性可经 id_properties_ui 显示为下拉;5.0 起 property_unset() 取代 del obj["prop"],新增 get_transform/set_transform 回调,且 bpy.props 定义的属性不再能通过字典语法访问,需改用 RNA 路径(如 obj.my_rna_prop)。

适用场景:Blender 插件与工具的属性系统设计、嵌套 PropertyGroup、静态与动态枚举、更新回调、getter/setter、ENUM_FLAG 多选、带 poll 的 PointerProperty、CollectionProperty 增删改查、子类型与单位设置,以及属性挂载点选择(Scene、Object、Material、Mesh、Bone、WindowManager 等)。

限制:WindowManager 属性仅会话内有效,重启后重置。本资料未提供收费、价格或平台信息,相关内容暂未提供。