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)
方法向该笔画添加两个点。最后,我们分别设置这两个点的坐标,从而绘制了一条直线。