Should Animators Be Allowed to set rotation attributes manually?

I know it sounds like an odd question, but here’s its origins:

I’ve been trying to get a twisting spine like the one seen in “Buck” from “Ice Age 3.” I want to take it one step further and make a unlimited twist using a wire deformer on top of a skinCluster, rather than use thousands of joints. The problem I kept running into is that if the end transform had a different twist axis than the start due to some bend rotation, the angle could at best be decomposed between -360 and 360. I’ve found a way to “increment” the twist rotation using only one frame of reference, but that doesn’t work when the animator can “type in” rotation values through the channel editor in Maya. I’ve noticed that almost every problem with euler rotations stems from channel editor. From gimbal lock to flipping, all of these could be avoided if the animator only animated with manipulators and nothing else. There’s even a “stepped” mode for manipulators in case they want cleaner numbers. So why not disable the ability to edit rotations in any way other than that?

So why not disable the ability to edit rotations in any way other than that?

Generally, competent animators know what gimbal lock is, when it occurs, how to avoid it and how to fix it; same goes for most of flipping issues. Forcibly messing with someone else’s workflow without a very good reason is always asking for trouble. Removing channel box might be an inconvenience, but if you also somehow lock animators out of editing curves - expect an angry mob, with torches, pitchforks and all that.

Would there be a way for you to just issue a recommendation/warning to animators instead? Having a description of circumstances, when the rig is likely to fail can be handy and time saving for animators, especially in cases when the rigging approaches of the rigs given to animators vary wildly (for example: company turning to many freelance riggers in cases of emergency) - it helps animators get accustomed to how the rig in question works.

Sorry, I just realized that scrubbing anim curves or channel attributes does increment properly…it’s when an attribute is set that problems occur because the rotation becomes mathematically impossible I guess…

Historically, the reason we’re stuck with gimbal lock is the age-old animator preference for euler angles over gimbal-free abstractions like quaternions. It’s a hard problem to solve (think of the Max TCB controller, which is mathematically quite nice – but leaves 90% of users dazed and confused).

To some degree you just have to expect that animators are gonna stick with the devil they know. Gentle efforts at re-education will pay off for some, but overall you’re here to help them work instead of making them work the way you wish they did :wink: