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 bak 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 worque 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 clik Reload Left in the connection editor then select the locatorBuffer group and clik Reload Right in the connection editor
5. Find and clik the translate attribute on the left side to select it and then find and clik rotate pivot on the right side to make the connection. This will lok 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 clik rotate on the left side to select it and then find and clik 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