A versatile tool set for non-destructively experimenting with timing changes, as well as full animation retiming.
- Create as many retime groups as you like in a scene.
- Speed up, slowdown, reverse, and experiment with retiming your animation non-destructively.
- Smart bake your animation to use only keys that you created, or use a standard bake to key every frame.
- Many other convenience tools to help with analyzing and retiming you animation.
- Save “ebLabs_timeWarp.mel” to your maya scripts folder.
- Add the following command and icon to a python hotkey (or shelf button).
- MEL script, tested with Maya 2011+, Linux, Windows and Mac
- v2016-11-28, [lastupdated]
Retime Tools UI
|New Timewarp||Click here to create any number of timewarp control objects.|
|Update List||The list of timewarp controls should refresh itself, but click here to manually do it.|
|Reset||This button will reset the retime curve to its default.|
|Enable||If the curve has been disabled, click here to enable it.|
|Disable||Disable the selected retime curve.|
|Invert||Use this to invert the retime curve. This is handy for un-retiming some animation.|
|Disconnect||Completely disconnect the timewarp curve from any connected objects.|
Objects and Attributes
|Main List||This will display a list of all of the connect objects. Double clicking on something in the list will expand the item to show all of the attributes that are also connected.|
|Select All, None||Use this buttons to quickly select objects in the list as well as in the scene.|
|Add, Remove Objects||Add and Remove objects that are connected to the timewarp curve.|
|Shuffle Keys||This will apply the retime curve to your existing keys. This is really useful for experimenting and making timing adjustments in your animation. It will preserve the keys you’ve set, so its very animator friendly.|
|Bake Timewarp||This will simply bake out all the the animation exactly as it appears with a key on every frame.|
|Save, Load Connections||You can store and reload connections to your timewarp control object. This is useful when you need to disconnect and reconnect the timewarp quickly.|
|Clean Subframe Keys||Often after applying a timewarp using the Shuffle Keys button, you will have many keys that are on subframes, eg. frame 10.3 rather than 10. Maya has a snap key command, but this ends up creating a lot of problems in the animation. This Clean Subframe Keys button will do a much cleaner job of preserving your animation as well as cleaning up subframe keys.|
|Delete Boring Keys||Often we have animation where its not necessary, for example you might have hundreds of animation keys on a control’s scale attribute even though this isnt actually animated. These buttons will scan through the animation and remove keys where there is no change in value over the entire range. There are options to keep the first key, or to delete all boring animation.|
|Generate Velocity Based Timewarp||The idea behind this is to generate a retime curve based on how an object moves. For example, say you have a spaceship flying through the sky, but its not moving totally smoothly, there might be slight slowdowns, and speedups that are hard to find in the keyframes. If you select that object and click this button it will scan through the animation and create a retime curve based on how the object moves though the scene. You can then invert the timewarp and use it to apply to the space ship. This will essentially retime the spaceship so its moving perfectly smoothly throughout the shot. There are many ways to be creative and use this in different situations.|
Example Retime Curves
As you move around the retime curve, you will see all of the animation in your scene updating along with your changes. Its really easy to simply adjust the retime curve and see the result of the new timing instantly. If you arent happy with the retime curve you can reset it at any point or simply delete it and your animation returns to normal. Here are a few examples of what you can do with your retime curves.
This is where your retime curve starts. The time and value are equal on all frames and you animation will look the same.
In this curve, the animation will play slower in the first half, and then get faster at the end. The animation will still start and end on the same frame.
In this example, the section in the middle is compressed and plays a bit faster. The beginning and end will be slightly slower than before. The start and end frames will be the same.
This is a quick way to create loops with retime curves, or any kind of splicing where you need to cut out sections. In this example the animation plays twice as fast, but loops twice during the 100 frames.
You can even go backwards, mix any of these types, or invent your own.
- Only animation curves will be attached to the timewarp curve. So if you have created new animation since setting up the timewarp, you might want to re-add objects to make sure all of the new animation is attached.
- Clicking Add Objects, will attempt to look though your selection and try to find connected animation, animation layers and animated constraints.
- You can even retime animation to go forwards and then backwards in a shot. Shuffle Keys will also work with this.
- Advanced: You can also attach image planes, although you will need to first delete the frame offset expression and replace it with actual keys.
- Fixed some compatibility issues with animation layers
- Bug fixes