PDA

View Full Version : Rotation orders


JaredTaylor
01-15-2010, 01:26 PM
Is there a good (no video tutorials please, i have a 10 gig bandwidth cap ><) tutorial out there that covers rotation orders for control objects?

For Maya.

theflash
01-15-2010, 01:57 PM
http://guerrillacg.org/

This has one of the best explanations for rotation in 3d. check rigging category.

JaredTaylor
01-15-2010, 02:21 PM
thank you :)

JaredTaylor
01-17-2010, 08:05 AM
I finally got around to watching it and well, it shines a light on a lot of things I didn't know.

But what I want is something that'll tell me what rotation order to use on specific controls.

F.ex. I just got gimbal lock on a shoulder control because I don't know what to set the rotation order of the control to.

Would be nice if there was an image that had a character setup showing what rotation order to set each and every control to. Or a video/text tutorial that goes over it.

PentamiterBeast
01-17-2010, 09:55 AM
Dont really know of any tuts that show every last lil control... but just try to think through it all logically... For instance the arm... I always rig the shoulder with the primary rotation as the up/down movement, and the secondary as the forward/back swing... Imagine you have a character at base in Tpose... if forward back is your primary rotation, and up down your secondar... then as soon as you pose the characters arms by its sides... boom, you're already gimbal locked.

Lets consider the wrist... if you flop your wrist (hand) up and down, youll notice that you cant move it side to side anymore (you can only rotate your forearm)... so it make sense there to have the side to side primary, and the up down flop, secondary.

And so on, and so on.

Also dont forget, theres plently of tricks using offset objects or joints to create second level controls at any point that will always give you a free handle should your primary controller become gimbal locked.

theflash
01-17-2010, 05:54 PM
Think of it this way,

In rotation order xyz, 'z' gets the highest precedence so rotating z will rotate x and y along with it. The second one, 'y' will affect only x. And 'x' will affect none having the last precedence.

So the z and x are safe because they don't lead to misalignment of rotation axis (One rotates all together and one doesn't affect any other). However, 'y' in this case leads to gimbal problems as it causes x to coincide with z or come closer to z. So the middle axis of rotation is the one you should use for less favourable movement of the arm.

To solve gimbal problems you can also use extra group or another control on top of main control. So if the main control is locked the secondary control can be used for rotation.
One good practice is that when you rig the character in 'T' pose you can use a group to bring down the arms down (because thats the natural pose) so your controls still have 0 values in rotation and they won't get in gimbal very soon.

PEN
01-18-2010, 02:50 PM
theflash has the right direction there. Just to make it clear it is the middle axis of any axis order that will cause gimble lock when rotated 90deg from it's origin. So, you can group and object, for Max users this is aligning a point helper to the control in position and orientation and then linking the control to the point, or using M Group from my site. What this will do it get you as far from gimble lock as possible be cause the origin of the rotation is zero'd out.

Now that being said this still doesn't solve the problem of gimble lock, rotate the middle axis 90deg and you have gimble again. It is just a good start. The next thing that you need to do is test the different axis orders, start by asking your self if there is an axis of rotation for the joint that will even reach 90deg and make sure that is the middle axis. For instance the wrist can't rotate very far from side to side but up/down and twist can go quite far. So the middle axis in this case should be controlling the side to side motion.

Another thing to consider is just the orientation of the controls them selves. If you have a control with an XYZ axis order and you are using it for the wrist and Z points up from the wrist and Y points side ways you will have a gimble problem. As soon as the wrist rotates up and down you are now rotating Y and causing the X to rotate onto Z. Since side to side has the least rotation make sure that Y is pointing up from the wrist so that it doesn't cause the problem and Z is pointing side ways.

If is not possible with an Euler rotation controller or angle axis as it can be called to stop gimble lock, the only way to really do this is change the controller to a quaternion interpolation, problem here is your animators will hate you as they will not have useful function curves to animate with.

CGTalk Moderation
01-18-2010, 02:50 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.