Time Range Manager

27 votes
Date Updated: 
Author Name: 
Lorne Brooks

Allows you to edit and save a collection of named time ranges and access them via a dropdown list to change the scene time range based on their time settings.

Ranges are stored as a collection called sets. Multiple sets are then stored as a collection called projects.

The data is stored in INI files and so makes it independent of any maxfile.

There's also a compact option by clicking the thin bar above the ranges list.


Additional features include:

Time Tags

Edit scene time tags using the ranges data and transfer this data between scene time tags, loaded ranges or a text file for easy name editing. Create time tags using the interface in the format name [space] startTime [dash] endTime by typing a sequence name, dragging the time slider then clicking Start, drag again and End.


FBX Export Animations

Export animations to FBX format using either the currently loaded Ranges or Time Tags as the source for the exported animation name and time range. Both options allow for exporting either the whole scene (if nothing is selected) or by selection. The output files will be saved to the current Max scene folder.

Optionally choose some exposed FBX settings via a separate dialog.

Note: FBX will always attempt use the keys set on the selection which will override any time range you've set or specified in the time tags - as keys may exist outside of the range. For this function to work correctly, you should animate your rig indirectly by constraining the export bones to other control objects that receive animation data. This way when you select the export bones (that your mesh may be skinned to), they won't have keys directly on them and FBX will use whatever time range is set instead.


Separate Maxfiles

Split a composite maxfile animation (many sequences one after another) into separate maxfiles based on stored ranges or time tags. The script will remove all keys on selected objects either side of a specific range then move the remaining keys within the range to start at frame 0. The time range will then be adjusted to fit and a new maxfile saved into the same scene folder as the original composite animation file.

Note: Only tested on regular controllers, CAT rigs and Biped. The use of expressions, constraints, or parameteric controllers may not work.


Camera Switching

Cameras in the scene will be recognized by the ranges dropdown list, based on a range name prefix matching the camera name.

The currently selected viewport will switch to the camera (if available) automatically.

For example:

Camera names - Cam1,  Cam 2 and Cam3


The initial script was inspired by another script called "Frame Range Manager" written by Borislav "Bobo" Petrov.




Version 2.7;
- Ranges created using the script can now have dashes in the name part of the range. Previously this prevented ranges from not loading from text files or scene time tags.

Version 2.6;
- Moved the select ranges dropdown list location to make it easier to find and added a title with a group border.
- Moved all the editing options into their own rollout called Edit Ranges (rolled-up by default).
- Added a fake border image around the dropdownlist for selecting ranges to help make them more obvious (full UI only).
- The main floater and compact dialog monitor positions now save to an INI file, so they remember their previous positions.
- The UI now remembers which mode (compact or full) was last used, as its state is now saved to an INI file.
- The Edit Ranges rollout will remember its state (rolled-up or rolled-down) by saving it to an INI file. It also adjusts the
   height of the floater when the UI is reloaded, as necessary.
- Fixed a bug where the compact dialog wasn't closing if the main dialog was reopened.
- Fixed a bug where deleting a loaded project caused a crash, by not switching to the next project in the list.

Version 2.5;
- Added a button which opens a new dialog that exposes some optional FBX export settings.
- Exporting FBX animation now exports either the whole scene (if nothing is selected) or only the selection for both Ranges and Time Tags options.

Version 2.4;
- When switching between ranges using the dropdown list, if the range name contains a prefix that matches an existing camera in the scene then the current viewport will switch to use that camera. The prefix is denoted by the substring up to the first underscore.

Version 2.3;
- Contact email changed.

Version 2.2;
- Project and Set dialogs now move with the floater and also affect the position of the floater if they are moved.

Version 2.1;
- Added a new rollout containing functions to split combined animations based on either ranges or time tags into separate maxfiles which are named according to the range name. Keys on the selected objects will be trimmed to the range limits and moved to start at frame 0 with the time range adjusted to fit. Output animation files are saved to the same folder as the original composite scene file.

Version 2.0;
- Changed the FBX file version array to use the correct 2006 string for the parameter setting.
- Added an ASCII output option for FBX exporting.

Version 1.9;
- Added a dropdown list to choose which FBX version to use when exporting range or time tag animations.

Version 1.8;
- Added a function to export separate FBX animations based on the loaded ranges.
- Added the ability to delete scene time tags.
- Added the ability to create a time tag using the interface that's compatible with the other script functions.

Version 1.7;
- Added an Export FBX Animations option for use with Time Tags.
- Converted code to use a struct to minimize global variables.
- Minor bug fixes.

 Version 1.6;
- Improved the UI a bit, see notes in script.

Version 1.5;
- UI adjustments including: widened ranges dropdownlist and allowed more items in the list, changed names for reload and delete ranges buttons, added style settings to compact version.

Version 1.4;
- Added button F which allows you to add a new range called (FULL_RANGE) with the lowest start time and highest end time calculated from the loaded ranges.

Version 1.3;
- Added a thin button above the ranges dropdown list which loads a compact dialog showing only the loaded ranges and reload button. The dialog has the same thin button which reloads the TRM floater.

Version 1.2;
- When loading ranges from scene time tags or a text file, script now handles invalid formats.
- Help button ? added to Time Tags rollout to show correct formatting.

Version 1.1;
- Fixed bug with sorting sets when scene time tags copied to ranges.

Version 1.0;
- First release


Additional Info: 

The script can be found in category “LB Tools”.


Drag the MZP file into your Max viewport.

Files will be copied to...





Version Requirement: 
3dsmax 2008-2017
lbtools_time_range_manager.mzp16.96 KB


Comment viewing options

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

Hello... I jumped the gun too

Hello... I jumped the gun too quickly. The engine is still throwing a fit due to the fbx file version. Did you upload the latest version of your script?

embonchen's picture

The script is really cool,

The script is really cool, and it's a closest thing to the script I've been looking for: a script that split animations in one 3dsmax file to multiple fbx or max files, cos deleting-moving frames to get the animation separated is bored like hell.

But exported fbx files contain out of range frames (like you said above)

Please make a button to save the ranges to separated .max files (each file has one single trimmed animation range and start at 0) that would be awesome.

Thank you for making this script dude, you're the man.

mickepe's picture

Your support is brilliant

Your support is brilliant Lorne! Thanks again.
(The version number in the scripts about box is still set to 1.8)

lbrooks's picture

Re: FBX version

The export settings are being set internally in the script, though previously only for animation related parameters. I've added a dropdown list now to enable setting of the FBX version prior to export - down to version 2006. I was unable to test this, but it should work fine.

As I understand it through my own experiments, the maxscript settings will override any manual settings from your last manual export. It seems the two are kept separate internally. For a scripted export tool, this means you can set whatever you need at any time without concern for manual settings entered by the user.

We tend to handle most export settings internally (via script) at work, as most artists just want to export quickly without dealing with many complex settings each time. Certain settings may be exposed in a separate dialog (like geometry smoothing or triangulation), but most are controlled internally and execute via a limited export tool interface.

Lorne Brooks

mickepe's picture

FBX version

Hello again Lorne,
I was wondering, have you hardcoded the FBX settings for the exports? Or are you using the export options found while exporting a FBX file manually?
I'm exporting to an engine that requires FBX 2006, which is exported fine if I do it manually but if I go through your script the engine refuses to import.


mickepe's picture

That was quick! Thanks for

That was quick! Thanks for the new version.

lbrooks's picture

Re: Batch fbx export

I've added the ability to export directly from the loaded ranges, that way you don't need to put them to the scene as time tags.

Lorne Brooks

Wifir1962's picture

To Much Information

Since this is my first time on this site i'm new too all this. Will be interesting to learn more about this.


mickepe's picture

Hello again, now after

Hello again,
now after testing it a bit further I noticed something.
In my scenefile I've got a normal Biped and a mesh that acts as a reference in world space. When I export both of them my reference mesh has all of it's animations while the Biped only has the animation from the time range I've specified in your tool.


mickepe's picture

Fantastic! Thanks a lot for

Fantastic! Thanks a lot for that.
After some initial confusion between Text File > Ranges and Text file > Scene I got it working.
Why doesn't creating a range under the Edit ranges section create Time tags? As I started the export by first creating all my ranges in there. Then when that didn't export I imported the ranges from a text file which got it exporting. To me it seems like I'm doing the same work twice? Maybe it's because I'm only using this for simple straightforward files with an amount of game loops after one another in one max file?
Once again, I really appreciate you sharing this!

Comment viewing options

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