when skinning armature to mesh more mesh follows than whats supposed to

Im skinning a mesh and armature, and when I test a rig made with auto weighting too much mesh follows. Such as if i move the elbow some of the shoulder will follow and everything in between will bend. I’ve see other people that seem to have the same problem from searching that only needed to recalculate normals, but that doesn’t seem to be working. How do i get it so the mesh only bends at the joints that it’s supposed to.

Attachments

Help.zip (1.55 MB)

Got a few things going on in that file. First, the armature modifier is set to deform based on vertex groups and bone envelopes both. In the armature panel, switch the display to ‘envelope’ to see how big the envelopes are. Click on a bone in pose mode to see the envelope’s area of influence (for me, I was looking at the upper_arm.L bone, and it’s influence affects the head & chest areas). Un-ckecking envelopes in the armature modifier stops them from affecting the mesh and it should now just deform based on vertex groups, but it doesn’t.

So I selected the mesh and went to the object data panel and looked at the vertex groups. You have a lot of vertex groups there. Found these vertex groups: DfmUpArm1_L, DfmUpArm2_L, DfmUpArm3_L - which have weight, but you don’t have any bones with those names. Found vertex group: upper_arm.L which matches the bone of the same name, but there’s no weight assigned. Also found DEF-upper_arm.L.02 and DEF-upper_arm.L.01 which don’t have any weight either. So there’s 5 different vertex groups for the left upper arm, 4 of which do nothing because there is no bones with those names, and the one vertex group that does match a bone’s name has no weight to make it follow the bone.

Looks like there has been other rigs on this mesh and/or parts of the rigify armature have been removed. Anyhow, I deleted all the vertex groups and tried to use auto weighting - in weight paint mode, from the weights menu -> Assign automatic from bones and I get an error message that if fails. So I tried to remove doubles (double vertices) from the mesh, it removed 13,260 verts, this can cause auto weighting to screw up. Tried auto-weighting again, and it still fails. Not really sure why it’s failing.

If you can’t find out why auto weighting is failing, it’ll have to be weight painted by hand.

Randy

Most of those are because I used makehuman to make the mesh. I forgot it imported a skeleton with it that I deleted due to it not being what i wanted.

you are deforming via bone envelopes. Disable this option in the modifiers.

The vertex groups are assigned fora different rig. Either change the names of the vertex groups to match the bones or change the names of the bones to match the vertex groups, or import the armature from makehuman

EDIT:

Should have read Revolt’s more carefully. He was much more thorough and said all I did