Bone rotation issues

Hey guys,

I’m having an issue with a rig I made. The bones came from blender’s rigify. There is an IK on the arm. So the issue I am having is with the forearm joints. For some reason when I twist/ rotate them past a certain angle, the bones seem to snap or twist 180 degrees causing problems with the deformation. Anyone know why that is? I’ve tried resetting the bone rolls but it doesnt seem to help much. Here is a screenshot showing what I mean.

Any help would be greatly appreciated.


I had a similar issue and for me the solution was increasing the chain length of the parent to the IK bones. What was happening was a joint/bone child wasn’t rotating because it wasn’t part of the Ik chain. So when the bones in the IK chain rotated past a certain angle they would spin 180 and my characters thumbs were aiming down. I could have fixed the problem another way. By say moving and/or rotating the collar bone (it was also an arm in my case) but I figured I shouldn’t patch it and make a better IK setup. I’m a novice so forgive me if that didn’t help.

Without a .blend or screenshots of edit and pose mode bone positions with axis display on, it’s hard to help you.

That said, Blenders constraints do not like values over -180 or +180 of rotation. You have over rotated your hand. Although you said you have tried different bone rolls, I suspect that is your issue. Proper orientation in edit mode will fix your issue.

Rigify will work fine if you position the bones of the metarig properly before generating the rig. Real life rotations of the hand and forearm will never cause the rotation to come close to the -180/+180 limits.

Good luck!

Thank you for the reply, guys.

You’re both probably right about it having to do with rotating past 180 degrees. I did some experiments and I’m wondering if it has to do with the “transform” bone constraint I was using for the forearm roll. If that’s the case. Do you guys know of a better way to get a forearm roll? Here is a screenshot of the bone axis. Unfortunately, I can’t send the .blend cause its for a client.