How do i fix this? (funny head rotation)

I have a “track to” bone that the Head bone looks at on this model, which is fine if the model is standing straight but if i use the root bone to rotate the whole model (I want it to fly in a loop) then the head twists over part way round the loop. Any way to fix this? should I be using another constraint?

Screenshots that show the problem:

Attachments



Using the “hinge” feature on your armature maybe

Thanks for the reply man i tried that and it didnt work tho

Hey sketcha :slight_smile:

I think what’s happening here is the track-to is flipping when it crosses the Z axis, since it is likely using the Z axis to determine which way ‘up’ is. So when it crosses that axis, it has to rotate 180 degrees to keep the ‘up’ side of the bone pointed ‘upwards’.

My suggestion would actually be simply to not use it. I have seen rigs with a tracking system for the head, but in every case there needs to be some kind of override for it. Tracked heads work for looking around, but it can be tricky to animate a reaction, or an impact on the head (or other scenarios where the head is not tracking, but is being manipulated directly instead). I’ve found in my rigs that leaving the head as a free-rotating bone (double tap r to free rotate) works just fine :slight_smile: And you can of course make it a hinge, which can make the animation more intuitive.

In any case, I’m pretty sure the problem is the track-to trying to point ‘up’ in the scene’s global space. If you decide you still want to setup a tracking system for the head, you’ll need to define ‘up’ as being a bone. You can do this on the track-to constraint, or I usually use an IK for this type of thing, since you can define ‘up’ using a pole target (which I imagine you know how to use now ;)). That way ‘up’ is not global, but can move along with the rig as a bone.

Thanks again FGC, you really should have a donate button of your own here :D. I think Ill leave it as a free bone and work it like that, obviously the track to is more hassle than it was worth.