• Welcome to Battlezone Universe.
 

News:

Welcome to the BZU Archive dated December 24, 2009. Topics and posts are in read-only mode. Those with accounts will be able to login and browse anything the account had access granted to at the time. No changes to permissions will be made to be given access to particular content. If you have any questions, please reach out to squirrelof09/Rapazzini.

Main Menu

Help me to understand keyframe animation in general terms.

Started by BNG Da BZ Fool, March 07, 2008, 01:52:36 PM

Previous topic - Next topic

BNG Da BZ Fool

My understanding of this process is as follows. Objects are placed in the 3d workspace. The keyframe editing control is opened and a beginning keyframe is recorded and the duration of the animation is set in frames. Then the objects to be animated are manipulated in the workspace. These manipulations are recorded by the keyframe editor and the objects movements are calculated by the program and played back within the workspace. Each object has it's own recorded track and can be played back individually or as a whole animated scene. Once the animation is complete, then the animation can be repeated or stepped through frame by frame from beginning to end using the playback controls. If the scene is saved to a file then all the required animation information is written along with the object information and other related stuff to the output file; where it can be read by another program like the BZII game engine.

In GSL, the scene editor is responsible for carrying out these functions. Each object is assigned it's own track in the keyframe editor interface represented by a solid black line. Additionally, each can be assigned a diamond shaped symbol for each of the following transformations: scale, rotation, movement, etc. In the pic shown below, the keyframe editor layout displays how this all looks graphically. The hierarchy tree is also displayed as well. The numbers near the top represent the total animation time in seconds.



Some questions I have regarding the process as a whole are:

1. Once a keyframe is recorded is it complete or does another keyframe needed to be recorded to complete the process?

2. When saving the file in x format should I set an animationset name at that point as this is one of the options in the export settings?




 
When I'm not in hot water with the community I'm usually making models for BZII. I've made a few models for other peeps. BNG.

Avatar

'Keyframing' is a type of animation, like 'vertex animation' (moving the verticies, or dots) or 'parametric animation' (animating with values and formulas). 

Keyframing means the same in computer animation as 'stop motion animation' does in TV and films.  You're literally recording a motion, frame by frame, for playback later.  The computer part is where it calculates the 'tween' frames, or where the object is between keyframes. 

For BZ2 purposes keyframes have to follow a couple of simple rules.

1. The animation can't be too long.  Some animation types have upper limits to the number of frames, like the walk for a walker, or the strafe animations.  Too long of a sequence for a walker will crash the game, where too many for a strafe animation will just be ignored.

2. The animation recorded in the keyframe must have a start and end, and position and rotation are separate entities.

For example, if you set up a 30 frame animation and then move the object up at frame 15 BZ2 will play this as the object moving up, then 'snapping back' quickly to the starting position when the animation ends.  This is because frame 30 has no keyframe.  You need to make sure that in the first and last frame whatever motion you want is set (keyed), to keep the object wherever you place it by the end.

As another example, if you set up a 30 frame animation and move the object up in frame 15 while rotating it to the left, then move it back down for frame 30 it'll rise and rotate, then snap back to the original rotation at frame 15 before moving back down by frame 30.  This is because only the up/down motion was keyed for frame 30.  Since there was no rotation set the object snapped back to it's original rotation at the end.

Note that some packages create a keyframe for you at times, like Max does when you set the first keyframe as something other than frame 1.  In the above examples Max will automatically set the first frame as a position or rotation key, depending on what you do with the next animation.  So keyframing motion at frame 30 automatically keyframes motion in frame 1 if you haven't already set 1 as a keyframe.

In Max you can copy/paste/slide the animation keys around, making it easy to copy the initial state of the object back to the end of the animation for any that loops.

In Max there are also a set of controls that allow you to set motion and rotation seperately, or remove one or the other if needed.  This 'Motion Rollout' is how I set most keys, so I can set position and animation seperately.  Unfortunately, the final type ('scale') is lost in exporting through the Pandemic exporter so it's non-functional.

As to your questions I really can't answer the second, and might have answered the first above...

Also note that BZ2 will not animate anything that's NOT a child of something.  The very base object (dummyroot, for instance) will not animate because it provides the reference for any 'child' object to animate against.


-Av-

BNG Da BZ Fool

Tanks AV. I'm interested because what I learn in GSL should prove useful when I start to apply the general knowledge to B3D. I've been working with it lately, but still have a lot to learn about Blender as my primary references come from GSL and TS. Keyframe animation in general however is basically the same from modeler to modeler. The way each handles the animation process is what differentiates them. Key framing is fairly a straight forward process to comprehend, but implementing it takes a bit more focus.

Up to now my primary focus was with making static non animated models for BZII. GSL, is a killer ap. for non pro. modelers to make such models. I've even somewhat implemented a basic work flow of using TS to make high poly models, pass them into GSL to unwrap and paint them, and then  pass everything to B3D to add the animation, and then eventually export the animation using OM's XSI exporter. In some ways my work with other modelers is actually helping to better grasp the way things are organized in B3D. I would imagine that B3D will eventually become the default free 3d editor because of the advanced capabilities of it and the XSI animation exporter created by OM.   
When I'm not in hot water with the community I'm usually making models for BZII. I've made a few models for other peeps. BNG.

Avatar

And, of course, dedicated enthusiasts such as yourself spreading the word to the masses, providing tutorials, and blazing the trail for the rest to follow...

:)

-Av-