Click to go home...

MEL Scripts: tweenMachine.mel


The purpose of tweenMachine is to greatly simplify the process of creating breakdown poses between key poses. How exactly does it do that? Well, say you're creating poses for your character with stepped keys, and you want to make a breakdown pose between key poses you have created on frames 1 and 10. You want this breakdown pose to rest on frame 7, but you want it to be the equivalent of the pose at frame 3 if the interpolation were linear. The following comparison shows how this would be accomplished both with and without tweenMachine.

Without tweenMachine

  • Select all controls on the character
  • Change interpolation on all keyframes to linear
  • Left-click on frame 3 in the timeline
  • Middle-mouse click on frame 7 in the timeline
  • Set a key
  • Change interpolation on all keyframes to stepped

With tweenMachine

  • Left-click on frame 7 in the timeline
  • Adjust a slider in the tweenMachine interface to -70

There is no cost for tweenMachine, but if you're willing to toss a little in the ol' tip jar, I'd be most grateful...

If you're happy with the results, great! If not, you've got a lot of steps to repeat if you're doing it the manual way. With tweenMachine, you adust the slider and see the results immediately...and you don't even have to select any controls. Just create a custom set that controls the entire character, and adjust the set's slider to tweak the pose. But that's just the beginning of tweenMachine's capabilities. It also allows you to...

  • easily favor poses on different body parts in different ways using multiple sets
  • organize sets in collapsable custom groups (see screen shot below)
  • easily control how sets and groups affect the ticks on the timeline
  • create an overshoot pose by enabling overshoot mode
  • affect the members of each set using sliders, buttons, or both
  • affect only the channels highlighted in the channel box for selected objects
  • easily work with character sets, either by using a single custom slider, or by importing character set info into tweenMachine
  • use Maya 7's "special" tick color to identify keys made with tweenMachine
  • ...and more features are still coming!

Will tweenMachine create perfect breakdown poses? Not likely, but it will get you closer to your goal a lot faster than other methods. You spend less time with busywork and more time creating great animation.

tweenMachine.xpm (shelf icon)

Note: if you download the current Zip file, the icon comes with it. If you downloaded an earlier Zip file and don't have the icon, just grab the XPM file.


The main script was written by me. The included library file "xml_lib.mel" is by J. Adrian Herbez. Shelf icon created by Keith Lango.


v2.03 - released 03/27/09
updated to support the special tick color for Maya 200X versions
Shelf icon! - added 9/17/06
Keith Lango kindly created a shelf icon for tweenMachine. It has been added to the Zip file, but if you already have everything else and just need the icon, it's available separately in the Files section above
v2.02 - released 9/12/06
Added a tick color toggle (visible only in Maya 7 or higher). Choose whether you want to use the standard tick color or Maya's "special" tick color for keys created with the tweenMachine
v2.01 - released 8/30/06
New character set features! Use a single slider to favor poses on the active character set, or import your character set hierarchy into tweenMachine.
v2.00 - released 8/20/06
Major overhaul! Added sets and groups, buttons, management tools, timeline tick control, and lots of other things. See the HTML documentation included in the zip file for full details on the new version.

For a full version history, see the included documentation.

Coming Soon...

Most of my planned features made it into the first release of v2. However, I wanted to get the tool out and in folks' hands as soon as possible, so some of the "icing on the cake" types of features were left out. Some of those that are still coming include:

Reorder Sets/Groups
Change the order of sets or groups in the UI
Customize buttons
Customize the buttons that sit below each set slider. Change the number of buttons, set custom values for each button, and change the button colors.
A more detailed version of the existing Load/Save feature. This will allow you to import/export specific parts of the data...a single set or group, for example, or perhaps just the button settings.
Set Properties
Add/remove elements from a set, or move the set to a different group

Stay tuned for some demo videos showing tweenMachine in action!


Installation and operation instructions are included in the zip file.


tweenMachine was inspired by my friend Doron Meir, who told me about a MAXScript someone had written for him that allowed him to easily add in-between poses somewhat similar to the way he was used to doing in 2D animation. I'd been thinking of trying my hand at MEL scripting, so I offered to try creating a script for Maya that would accomplish the same task. A few days later, tweenMachine was born.

Questions? Comments? Requests? Drop me a line!

back to script list