在骨架中选择一个或多个骨头,沿某个方向拉出新的骨头。
bpy.ops.armature.extrude_move(TRANSFORM_OT_translate=None,
TRANSFORM_OT_shrink_fatten=None,
MESH_OT_select_face=None,
MESH_OT_extrude_edges_indiv=None,
MESH_OT_extrude_faces_indiv=None,
MESH_OT_extrude_region=None,
TRANSFORM_OT_edge_slide=None,
TRANSFORM_OT_vertex_slide=None,
TRANSFORM_OT_homogenize=None,
INVOKE_REGION_INIT=False,
INVOKE_REGION_WIN=None,
INVOKE_AREA=None,
BONE_OT_duplicate=None,
BONE_OT_roll=None,
BONE_OT_mirror=None,
use_select_linked=False)
TRANSFORM_OT_translate
(表示平移操作的参数)
value
: 平移的量TRANSFORM_OT_shrink_fatten
(表示收缩/膨胀操作的参数)
value
: 收缩/膨胀的量use_even_offset
: 在设置收缩/膨胀时,是否使用相等的偏移量MESH_OT_select_face
(表示选中面操作的参数)
type
: 选中面的类型MESH_OT_extrude_edges_indiv
(表示选择边操作的参数)MESH_OT_extrude_faces_indiv
(表示选择面操作的参数)MESH_OT_extrude_region
(表示区域选择操作的参数)TRANSFORM_OT_edge_slide
(表示边缘滑动操作的参数)
value
: 滑动的值mirror
: 是否镜像snap
: 是否吸附snap_target
: 吸附的目标snap_point
: 吸附的点snap_align
: 是否对齐snap_normal
: 吸附时参考的法线correct_uv
: 是否修正 UV 坐标release_confirm
: 松开确认TRANSFORM_OT_vertex_slide
(表示顶点滑动操作的参数)
value
: 滑动的值mirror
: 是否镜像snap
: 是否吸附snap_target
: 吸附的目标snap_point
: 吸附的点snap_align
: 是否对齐snap_normal
: 吸附时参考的法线correct_uv
: 是否修正 UV 坐标release_confirm
: 松开确认TRANSFORM_OT_homogenize
(表示归一化操作的参数)INVOKE_REGION_INIT
(表示初始化操作)INVOKE_REGION_WIN
(表示查找的窗口)INVOKE_AREA
(表示选择的区域)BONE_OT_duplicate
(表示复制操作的参数)BONE_OT_roll
(表示旋转操作的参数)
value
: 旋转的角度orient_matrix
: 旋转的方向矩阵orient_axis
: 旋转的方向轴orient_type
: 旋转的方向类型BONE_OT_mirror
(表示镜像操作的参数)
axis
: 镜像轴use_select_linked
(是否使用联动选择工具)以下代码在选择一个骨头并进行拉伸操作时使用 bpy.ops.armature.extrude_move()
函数:
import bpy
# 选择一个对象并且设置为活动对象
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['Armature'].select_set(True)
bpy.context.view_layer.objects.active = bpy.data.objects['Armature']
# 选择一个骨头
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.armature.select_all(action='DESELECT')
bpy.ops.armature.select_bone(name='Bone')
# 进行拉伸操作
bpy.ops.armature.extrude_move(TRANSFORM_OT_translate={"value":(0, 0, 1)})
注意事项:
TRANSFORM_OT_translate
参数中的 (0, 0, 1)
表示在 Z 轴上拉伸一个单位长度。