Friday, April 1, 2011

Animated Pivot in Maya

In this tutorial, I am going to show you two different methods to create a pivot control for animation. One more thing, Happy April FoOl's Day :D



1st Method
  • Create a locator and name it pivot. Create a polygon cube and name it object. Select the object and group it to itself and rename the group as negOffset. Make negOffset a child of pivot.

  •  Now create a multiply divide node from the hypershade or just entering “createNode multiplyDivide in the mel script editor. Open the connection editor and load pivot in the Outputs  and multiply divide node in the Inputs. Connect translate of pivot to input1 of multiplydivide node. Make sure that the input2 of the node is all set to -1.

  • Again, load the multiply divide node in Outputs and negOffset in the Inputs. Connect the output of multiply divide node to translate of negOffset.
  • It’s done. Just select the pivot and move it to the desired position and rotate it. You can see that the object rotate from that pivot point.


2nd Method
  • Create a locator and name it pivot. Create a polygon cube and name it object. Select the object and group it to itself and rename the group as offset. 

  •  Open up the connection editor and load pivot in Outputs and offset in Inputs. Connect translate of pivot to rotatePivot of offset. Again connect rotate of pivot to rotate of offset.

  • That’s it. Now just select the pivot and move it wherever you want and rotate it. The object rotates from that pivot point.


Conclusion : Both of these methods shows a technique to create a pivot control which can be animated. Note that once you have rotated and translate the pivot controller, there is some weird transformation (you can zero out the rotate in this case and reposition as you need ;) but this is totally natural which can only be avoided by creating a little script to reposition the offset. But I don't think it is necessary because I am pretty sure the animator will use the pivot controller based on the shot necessity and can easily manipulate it. Hope you enjoyed my little tutorial :)

Also, if you wish to know what I meant about the weird transformation stuff, it is basically something that is taken care of by putting some offset values in the rotatePivotTranslate attribute. You might want to take a look at the tutorial post below to get a good understanding about it!

How to Animate a Rolling Cube ...