How to move ALL animation 60 frames


I have 4 characters outside a car, all animated starting an frame 0.

The Director says “I want 3 seconds of heads to see them getting out of the car”

So in Maya we add the 3 seconds of animation in NEGATIVE frame range.

Now our frame range is -60 to 240.

The render service we are using CAN’T RENDER NEGATIVE frame ranges.

So how do i move ALL the animation GLOBALLY so that my frame range is 0 to 300?

Selecting all the individual controls and group moving them seams like a train wreck waiting to happen.


This sounds funny, but do a select all under the edit menu. Then go into your graph window, select all your keys, and move them all to the left 60 frames. Be sure to hold shift while you move your keys so you constrain them in one axis.

Once I tried to push something through with a negative frame range… never again…


This is not that easy since some of the character controls are 10-20 deep in the hierarchy.
“Select All” only selects the to parent, so when you open the cure editor you don’t see all the animation.

But I did getting it working this way, buy selecting all then hitting “Select Hierarchy” that selected all the children and exposed all the curves.

Thanks for the help, but this seams like a dangerous method. If you miss one curve, you can loose sync and screw up more just trying to fix the error.

seems like this is a great time for a mel or python script.


Try this… to run it, simply select the object with animation on it and input the number of frames you want to shift the animation…

i.e. moveKeys(60) or moveKeys(-42)

This was run on maya 2008, so if you’re using a different version and it doesn’t work, let me know.

   global proc moveKeys(int $iNumFrames)
   	string $saSel[] = `ls -sl -fl`;
   	int $i;
   	for ($sSel in $saSel)
   		string $saCurves[] = `findKeyframe -curve $sSel`;
   		for ($sCurve in $saCurves)
   			int $iNumKeys = `keyframe -q -keyframeCount $sCurve`;
   			for ($i=$iNumKeys-1; $i>-1; $i--)
   				keyframe -e -index $i -relative -timeChange ($iNumFrames) $sCurve;


This is not that easy since some of the character controls are 10-20 deep in the hierarchy.

edit>select hierarchy.

This should select everthing available.


You can use the dopesheet to do this easily.

  1. Set the current time to a frame before the time where you want to add the blank frames.
  2. Open the dopesheet and choose View>Dope Sheet Summary.
  3. Select the 4 characters, you will see them show up in the Dopesheet Outliner (left panel).
  4. Click on “DopeSheet Summary” in the DopeSheet Outliner.
  5. Open the Script Editor so you can watch what happens.
    In the DopeSheet select Keys>Add Inbetween.
    A single keyframe is added.
    In the script editor, the command will be something like:
keyframe  -time "1:" -relative -timeChange 1 -option over -animation objects MydopeSheetPanelOutlinerSelection;
  1. Copy and paste this into the Input panel of the Script Editor. Change -timeChange 1 to -timeChange 60.
    FYI, you can also add (and remove) single blank frames using the RMB in the TimeSlider.

Edit: You need to select the entire hierarchy of your characters (“select -hi”) to insert the blank KF into all the channels.
Another useful trick is that you can use the “k” key and LMB to move the current time marker in the DS and GE.


oh TraxEditor, you are an overlooked friend.

mark all animated parts, in Traxeditor create a new track, move it the amount of frames needed.


And maybe you can use (in the advanced image naming) renumber frame.
You just put in the start frame you want(typically 0 or 1) and voila.


just to tag on to rBrady here, once you’ve got it all in your graph editor, select all of your keyframes and simply type +=60 in the field that show the frame number of the keys. That will add 60 frames to the time of every keyframe selected… also works w/ -= *= and /=

handy to know, for example if you have a 5000 frame slow camera move, animate it at 500 frames to watch it down a little easier, then *=10 w/ the keys selected and you’ve got a pretty solid move you can tweak out…



This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.