Spine deformation issues with Rigify on Blender 2.80

Hi everyone,

I have created some sort of mannequin that I want to use to teach animation.
It is supposed to be made of rigid part without any deformation.
For the rigging, I’ve used Rigify and I am working on Blender 2.80.
In order for each rigid part of the mesh to be assign to a deformation bone of the armature, for each bone, I have assigned a weight vertex group with 100 % to all the vertices of the rigid part that corresponds to that bone.
No vertex is assigned to more than one vertex group and unless I am missing something, the envelope deformations are disabled.
The deformations work as I intended for all the bones of the armature except all the bones in the spine and I don’t get why.
It looks like for the body parts assigned to the spine bones, we have the same part assigned to multiple bones or maybe something like bone envelope deformations that are getting in the way or something like that. I can’t find where my problem comes from.
I have included screenshots of the character in its T-pose, then in a pose that shows the spine deformation and an example of weight vertex group.
If someone could give me some advice to sort that problem, thanks for your help.

The problem, as seen best on the lower lumbar section (just above the pelvis) is almost certainly weights. While you may have assigned it fully to a bone, you may not have removed it from all other bones. In Blender, red does not mean fully weighted. It means only that it has an unnormalized weight of 1.0. You can have two red bones, and if you do, they’d each have a normalized weight of 0.5.

1 Like

I think I too encountered the same issue… made two topics about it with no answer (Please help me figure out what's going on)
but just now I had an idea and finally found what cause it: bendy bones. Rigify use bendy bones as default. The bendy bones segments move even when the octahedral form seems to be not moving.
what you can do: reduce the bendy bone segments to 1 on each bone or just visualize it by switching the display type

1 Like

Thank you for these two replies.

@bandages I really don’t think it’s a weights problem. I applied the armature deform to the mesh by only creating empty groups, I almost never use automatic weights precisely because I’m scared that further down the track I might have to deal with residues of weights that I haven’t applied to a bone myself and that I’m missing. Overall, I think I’m fairly comfortable with the way weights work but you never know. I know that if I assign the same vertex with 100 % weight to two different bones, it will effectively be applied with 50 % on each bone.

@mzprox I didn’t think about bendy bones, thanks for that. Reducing the number of segments to 1 seems to have sorted my problem. I’ve never really used bendy bones much though so there is something I’m a bit confused about, I can see that the spine bones aren’t the only bones with more than one segment and yet these are the only bones that cause that deformation issue. Actually, apart from a few exceptions, almost all the deformation bones have multiple segment so how come I don’t get deformation on other part of the rig?

the way I see it now is this: children bones will deform some of their parent’s segments when those parents have more than one segments. I got this in the arm and couldn’t understand what’s going on then…

If you follow your parenting and constraints on that rig, you will find that your constraints are moving your lower spine bones. You can turn them off. For example, activate the last three layers in your armature layers, if you follow the movements and constraints of bone CHEST which you moved, and select Def-spine.002 which also moved and look at the constraints, you will see that it has moved based upon the tweak bone which is normal. If you don’t want those bones to move, then take off the constraints and put a controller bone in the rig to move the other bones. (note you may break other parts of the rig so be aware of the consequences.) The tweak bones are rotating and controlling the def bones stretch and rotations.

Yeah, bendy bones would certainly explain it. I just see a lot of people who don’t really get Blender weight painting, it’s kind of my go-to and I forgot about bendy bones.

That’s all good, thanks for your reply anyway.

I’m not sure I understand what you are writing, sorry.
All the deformation bones have pretty much the same constraints as far as I can see. Only the target bones change so how does this explain that I have that deformation going on for the spine but not for say the elbow?

Obviously, you didn’t turn them off. Slide the influence to 0 when your bone is in a neutral state and then try it.

But which constraint do you want me to turn off?
I understand how bone constraints work, I don’t understand how this is related to that spine deformation problem?

Post your blend so we can stop guessing. You can post one here so we can look at exactly what you are doing and wanting. Post it and then give us the URL that results.

http://pasteall.org/blend/

Right, as we’ve said earlier, the deformation problem on the spine got sorted by reducing the number of segments to 1 for the bones of the spine.

My other question was more a general question about the rigify rig but you can see it on any rig that has been generated using rigify. How come the bendy bones effectively bend in the spine but not in any other part of the rig even though almost every bone has more than one segment? It’s a bit of a detail now, my main problem has been solved.