当用户编辑场景中的对象时,该属性返回一个包含当前可编辑对象的元组。编辑对象是指当前 Blender 会话中被选中并可以进行修改的对象。
bpy.context.editable_objects
返回一个包含当前可编辑对象的元组。如果没有任何对象被选中,则返回空元组。值得注意的是,此属性返回的对象仅表示当前可编辑对象的快照,对元组中的对象进行修改不会影响到场景中对象的实际属性。
以下示例演示了如何使用 bpy.context.editable_objects
属性返回当前选中的可编辑对象的元组,然后根据所选对象的类型,将其位置向上或向下移动一个单位。
import bpy
# 获取当前场景对象中的所有可编辑对象
editable_objs = bpy.context.editable_objects
# 遍历所有可编辑对象
for obj in editable_objs:
# 如果对象是 Mesh 或 Curve 类型,则将其向上移动一个单位
if obj.type in ['MESH', 'CURVE']:
obj.location += (0, 0, 1)
# 如果对象是 Lamp 类型,则将其向下移动一个单位
elif obj.type == 'LAMP':
obj.location -= (0, 0, 1)
bpy.context.editable_objects
属性不会返回锁定在场景中,但仍然可见的对象。要获取所有可见对象的列表,请使用 bpy.context.scene.objects
。bpy.ops
操作或使用 bpy.data
属性访问数据块。