Bone roll explanation please

So I cannot, for the life of me, figure out bone roll.

Yea, I know ctrl+n and select the z axis is supposed to be done on all rigs.

But why?

Why not the x, why not the y?

And what exactly does bone roll do?

I’ve tried to find something on all this but all I can really find is “this rig won’t work” “oh well recalculate your bone roll” “oh it works now!”

But why?

You can’t very well know when to recalculate a bone roll unless you know why something is acting the way it is.

I’ve also come to notice that b-bones, when pointing down and forwards do not like having their axis recalculated to the z-axis. They twist and do weird things even when the bones on either side are recalculated to the z axis as well. The x axis though? Perfectly fine, why?

I really need to know how and why bone roll works the way it does, because right now I’m grasping at threads in the dark.

Using ctrl-n on a bunch of bones is just a quick way to make sure that they all have more or less the same roll.

Use whatever axis you like. Doesn’t matter. It’s just good practice to keep your bones more or less aligned when possible. That way, if you have some bones that are pointing in roughly the same direction and you rotate one of them on its local axes, you’ll likely get a consistent result.

But if it doesn’t make sense to have two bones with the same roll, don’t do it.

I start from all the bones pointed in consistent direction. Aligning bones make the rig behave predictably. Even then some times bone movement misbehaves. In such case it is relatively easy to determine which bone to correct by bone roll. You are not dealing with rig with every bones rotated helter-skelter all over the place you know.

When one use Curved Bone, bone roll of its parent and child bone will affect the bend. Proper bone alignment and Bone Roll control is a must for that case.

In the old days, blender 2.49 and early 2.5x versions, you had to have the bone roll angles set to the z-axis for the ‘copy pose’ and ‘paste flipped pose’ functions to work. So for a biped character, standing in a t-pose with it’s arms out stretched, all the bones of the arm needed to have the z-axis pointing straight upwards. If you had the x-axis pointing upwards and tried using the ‘copy pose’ and ‘paste flipped pose’ functions, the flipped pose was always messed up. Legs had to have the z-axis pointing forward for this to work. This probably explains this:

I’ve tried to find something on all this but all I can really find is “this rig won’t work” “oh well recalculate your bone roll” “oh it works now!”

as in the rig worked once the bone’s roll was fixed with the z-axis pointing in the right direction.

This has been improved and doesn’t apply to current versions of blender, you can have the x-axis pointing upwards and the ‘copy pose’ and ‘paste flipped pose’ functions work properly, as long as both left and right side’s bones axis match. That’s the key now is just to have the left arm bone’s z-axis (or x-axis) match the right side’s for those copy & paste functions to work.

I can’t really comment on how b-bones behave with the bone’s axis, or roll, but it’s best to have all bones in a chain have matching roll angles, or their axis match.

Randy