Notifications
Clear all

[Closed] insert global time via maxscript?

I need to “insert time” on the world track, basically to slide all keys in my animation later by a specific amount. I can’t use the dope sheet view because my scene is too large, with too many keys so the dope sheet responds too slowly. Is there a quick way to do this via maxscript?

I’ve tried:

insertTime trackViewNodes -2000 928

It says “ok”, but nothing happens. I think I can’t figure out how to address the “World” track properly. Any suggestions?

Thanks!

4 Replies
1 Reply
(@denist)
Joined: 1 year ago

Posts: 0

i don’t really understand what you want to do with “world track” but it sounds for me like you only need to change animation range.

insertTime is a controller time function.
trackViewNodes is TrackView node.

“insertTime trackViewNodes” doesn’t make any sense.

if you want to insert time for “whole scene animation” you have to do it individually for every animated controller in your scene. But you have to know that insertTime automatically moves all later keys out in time by the specified amount.

I’m trying to achieve through maxscript the following:

Open dope sheet
Select insert time tool
activate modify child keys
click and drag in the world track to insert 928 frames at frame -2000.

I managed to achieve what I needed in the dope-sheet, but it was painful to do that way, so I’d still like to know how to do it in maxscript.

I did consider iterating through every object and offsetting the keys, but I was afraid I’d miss something. I’m working with a finished shot with several animated characters with custom rigs, a couple of pflow systems, some reactor stuff… a pretty heavy shot that was finished months ago and worked on by several different people. Now, I’ve got some change requests that begin with me having to offset everything by 928 frames.

 JHN

From the helpfile

Certain time and keyframe functions on controllers can be called on any 3ds Max object or collection of 3ds Max objects. If called in this way, they apply recursively to all the nested controllers within that object and on any on sub-objects and sub-controllers within those objects. In this way, they work in a manner similar to the object-level tracks in the 3ds Max Track View that allow you to manipulate keys and time for all the sub-objects and sub-controllers within them.

So that means

insertTime selection -2000 928

Should do what you want. Only be careful of what exactly gets moved!

-Johan

oops… my bad. i completely forgot about nested object controller functions. shame on me!

inserttime objects <at_time> <amount_time>
has to work

but also you have to move if necessary NoteTracks, GlobalTracks, and animated materials…