bpy.context.gpencil_data 是一个 Blender 内置对象,表示当前正在编辑的 2D 建模数据。这种类型的对象通常被称为“笔画数据”(grease pencil data),因为它主要用于绘制手绘动画和图形,而不是传统的3D建模。
bpy.context.gpencil_data 的类型是 bpy.types.GreasePencil,它包含以下属性和方法:
layers:一个由 bpy.types.GreasePencilLayer 对象组成的集合,表示笔画数据中的所有图层。new([name]):创建一个新的空图层并将其添加到笔画数据中。可选的 name 参数可用于设置新图层的名称。layers.remove(layer):从笔画数据中删除指定的图层。layers.active:获取或设置当前编辑的图层。以下示例演示了如何在笔画数据中创建新图层:
import bpy
# 获取当前场景的笔画数据
gp = bpy.context.gpencil_data
# 创建一个名为 “New Layer” 的新图层
layer = gp.layers.new("New Layer")
# 在新图层上绘制一条直线
layer.frames[0].strokes.new().points.add(count=2)
layer.frames[0].strokes[-1].points[0].co = (-1.0, 0.0, 0.0)
layer.frames[0].strokes[-1].points[1].co = (1.0, 0.0, 0.0)
该示例首先获取当前场景中的笔画数据 gp,然后使用 gp.layers.new() 方法创建一个名为 “New Layer” 的新图层,并将其赋值给 layer 变量。
接下来,我们在新图层的第一帧上绘制一条从 (-1, 0, 0) 到 (1, 0, 0) 的直线。要做到这一点,我们首先使用 layer.frames[0].strokes.new() 方法创建一个新的笔画对象,然后使用 points.add(count=2) 方法向该笔画添加两个点。最后,我们分别设置这两个点的坐标,从而绘制了一条直线。