Miscellaneous Rigging Notes

This is where I document on solving trivial matters I encounter when rigging in Maya. They seem inconsequential but the solution presented will surely save an hour or two from searching several forum threads. 


1) Moving parent without moving child:

Supposing you already finished creating your joints but noticed one of the spine joints is misplaced. However, moving that spine joint also moves the corresponding child joints (i.e. chest, shoulder and head joints) and so you end up adjusting two joints instead of one. You can work better by holding D or insert key which only moves the selected joint and not the related joint.


There is a caveat. This only works in joints unlike in Cinema4D (holding 7 instead) where it works in any type of object.  


2. Choosing the rotation order (XYZ, YZX etc) :


The only compelling reason to know the rotation order is because of gimbal lock. A comprehensive discussion of gimbal lock can be found here also here and finally here.  Here is an illustration of the gimbal lock:


Instead of the hand going from down to up, it takes a detour on the side then goes up, intersecting the torso. One of the ways to prevent gimbal lock is knowing your rotation order.  A general consensus in choosing a rotation order is  to rank your rotation axis based on their usage. (This varies depending on your character and your animation preference). For instance, if you have rotation order of YZX. This means X is most used then Z. Needless to say, Y is the least used. 


It is straight forward enough if you are used to animating or you have an animator close by. This is why I just use short hand guide. I rely on aim axis and its world axis of the joints. For instance, if the aim axis is +X and up axis is +Y axis. Then the rotation order would be ZYX.  The conclusive method method is still ranking the axis usage but in my experience the short hand guide works most of the time.


Here are the important reminders regarding rotation order:

  1. You have to choose a consistent rotation order before you are start animating. For instance, if you are midway of 60 sec sequence and decide to change the rotation order, expect additional hours for clean up. Advance rigs usually have an option that let you choose what rotation order you prefer but the concept remains: choose a rotation before you start animating.

  2. Ensure the same rotation order for the joint and the controllers. It basically defeats the purpose in dealing the gimbal lock if they are different. 

  3. Allot more time for the wrist and the shoulders, They are the most prone to gimbal lock.


If I'm hard-pressed of time, I only ensure the wrist and shoulders' rotation order. While I stressed the importance of gimbal lock, it is less likely to happen on areas that rotate less than 90 degrees . So you can be lenient on the head, modest props etc..


While it is important to have a "perfect" working rig, it is more important to have a minimum viable product to move the production line. Work on tasks that really matters at a given moment. 

3. Slow rig after UV Transfer:


More often than not, there are changes in the modelling and texturing production that require revision of UVs. Re-transferring of UV from one mesh to another mesh is straightforward though Mesh>Transfer Attributes command. However, it gets tricky if the target mesh is rigged (at least in Maya). If you proceed as is, the rig becomes terribly slow since Maya now has to calculate UV transfer while also calculating the rigging data (skinCluster node).  You might think that deleting non-deformer history command might do the trick but apparently it does not. You might also try deleting the source mesh but it will ruin the connection of UV transfer and consequently you are back where you started. 

There are two ways to properly do this. 
(1) Mess with the intermediate object parameter:  The phrase is a bit foreign but fortunately the process is properly documented in text and in video

(2) Brute force method: If in cases the first method does not work, I usually export the weights, delete all history, perform UV transfer, delete all history again and import weights. It is quite convoluted but it worked for me consistently. Sometimes there are various bugs and knowing other methods will surely come a long way. 

The first option also works when you are working on blendshape and you want to change your main mesh. Instead of transferring UV's, opt for vertex position. You can also check "Bake Topology to Targets" command for similar workflow. 


Share on Facebook
Share on Twitter
Please reload

Please reload

Search By Tags
Please reload