5 votes
Date Updated: 

I think it's ready for general use now so here is my latest contraption! :)

It's a free scripted modifier plugin called 'Timewarp'. Its main use is for easy-nondestructive-time-remapping of animations. You get a curve that represent the object local time flow, similar to the PointCache's 'Playback graph' function.

A standard example would be a bullet-time effect. you can gradually slow down the animation of a few objects while the camera keeps moving at normal time. This without modifying the original keys or messing manually with a lot of EaseCurves.

So if you have a complex animation and you would like parts to speed up, slow down or even freeze or reverse it then Timewarp can help you do that with ease.

Additional Info: 

How does it work?
1 ) Select your objects and add a 'timewarp' modifier to them
2) Now nothing happens :) To initialize it press the '(re)create EaseCurves' button. This applies max's native EaseCurve to all animated properties, including materials, and connect them to the modifier's spinner.
3) Now if you play with the 'timewarp' spinner you can see your animation going trough time. You can animate this value to create a timewarp effect.

If you animate other parameters that weren't animated at the time you've added the modifier they won't be affected by the timewarp. Press the '(re)create EaseCurves' button to include them if you want.

When you disable the modifier on the stack it switches back to normal time, now you can easily adjust the original animation in max's normal linear time. When you re-enable the modifier the timewarp takes over again.

pressing the 'remove EaseCurves' button does just that, the object will no longer be time warped. (use this before deleting the modifier from the stack, if you forgot you can add a new timewarp modifier and use this button to remove the old EaseCurves as well)

Technical bits:
It's all based on the 'EaseCurve' functions of max, this plugin automates and makes it easier to manage these.

Place script in 'max_root/scripts/startup' folder and restart max. If all went well a 'timewarp' modifier should be present in the modifier dropdown list.

Version Requirement: 
tested on 2012, should work with 2009+
timewarp_2_2.zip1.59 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
MyGalaxy's picture

It's strange. Animation is

It's strange. Animation is only displayed when the object is selected. If you remove the selection from the object, it will remain fixed in the position that was at the time of the removal of the selection.
Animations will also not be visible when the object is rendered, even if it is selected at the time the render is started.
(3ds Max 2017)

mindmedicine's picture

Max 2014 and up compatibility

Hello Jonathan,

First of: thanks for this great script. I have used it a while back and found it very useful.
I installed it again in Max 2014. The modifier shows up in the list but when applied nothing happens.
Is there a way you could update this tool so it works with more recent max-versions?

Thanks in advance,

Pedram21's picture

Particles False Reaction - Collapsing Modifier

Hi Jonathan.
Thanks for your great script.
Although I have a problem.
timewarp modifier is applied on an animated point helper which is parenting a particle emitter. but particles reaction don't seem to be correct. they can't recognize the actual motion path created by my keyframe animations and the timewarp applied on them
i think it will get fixed if i could collapse the timewarp modifier on the keyframe animation..but when i do it, it doesn't work (as you probably know)
Is there any way to collapse it ?

Daniel Wichterich's picture


some weeks ago I was thinking, a script like this would be incredibly useful.thank you, will try it out soon!

fferro's picture

some bugs...

Hi, Thank you for the script. I've found some problems in populated scenes:

1- You cannot render a range of frames. It doesn't update the moving objects with this modifier applied.
There is a workaround but too complicated: You have to render frame by frame via Maxscript with a sliderTime sentence to update the current time in the scene before each render.

2- This script does not erase all easy curves applied when 'Remove all EasyCurves' button is clicked. Sometimes you find a lot of ease curves in your tracks.

3- This script does not work with link constraints.

Harry W's picture

O.M.G!... this is the

O.M.G!... this is the greatest script I have ever seen! you can do Matrix effects effortlessly thank you Jonathan!!! you are a genius!

also i wish there was a way to precompose an animation in max, does any one know how to do this?

loocas's picture

Network rendering doesn't work

Hi there,

unfortunately I can't get the plugin to work correctly when network rendered. The animation just doesn't play and my objects stay stuck in one place.

When rendering locally, everything is fine, but as soon as I submit the shots to the farm, TimeWarp stops working. :(

titol's picture

Collapse timewarped animation?

Just wondering if there was a way to collapse the final animation after it was timewarped?

titol's picture

Just to thanks

Great stuff here...very usefull kit for animators!


notapix's picture


thanks for your job script. I was looking for a long time a plugin like yours. Up to now I have arranged for the "warp of time", with traditional key animation.

I use max2008, and I also tried to install the Plugin, even if it is for max2012.
Max load it in the list of modifiers without problems, but I can not speed up or slow down the animation time:
I opened my old file with an animation of a character.
After I applied the modifier "timewarp" to the mesh (no bones), I followed your info and I animated the "parameter timewarp" in the modifier with the "Auto Key" enabled.
when I push play button, animation of the character remains in real time.
no error message (or similar).

Perhaps the reason is that the plugin is enabled by max2009/ 2012?
would not be possible to get it running for max2008 please?
Or am I wrong step somewhere?

tnk :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.