Why, sometimes, automatic weight assignments gives out weird results?

For first, this is the comparison to understand what I mean:


I obtained this weirdness after some editings that I want to list:

  • I have duplicated an arm that I edited, then reattached it in a flipped way, where I deleted the other arm to have a symmetric result, removing the doubles.
  • Since it given weird weights, I deleted all the vertex groups.
  • In the meanwhile I’ve also edited the armature, adding a bone on the arms to rotate it correctly during poses. I also set it as parent ecc so that it moves correctly according to the other parents.

And then when I try to assign them with authomatic weights I obtain this light blue result. I also tried assigning them bone by bone but it’s the same, and also “from envelop” doesn’t give the normal result.

What can be the reason? It is ever happened to you?

Wow, that just looks creepy!! :open_mouth: LOL, don’t worry, it happens all the time, it maight be related with the number of verts or the bones. You should try to re done it again. Man, if you think this is weird, hahahaha, look on my questions and see what is weird XD, an arm that overlaps the characters cloth, ar arm that deforms when moving it to the top. Blender is not a great software for rigging, unfortunetly, is the easiest one for rig. 3ds max rigging process is a PITA (PAIN IN THE ASS)

Ahahaha, well, thanks.
I want to understand the why because I want to avoid it in the future.
I tried to rebuild the upper part of the armature and to reassign it, but same.
I also tried to delete all the vertex groups before reassignign, but same!
It’s like if the most intense parts of the assignments are on the sides of a bone (about) and not in the center and covering a larger area.

Without a file to look at, we are all guessing as to what your problem may be. I would guess there are bones that are set to deform that should not be. (Deform checkbox located under bone properties.) Controls or other mechanism bones that are only needed to make the rig function, usually should not deform the mesh and should not show up in the vertex group list.

Other problems can arise if the objects have unapplied scale values on the mesh or differences in scale between the armature and mesh. Automatic weights will almost always give errors in these situations.

Yet another common issue when weighting is not normalizing weights. If the weights are not normalized, the colors of the weights are really meaningless. Normalizing weights makes sure all weights equals 1.0 for all deforming vertex groups.

Here is a tutorial about this issue: https://www.youtube.com/watch?v=_y8mOQBOHxA&index=6&list=PLizSCQYO0I6OgkNrDXuoRR0_ebpHWkj7w&t=42s

I also have a bunch of tutorials on weight painting in my Rigify tutorial series that will give you a good workflow to follow when weighting.

Good luck!

Thanks!!! I’ve still not solved but I identified the area. I was trying to export it without textures/materials ecc in .dae and when I opened it to check, it figured out wrong proportions of the scale.
I tried to do CTRL+A and Apply Rotation and Scale, before exporting, but I still obtained this.
I am sure that the problem is around this stuff as you suggested. :slight_smile:
So, thanks!
Any suggestions to not repeat it in the future?

The O.P. has provided me with the file. The fix is luckily very simple and one I preach in almost every tutorial that I make. Always prepare your mesh for rigging, before rigging. In this case, the problem was flipped normals in the arm mesh.

In the first image notice the discoloration of the mesh. This is a good indicator that the normals (the direction of the faces) are pointing inward instead of outward. To recalculate the normals, enter edit mode, select all vertices (hotkey A), in the U/V and Shading tab (tools) select, Recalculate or Flip Normals. (Image 2.)

Image 3 shows the mesh after the normals have been recalculated, the mesh has been parented to the rig with automatic weights, and the rig has been posed.


Good luck!

1 Like

Ohhh MANY MANY MANY THANKS!!!
I think that I simply tried to make normals homogeneous, but I haven’t flipped them!
Sorry for having disturbed you all for a so simple issue. :slight_smile:
Many thanks for your patience.