# 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.

4. Â

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.Â

Â