Game Development Community

Clips and NLA?

by Alex Rice · in Artist Corner · 12/05/2004 (7:10 pm) · 6 replies

Does the exporter deal with "active clip" in the scene editor? It seems like the active clip and the NLA clip editor in Truespace isn't really utilized by the exporter - and that if we use it it might just confuse things when time comes to export to .dts. Just trying to understand the design. Thanks, Alex

#1
12/05/2004 (7:38 pm)
The active clip has no barring on the exported animation and should only effect the animation playback in GS or TS not the scope of all of the keyframe data stored in the scene.

The DTS exporter deals with animation as a purely linear timeline. Meaning that if two clips are overlapped on the same keyframe the resulting exported animation is a combination of all the overlapping keyframes.

This is why the sequence markers have start and end frame settings, so you can tell the exporter where to get the animation info from in the linear timeline.

You can use clips to organize your animation if you wish, but remember that if two clips overlap in the timeline they're animation will be combined when the animation in that keyframe range is exported. This can be very usefull at times for speeding up the creation of certain types on animation sequences.

Another thing to note about using clips is to make sure that the object you are going to animate is setup in a DTS hierarchy before you start animating it and creating clips. This is because there is a bug in the Clips system in GS and TS that ties some parts of the animation in clips to the hierarchy that exists when the clips are created. The object and animation will export properly but after you save your scene after regrouping your objects into a DTS hierarchy and reopen the scene your skined object will look like it imploded. You can fix this by moving the IK group (mesh and bones) for your object back to the scene root and then saving the scene and reopeing the scene back into GS/TS.

Let me know if you have any further questions...
#2
12/05/2004 (9:24 pm)
Thanks Matt, for these hints on using clips effectively.
#3
01/18/2005 (10:50 am)
So if I wanted to play multiple clips in Torque, do the sequence markers or mesh objects need to be given some kind of "blend" object note in order for them to play at the same time. Cause right now, both clips occur at different keyframe durations. And because they're not overlapping in GameSpace, both animations are not playing at the same time unfortunately. Thanks for any assistance.
#4
01/18/2005 (10:55 am)
I'm having this same problem, I want to layer multiple animation clips. And I didn't overlap the clips at all becuase there's visibility set on certain meshes that eventually animate layer.
#5
01/18/2005 (7:11 pm)
@john: Animation if TGE runs on threads and each sequence on a thread tells the nodes in your DTS file where and when to translate or rotate to in order to create the desired animation.

This works great as long as two sequences playing on different threads dont try to control the same nodes. if this happens there is some tweaking you can do to make things play nice.

1.) sequence priority. this setting tells TGE when multiple sequences are playing which one has the highest priority for animation. this is set using the property "priority #" in the object notes of the sequence marker. where # in the priority level of the target sequence.

2.) cull node animation using the .cfg file. In the cfg file you can add a list called "NeverAnimate" followed by a list of node names that animation should not be exported for. This allows you to sequence that only animates the upper body of the player and another one that only animates the lower half. This can negate animation wierdness that can arrise when solely relying on sequence priority.

3.) blend animation. just like it sounds blend animation is additive animation data that is applied over top and animation that is already happening. An example of this are the look animations for a player object. A sequence named run controls all of the nodes on the player, and two other animations that contain the look up animation and and the look left animation are created as blend animations. Because blend animation played overtop of a base animation this allows you the make the head of the player move up & down, side to side while the players is running at the same time. To use this you need to make sure the only nodes that need to effect are animated in the sequence. this done using the NeverAnimate described above. Once you've limited the nodes you wish to blend with you need to add the property "blend true" to the object notes of your sequence.
#6
01/18/2005 (7:19 pm)
@andrew: depending on what you are trying to do you will probably need to over lap the clips in gameSpace to create a composited animation from your NLA setup. You can try using blends and sequence priority but you might end up with strange results. if your visibility animation gets in the way move the object visibility into its own sequence and call it in script or use triggers in your main sequences to turn on the visibility animation sequence when you need want the effect.