bpy.context.weight_paint_object 是 Blender 的上下文对象,在权重绘制模式下表示当前活动的权重绘制对象(一般是 Mesh 类型)。
类型:bpy.types.Object
属性:
data:当前活动的权重绘制对象所使用的网格数据。类型为 bpy.types.Meshmode:当前活动的权重绘制对象的编辑模式。类型为 str,取值可以是 OBJECT、EDIT、POSE、SCULPT、VERTEX_PAINT、WEIGHT_PAINT、TEXTURE_PAINT、PARTICLE_EDIT 中的一个。下面是一个示例脚本,可以遍历当前文件中所有权重绘制对象,并打印出其名称和所使用的网格数据名称。
import bpy
for obj in bpy.context.scene.objects:
    if obj.type == 'MESH' and obj.mode == 'WEIGHT_PAINT':
        print(f"Object name: {obj.name}, mesh data name: {obj.data.name}")
bpy.context.weight_paint_object 只在权重绘制模式下才有意义。在其他编辑模式下,其指向的对象并不是当前活动对象。bpy.ops.paint.vertex_color_random() 就可以接受一个 context 参数,用于指定上下文对象。