点击挤出(Click Extrude)是一个在 Blender 中用于为骨架(Armature)添加新骨骼的操作。该操作需要用户选中骨架中一个现有的骨骼,并在其后面单击以创建新骨骼。该新骨骼的位置以用户单击鼠标的位置为准。
align
(对齐)- 设置新骨骼的方向。可选的值包括:
'VIEW'
- 将骨骼方向设置为视口中的视角方向。'CURSOR'
- 将骨骼方向设置为 3D 光标的方向。'NORMAL'
- 将骨骼方向设置为在骨骼所在平面上垂直于面法向量的方向。'LOCAL'
- 将骨骼方向设置为与已选中骨骼的本地坐标系相同的方向。'GLOBAL'
- 将骨骼方向设置为全局坐标系中的方向。这是默认值。snap
(捕捉)- 定义在新骨骼翻转到其他骨骼时应该何时启用捕捉。可能的值包括:
'VERTEX'
- 只在新骨骼的顶点位置重合于现有骨骼时触发。'EDGE'
- 只在新骨骼朝向与面向其连接的现有骨骼的边缘相同(即与连接的骨骼直线重叠)时触发。'FACE'
- 只在新骨骼面向与通过连接的骨骼生成的三角形面的面法向量相反时触发。'VOLUME'
- 当新骨骼任何部分位于连接的骨骼的体积内触发。length
(骨骼长度)- 这个值表示新骨骼的长度,以选中的骨骼为基础。默认值为 1。create_bone
(创建骨骼)- 如果为 True,则创建新骨骼。否则,只会在骨骼内部的板条和关节之间创建新的空间。默认值为 True。keep_shape
(保持形状)- 如果为 True,则新骨骼的位置和角度将根据骨骼上现有的板条(bone segment)来确定。否则,它们将设置为标准位置和角度。默认值为 True。deselect_all
(取消选中全部)- 如果为 True,则取消选中所有其他对象。默认值为 True。假设您有一个名为 armature
的骨架对象,并且想要添加一个新骨骼到它的顶端。
import bpy
# 选中骨架
bpy.context.view_layer.objects.active = bpy.data.objects["armature"]
bpy.ops.object.mode_set(mode='EDIT')
# 选择骨骼
bpy.ops.armature.select_all(action='DESELECT')
armature = bpy.context.object.data
bone_to_extend = armature.edit_bones['bone_to_extend']
bone_to_extend.select = True
# 点击挤出
bpy.ops.armature.click_extrude()
这将在 bone_to_extend
后面添加一个名为 Bone
的新骨骼。新骨骼的长度将与 bone_to_extend
相同。