Weight Painting Oddity

Blend file: http://pasteall.org/blend/index.php?id=51691

I’ve run into an issue where a bone seems to be influencing vertices it shouldn’t. If you open the .blend file and go into weight paint mode, you’ll see the influence for the bone thoracic ends at the bottom of the rib cage. However, if you rotate that bone, the edge loops beneath it in the waist area move as well. Those vertices should only be affected by the lumbar bone.

I’ve tried removing the problematic vertices from all groups, then reassigning them by various means (weight painting with and without auto-normalize, the vertex group section of the object data panel). Removing the vertices from all groups works, but as soon as I add them to the lumbar group by any means, they start misbehaving again. I’ve gone through all the other bones to make sure none of them have some minuscule influence. This is the only part of the model where I’ve had this problem.

Can anyone figure out what’s causing this?

Thanks.

That’s normal behavior. Your stretching the mesh. Do this. GO to edit mode. Select a vertex and then just move it exaggerated around. You will see the mesh stretch even though you don’t have a bone moving. You can add more bones and more topology to minimize it but before doing that, do you really need an exaggerated pose where only that bone moves?

I don’t think that’s it. If it was just normal stretching, it would happen everywhere, not just in the waist.

Here’s a gif of what I’m talking about:

problem-illustration

Notice how when rotating the lower bone, only the vertices that are weighted to it move. When rotating the upper bone, unweighted vertices are moving as well, and in the wrong direction!

I’ve never encountered this before, even though I’ve used this exact same rigging and weighting in several projects.

I did try moving vertices in edit mode like you suggested, and did not get the results pictured above.

The lumbar bone is not a normal bone, but a bendy bone. If you select it and go to Properties->Bone->Bendy Bones panel, you’ll see segments is set to 5. If you go to Properties->Object Data->Viewport Display and change Display As from Stick to B-Bone, you can see the bone is made up of segments, and if you rotate the thoracic you’ll see the bending that’s causing your problem. (to see better, you can make the bones thinner by entering edit mode, selecting all, and using ctrl+alt+s)

To fix it, change bendy bones segments to 1.

Thank you so much! That fixed it!

It’s also easier to see problems if, in the t-panel, under Options>Show Zero Weights, you click on Active, rather than the default None. Then when you click on a bone or a vertex group you’ll see all the verts affected as a color and everything else as black. I also tend to keep the Vertex Selection Mask (footer button, cube with a dot) on and hit select on the vertex group to see where the influence is. Even if the problem is actually in the rig itself as @tomjk Thomas points out, and you needed to change the rig display to see it.

1 Like