def execute(self,context):
armature = context.active_object
p_bone = armature.pose.bones[context.active_pose_bone.name]
bpy.ops.object.mode_set(mode="EDIT")
bone_name = "Stretch_"+p_bone.name
stretch_to_bone = armature.data.edit_bones.new(bone_name)
stretch_to_bone.use_deform = False
if p_bone.parent != None:
stretch_to_bone.parent = context.active_object.data.edit_bones[p_bone.name].parent
length = Vector(p_bone.tail - p_bone.head).length
stretch_to_bone.head = p_bone.tail
stretch_to_bone.tail = Vector((p_bone.tail[0],0, p_bone.tail[2] + length * .5))
bpy.ops.object.mode_set(mode="POSE")
stretch_to_constraint = p_bone.constraints.new("STRETCH_TO")
stretch_to_constraint.target = context.active_object
stretch_to_constraint.subtarget = bone_name
stretch_to_constraint.keep_axis = "PLANE_Z"
stretch_to_constraint.volume = "VOLUME_X"
set_bone_group(self, context.active_object, context.active_object.pose.bones[bone_name],group="stretch_to",theme = "THEME07")
return{'FINISHED'}
######################################################################################################################################### Set IK Constraint
评论列表
文章目录