Most of the work that I do is mechanical dissassemblies and reassemblies that often requires some strict max node hierarchies.
A common max file will usually consist of parts exploding all over the place. (because every part is installing and uninstalling at once.)
mostly due to the fact that the software engine that we use cannot import individual animation files.
I want to work up a tool that helps solve this often overwhelming way of working. and make it easier for other people to correct errors with these exploding files.
so before I got too deep I wanted to inquire if anyone would share the way they deal with animations in their files. (not entirely necessary but would be nice)
otherwise I’ve got a basic idea of how I see it working (via maxscript)
The tool would simply just separate out a selected max node (and it’s associated hierarchy) and allow you to scrub through each timeline individually or freeze the animation in place (save out an xaf file, delete the local animation, then reload it when you unfreeze)
so I figured I’d post to see if I could evolve this a bit more.
(I may even be missing something fundamental since animations have never been a major priority for these files, aside from avoiding intersections with other objects)
some things I’d like some additional guidance with: (UI design)
this mockup only handles a single object hierarchy. What would be a usable alternative which incorporates multiple object hierarchies (I was thinking a tabbed interface to cycle through multiple hierarchies, but I don’t think that is easily done in maxscript)
linking various time lines to each other to scrub through and observe the relationships between each other. (i.e. a screwdriver removing a bolt)
If I understand what you are doing correctly, it sounds like you’ve got many objects in one file, all animating at once or in sequence?
Have you tried using layers? Not animation layers, but object/scene layers. Assuming you can add an object to multiple layers, you could create a layer for each situation, and give the layers a consistent naming convention like:
animName_startframe_endframe
and write a maxscript to switch between each layer and animation range.
I admit I rarely use layers, so I am not 100% positive this can be done, but I may try it out later to see.
Object layers won’t work, but maybe because I didn’t paint a clear picture of the sort of things that these files would show.
take this for example
I need a screwdriver to come in and loosen a bolt.
I would model a screwdriver and parent it to a “rig” control
that rig control (i.e. a spline or helper) would hold the install animation of this screwdriver whilst the screwdriver itself would be rotating in place as if unscrewing a bolt. ( I need that rig control as a way of isolating the two separate animations)
By the time that the screwdriver reaches the bolt it’s intended to unscrew, the bolt will be removed and away from the scene
For the final application, the animations are run one by one (or in tandem with other animations) so they make sense. but that doesn’t happen on the art side, so it’s hard to pinpoint when a mistake has been made (i.e. the screwdriver hovers too far away from a bolt)
Even if those were in a single layer, I still have the problem where they never meet up in the max file without reversing animations and shuffling the timeline around to see what it looks like.
It sounds like you want to be moving the actual keyframes on your rigs, as all your animations seem to be starting from 0 so playing over the top of each other.
From what I got from your explanation it seems like your tool would only prevent the animation from being played, not move it to the correct timing?
yeah that’s one of the functions this tool should provide I think
I want to be able to drag these sliders around (which should scrub through the animations of each individual object) the scrubbing of those animations would really be moving the keyframes for those objects for previewing purposes, however it’d be a captured temporary action. When you close the window of this tool, it’d return the animations back to where they were prior to running the script.
I’d probably need the script to remember it moved the keyframes, If I want to make corrections while working with this tool. that way they can make new keyframes and alterations at any point in the timeline. But I don’t want to think to far into technical at this point.
I’m just trying to think of everything that it may need to handle I guess, but without having worked extensively with animation I am finding that task difficult.