Bone Axis Flipping Anomaly

Before I report this as a bug, I’d be very grateful if some riggers who are more experienced than I would render an opinion.

The attached file contains part of a rig for a five-function hospital bed. The part in question is the head/foot pedestals which raise and lower the head/foot independently of each other. Rather than naming the bones as foot/head, I’ve set up this example as right/left.

The rig works, more or less, but when operating rockerCTRL.R, which raises and lowers the left side, the right-hand pedestal bones’ axes flip around. This doesn’t affect the objects attached to those bones, however. In other words, even though the bones seem to spin, the objects attached to them don’t.

The anomaly is that when operating rockerCTRL.L (the other side), the bones don’t flip around. Rather, the former is the anomaly and the latter is the norm or seems to be.

So, given that the flipping only takes place on one side, and that the objects attached to the bones don’t flip as the bone axes flip, is this a bug?

I’ve rebuilt this rig three times and each time I run into the exact same behaviour, bone axis flipping that doesn’t affect objects attached to those bones. In the versions I’ve built, I have:

  • built one side, then copied it to make the other,
  • used bone mirroring to create both sides at the same time,
  • built one side, made a copy and then used Armature -> Mirror -> X Global to create the other side.

There is a second anomaly in this rig:

If I rotate rockerCTRL.(L or R) and then hit ESC to cancel, the rockerCTRL bone goes back to it’s rest position, but the pedestal bones (which telescope out using a driver fed from the X Rotation of either rocker.L or rocker.R) jump to their fully-influenced positions instead of going back to their rest positions.

So, this sounds (to me) like two bugs:

  • bones flip axes under certain conditions, and
  • bones influenced by drivers will not return to rest positions under certain circumstances.

Please download the file and try/check it out and let me know if I’ve simply missed something or if this behaviour is just not avoidable in the current version of Blender.

Can anyone confirm this or show me that I’m doing something wrong?

doubleRockerMirrored2012-12-22_05.23.blend (619 KB)

if your problem is only the flipping of the bones, it might be because you are using the Trackto constraint… (personnaly I think they should either modify it or remove it from blender.) The problem with that constraint is that you can’t have a up object and because of that you will always have flipping problem.

The solution is to use other constraint. I like to use 2 constraint instead. first one is a damped track to the real target, and second one is a Locked Track which target the up object. This way there isn’t a prob of flipping.

I have made the change on pedestal05.R, I also changed the shape so that I can see how it was flipping.

hope it helps!

Mathias.

Attachments

doubleRockerMirrored2012-12-22_05.23_modify.blend (572 KB)

1 Like

Dang! That worked.

Thanks, Mathias. Now to see if it will translate from the example to the BIG file.

EDIT: Yup. It’s working in the big file now, too.

Just curious… are there any other constraints I should avoid? Besides Clamp to which doesn’t seem to work at all.

I thank you from the bottom of my heart, Mathias. That one was driving me around the bend.

Is there any point in reporting this as a bug?

No this is a fairly well Known bug… I’m pretty sure the old ‘Track to’ Constraint will be replced by the ‘Damped Track’ constraint in some future revision of Blender but as I understand it, it’s just not a high priority item right now. (one of the problems with Open Source software is some times fixs don’t come as quick as we would like…) (Come to think of it… I this is also a problem with Commercial software too… hummm)

Also… a small tip when Rigging Bones and using Constraints… try to ‘align’ your bone Axis relitively close to the bone you are constraining it too when you constrain one bone to another… this will help avoid some flipping problems… (yep you still get flipping problems sometimes even when the Constraints are working just fine)

That’s why I gave up on GIMP.

:slight_smile: That’s why I gave up on CorelDRAW.

Yup. Good tip. They’re all flat and even (to borrow words from Vinny Bag-a-doughnuts’ girlfriend).

But, as it turns out, this particular rigging problem needs IK, so I’m starting over again in the morning. (sigh)