Movable Pivot Control in Maya

Animating a character flipping or spinning around can be a hurdle in 3d. A character will forward flip over a different center of gravity then if it were to spin around 180 degrees on its right heel. Typically the solution is to set up a hierarchy of groups with pivots at different locations in which the animator can choose to rotate individually as needed. The problem with this solution, besides the redundancy of having so many group nodes to dig through, is that it takes a heavy amount of preplanning to pull it off cleanly. The idea here is to make one control that will easily move around the character's center of gravity in order to rotate the character as a whole around that center.

Let it be clear that this is a MOVABLE pivot not an ANIMATABLE pivot. What that means is that it is generally a one time deal per shot. Once the control starts rotating, translating it can cause some very funky results. If you have a character that is walking and then you use the movable pivot to make it turn left 90 degrees on its heel, trying afterwards to move the pivot over to the right heel will cause the character to translate oddly. However, if the character does a forward flip 360 degrees (essentially rotating the control back to its initial orientation), then the control can be moved and used again.

1. Create a locator (create > locator), name it "objectLocator"

this will represent the character rig or object to be rotated at different centers

2. Group objectLocator to itself and name the group "locatorBuffer"

this is where the movable pivot will do its work leaving the objectLocator free to be transformed as needed underneath

3. Create a nurbs circle (create > nurbs primitives > circle), name it "movable pivot"

this will represent the movable pivot control that is simply translated into place and then rotated

4. Open the connection editor (window > general editors > connection editor), select the movablePivot control and click Reload Left in the connection editor then select the locatorBuffer group and click Reload Right in the connection editor

5. Find and click the translate attribute on the left side to select it and then find and click rotate pivot on the right side to make the connection. This will lock the Rotate Pivot of the buffer node to the translate values of the movable pivot. Next we need to connect the rotation of the movable pivot to that of the buffer node so find and click rotate on the left side to select it and then find and click rotate on the right side to make the connection

6. Thats it! try moving around the movablePivot control and rotating it. Simple right?

7. If you got something out of this technique or found another use for it please let me know below. here's the completed scene movablePivot.mb


I make these tutorials in my spare time. I try to cover topics I have not seen covered before like "out of the box" workflow. If you like these and want to see more, consider making a donation.

Make a thank you Donation!