动态属性注释(2.8)

时间:2019-01-10 15:05:39

标签: python-3.x blender

我正在将Appleseed插件移植到Blender 2.8中

在2.79工作流程下,启用插件后,我们动态创建了着色节点。为此,我们在启动时创建了节点类:

ntype = type(node_name, (AppleseedOSLNode,), {})

然后使用setattr在节点内部创建属性:

setattr(ntype, prop_name, bpy.props.EnumProperty())

在新的2.8系统下,所有bpy.props必须定义为注释。那些不适用于setattr。有没有类似的方法可以动态创建属性呢?我已经阅读了有关如何在此类中操作__annotations__字典的内容:

ntype.__annotations__[prop_name] = bpy.props.EnumProperty())

但是我不知道那是答案。

0 个答案:

没有答案