Fix #32596: bones in armature created from skin modifier have wrong envelope

values.
This commit is contained in:
Brecht Van Lommel 2012-09-20 00:53:25 +00:00
parent 6cd32435a2
commit 5205927892

@ -1692,11 +1692,9 @@ static void skin_armature_bone_create(Object *skin_ob,
v = (e->v1 == parent_v ? e->v2 : e->v1);
bone = MEM_callocN(sizeof(EditBone),
"skin_armature_bone_create EditBone");
bone = ED_armature_edit_bone_add(arm, "Bone");
bone->parent = parent_bone;
bone->layer = 1;
bone->flag |= BONE_CONNECTED;
copy_v3_v3(bone->head, mvert[parent_v].co);
@ -1704,8 +1702,6 @@ static void skin_armature_bone_create(Object *skin_ob,
bone->rad_head = bone->rad_tail = 0.25;
BLI_snprintf(bone->name, sizeof(bone->name), "Bone.%.2d", endx);
BLI_addtail(arm->edbo, bone);
/* add bDeformGroup */
if ((dg = ED_vgroup_add_name(skin_ob, bone->name))) {
ED_vgroup_vert_add(skin_ob, dg, parent_v, 1, WEIGHT_REPLACE);
@ -1770,16 +1766,13 @@ static Object *modifier_skin_armature_create(struct Scene *scene,
* a fake root bone (have it going off in the Y direction
* (arbitrary) */
if (emap[v].count > 1) {
bone = MEM_callocN(sizeof(EditBone), "EditBone");
bone = ED_armature_edit_bone_add(arm, "Bone");
copy_v3_v3(bone->head, me->mvert[v].co);
copy_v3_v3(bone->tail, me->mvert[v].co);
bone->layer = 1;
bone->head[1] = 1.0f;
bone->rad_head = bone->rad_tail = 0.25;
BLI_addtail(arm->edbo, bone);
}
if (emap[v].count >= 1) {