This script will create a new Time Remapping channel for each of the
selected object(s). This new channel controls the timing for all of the
Transform (Position, Rotation and Scale) channels that have already been
keyframed. Add or change keyframes in the Time Remapping channel to
retime your animation! Keyframes in the original channels can still be
edited in the Graph Editor. You can also enable the "Show Results"
option in the Graph Editor to show the resulting retimed curves. (The
"Show Results" option can reduce performance in the Graph Editor.)
Please send feature requests, feedback or bug reports.
To Use (once you have the script installed as a Shelf Button -- see
instructions for that at the end):
1. Select the object(s) you want to add Time Remapping to. Each object
must have at least 1 Transform channel already keyframed (position,
rotation or scale).
2. Click the Time Remapping script button.
3. A new Time Remapping channel is added in the Channel Box for each of
the selected object(s). This new channel now controls the timing for all
of the animation channels you had already keyframed. Add or change
keyframes in this channel to retime your animation!
4. The original Transform channels for the object can still be edited in
the Graph Editor. (But not in the Channel Box.)
5. To remove Time Remapping, select object(s) that have Time Remapping
applied to them and click the Time Remapping script button again.
Great for retiming complex animations! Instead of rendering a high
number of frames per second in Maya and retiming in After Effects or
elsewhere, you can now retime in Maya and render only the frames
you really need!
Without this script you could retime using Maya's Trax editor, which
has a Time Warp function. But this is very difficult because the time
values are always 0 to 100 for whatever time range you apply it to.
Also, with Trax you have to create a Maya "Clip" of your animation and
then edit it in the separate Trax editor.
This Time Remapping script lets you use a value of 1 for frame 1 and
a value of 500 for frame 500, etc. as you'd expect. So it's easy to hit an
exact point in your animtion at an exact time. You can edit the Time
Remapping channel right along with your original Transform channels in
the Graph Editor. No need for a separate Trax Editor.
If you've already applied Time Remapping to an object and you later
wish to add more animated channels to Time Remapping (channels that
weren't animated at the time that you first applied Time Remapping), you
must (a)copy your Time Remapping curve, (b)remove Time Remapping
and then (c)add Time Remapping again (i.e. click the Time Remapping
script button twice), then (d)paste your Time Remapping curve back where
it goes. (I suggest you save before doing this.) A future version of this
script will eliminate the need for this process.
Selecting nothing, or selecting nodes that are not objects, or objects
that don't have keyframes, should generate friendly warnings. Please
Instructions to Install the script as a Shelf Button:
1. In Maya's Script Editor, choose Edit>Clear All
2. Then choose File>Load Script
3. In the Open Script window that results, navigate to the script file
"Toggle_Time_Remapping_vXX.mel" and choose it.
4. Select all of the text in the lower half of the script window (click
in the lower half of the window and control/command-A to select all)
5. Middle-mouse drag the selected text into your "Custom" shelf. If Maya
asks you whether this is a Mel script or Python script, choose Mel.
6. Click the black arrow to the left of the shelf and choose "Shelf Editor"
7. In the resulting Shelf Contents tab, select the item called "// Toggle
Time Remapping on or off for the selected objects"
8. In the "Icon name" field in the lower half of the window, enter "TR"
9. Click the "Save All Shelves" button.