Skinning problem with Automatic Weights

Hi all, I’ve run into a weird problem with the Automatic Weights feature in Blender 2.5 Beta. I’m trying to get a human mesh to deform realistically, so I test it with automatic weights to find problems, then remove the Armature modifier and delete the vertex groups before remodeling as necessary. I then parent the mesh to the armature with Automatic weights again to see the updated results. I’ve been doing this for over a week - it works beautifully most of the time and I think ‘Automatic Weights’ gives a really good starting point for skinning - but I recently made some more changes to the mesh, (involving detaching, mirroring, and reattaching some parts) and now when I parent it to the Armature, the bone weights are completely messed up - I’ve got arms and legs bending in wide arcs instead of following the bones, and bits of the mesh ‘break off’ as well. Basically the whole thing looks stupid - Blender suddenly fails to work out the weights properly, connecting vertices to bones that are nowhere near them. The mesh doesn’t have any problems as far as I can see, and I’ve tried changing every bone and armature setting I can find. Here’s a quick screenshot to show the sorts of results I’m getting, I’m hoping someone might recognise the problem, or tell me where I’m going wrong.

This is my first post but I’ve learned a lot from you guys and you’ve helped me out loads in the past, so respect to you all! :wink:

Attachments


Hi, I’m having exactly the same problems for the same reasons. I’m interested, did you find a solution for it?

After you detached mirrored your parts etc did you tell blender to redo the automatic weights for your bones ?

It went wrong when I remade the feet and joined the new feet with the body mesh. I tried deleting al vertex keys and modifiers so I have just the body mesh and the armature. Then I selected the mesh and then the armature, did Ctrl+P to set automatic weights to the mesh. I tried this for many times now but I keep getting the strange deformations like Falcon27 described. I hope there is a solution otherwise I see no other way to roll back to a save before I remodeled the feet.

I realize you guys probably don’t want to upload all your hard work, but how about a blend with just the shoulder mesh with bones or the foot section with bone (or some other problem area) it might help to get a better reply.

weight problem.blend (1.93 MB)

Here is the legs, still work in progress, you’ll see the problem when you’ll lift the feet. It is nice you’re willing to have a look into this.

looking at it and fixing it are two totaly differnt subjects lol, but I will at least have a look at it hopefully some rig guru’s will have a look at it as well now its online

I’m very far from a rig guru, but i think i noticed the problem.
At first i thought maybe it was a problem with the rig, so i deleted the modifier, deleted the whole armature, removed every vertex groups from the legs.

Then i made a very simple armature with only bones, no constraints.
http://i.imgur.com/kgt4X.jpg

After parenting with automatic weight :
http://i.imgur.com/qsV4r.jpg

The rig continue to go very wrong.
Now, i notice that the model has opened parts., what if i just close them (and recalculate normals) then reparent ?
http://i.imgur.com/zY6eY.jpg

… this time it works, the automatic weight does not go wrong.
http://i.imgur.com/ejbs9.jpg

So i try with your original armature, and it works too
http://i.imgur.com/eodZJ.jpg

So the possible problem i think is that like for the leg example, there is a part in your model that is not fully closed, a hole or something similar that is puzzling the automatic weight function.
Unless it’s just a normal that went wrong when you attached some body part.

If it’s not that, i’m puzzled.

@ Robsoie

Awsome fix just tried the recaculate surface normal got instant fix with open mesh good tip to add to the knowledge base.

I also started from scratch and was totaly stumped after trying what I knew .

In the first place, thanks for all the energy you guys put in this.

You know I’m still a little puzzled what did the trick. After quite some more fooling around with it my character and armature do work again :yes:

At first I couldn’t really reproduce Robsoie’s fix above. I deleted some unconnected verticles in the mouth area and also I closed the hole, but it didn’t change anything, I deleted the vertex groups and the armature and made a new simple armature, but it didn’t seem to be the fix. At one point I parented the armature again and suddenly this test blend worked even with the holes in there. I didn’t really know why it worked then. I don’t know but it is almost if the mesh has some kind of memory that refreshes when editing it for some time in editmode.

So I decided to experiment further with the actual character blend. I deleted a loop in the stomach area of the character and closed the holes, so the upper and the lower part of the character got really separated. Still the same trouble, however when I saved the file again and parented the armature again it worked. So I fixed the stomach area again, and it still works. Also when I delete the armature modifier and parent it again with automatic weights it works also. So it’s all good again :eyebrowlift2:

Again thanks a lot for the in depth analyses it helped me in the right direction and solved this obstacle.

Hi guys, thanks so much for all the feedback, recalculating the normals works perfectly. I haven’t been around the forums for a while, so I didn’t know anyone had responded - my project has now moved to Maya (which annoys me more than words can say), but I’m still making a game in Blender. Today I ran into the same problem, Googled it, and this thread was the first result, with the solution nicely explained. Wow!

Thanks again for the expertise.