例如我得到:
bpy.types.Modifier.bl_rna.properties['type'].enum_items[12]
( bool 修饰符)
bool 修改器有一个名为“object”的属性,用于实际的 bool 网格。 如何快速检查它是否确实获得了可用的“object”属性(通过 bpy.types)?
我想按修饰符的属性过滤修饰符,例如:
[modifier.identifier for modifier in bpy.types.Modifier.bl_rna.properties['type'].enum_items if modifier.object != NULL]
显然这行不通,添加它只是为了让您更好地了解我正在尝试做什么。
最佳答案
bpy.types
包含类定义。 bpy.data
包含用于定义 blender 场景中的对象的实例。 bpy.context
可以轻松访问多个兴趣点,而不是直接使用 bpy.data
,例如事件场景和对象以及选定和可见对象的列表。
作为类定义,bpy.types
只能告诉您每种类型可以包含哪些属性,这些属性可能是修改后的。例如,插件可以使用 bpy.props
要向现有数据类型添加属性,这是在 bpy.types
中的类定义上完成的。
bpy.types.Modifier
的每个子类有其自己的属性,BooleanModifier
有一个对象属性,这是将与修改器父网格的网格交互的第二个对象。
要访问项目特定实例的数据,您需要在 bpy.data
或 bpy.context
中查找相关数据。
例如,如果一个立方体有一个 bool 修改器将其网格与球体网格结合起来,您可以在 python console 中得到以下内容: .
>>> bpy.data.objects['Cube'].modifiers['Boolean'].object
bpy.data.objects['Sphere']
>>> bpy.data.objects['Cube'].modifiers['Boolean'].operation
'UNION'
关于python - 如何通过bpy.types获取具体的修饰符属性信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57364245/