Demo 2011

Juan Borrero Demo 2011 from Juan Borrero

Joint Orientation and Their Importance

As a technical artist, and tech go to guy, one of the things I get asked often is why are joint orientations so important. Although this topic can become a giant mess of technical babble I will try my best to make it simple and concise. As we all (“should”) know, joints and rigs are mostly used for animation, the purpose of joints is clearly stated, as a tool to “deform” a geometrical mesh. The need for these gems of animation to be properly oriented is not always so clear, let’s begin:
I am using Maya 2012 for this post, so I’ll be posting here some windows that might defer slightly in your version. Below is the Maya Create Joint Option Box Window.

As you can see, there are quite a few options to select from. If you look closely you will see my preffered settings which are as follow:

Orient Joint to World = OFF

Primary Axis = Y

Secondary Axis = Z

Secondary Axis Orientation = Z Quadrant = + (Positive)

All other settings are circumstantial and rarely used, and should be left in their default settings.
Now, let me explain what all those settings really do. As a mainly, Maya user, we are trained to know that our 3D space is ruled by the X Y Z coordinates grid cube. This cube has X as the width, Y as the Height, and Z as the depth. As a rigger and animator in Maya we understand that the Y axis should always point UP. Primary axis Y, simply lets our joints know, that we want that axis to always point up to its child, in this case another joint.
When looking at the default scene in Maya, our depth is again ruled by the Z axis which overlaps on the Y axis going up. Since these two axis divide our workspace in symmetrical spaces for left and right, our secondary axis should be Z.

I’m getting off topic here, but you will see this working in a second. With this info at hand we can infer that spine joints should have Y axis going up, Z Axis forward. As joints move up into arms and other limbs the Y axis would rotate to point to children in those areas, so Elbows should rotate only on X axis, and Fingers should curl in Z axis. Below is a representation of it.

Notice the axis orientation of the Elbow and the Shoulder joint, they are inverted as to have positive rotations on the controls, a request I kept having from animators. Moreover, notice how the clavicle has world rotation orientation, another aspect that was modified in my rigs due to animators requesting it this way. The reason for this is to facilitate the shrugging (up and down) movement of the shoulder’s geometry.
Lastly, the orientation of joints from one side of the character to the other are inversely oriented, this means that the Y axis would point outwards, where Z is forward it would point back and whether X is Up or to the side, it would point Down, and to the opposite side, refer to image below.

The reasoning for this behavior is in part due to animators wanting to animate left and right side overall motions with the same control rotations.
At closing I would like to point out that the settings in the orient joint menu should be the same as explained in the create joint options above, and bullet here as well:

Primary Axis = Y

Secondary Axis = Z

Secondary Axis Orientation = Z Quadrant = + (Positive)

Also, I usually orient my left side joints and use the mirror joint tool for the right, replacing my LF naming prefix for RT, and mirroring in Behavior. If you are still confused with all this feel free to send me any questions you got, I’ll respond to them as quickly as I humanely can.