Quote:
Original post by Metallon
Information about the animation process is also welcome.
I think this has been overshadowed a bit. I'm a 2D guy, so I'm going to cover the 2D animation process.
The fundamental process in making things move is to show a sequence of images, each slightly different from the previous, over time. If the images are show rapidly enough, a quirk of the human eye known as
persistence of vision kicks in, and the distinct images blend together to appear to be a single object, moving fluidly.
There are two primary digital approaches to achieving animation. The first, cel-based animation or sprite animation, is based on traditional paper techniques (the name "cel-based" is derived from the
celluloid sheets that frames of animation were drawn and painted on in preparation for final photography; it's worth your time to read up on traditional animation). In general, for games, a
sprite sheet is created containing successive frames of an animation sequence, then software extracts the individual frames and renders them at runtime. In some instances, the sprite sheet is pre-extracted and the frames saved in a special animation format, though this is less and less common.
The second approach to animation is vector-based, as popularized by Flash. In this method, mathematical expressions defined the position, orientation, dimensions and scale of an object as well as the transformations it undergoes, creating animation by modifying objects over time. A key concept in vector-based animation is the
keyframe (incidentally, also a term taken from traditional animation, but with a whole new meaning here; in traditional animation, it was a frame drawn by the lead animator to give direction on a character's pose, movement or expression). In vector-based animation, keyframes mark start and stop positions for property interpolations. If you place an object at a point P on keyframe 1, then at Q on keyframe 2, the vector animation software will smoothly move the object from P to Q between the keyframes. By moving the keyframe marker 2 from, say, 15 frames away to 30 frames away, you would make the same change in position occur over twice the duration - twice as slowly. In Flash, you can keyframe a wide variety of properties, including opacity.
Keyframed vector-based animation also employs the concept of ease-ins and ease-outs, or more generally velocity-time graphs, which allow you to modify how quickly or slowly an object begins or stops a transition. For instance, in moving your object from P to Q without ease-ins/-outs, it immediately attains a fixed velocity as soon as it starts leaving P, and maintains that velocity until it reaches Q, at which point it stops abruptly. Real-world objects do not behave like that due to momentum. By applying an ease-in, we can make the object ramp up its speed when leaving P, then slow down as it approaches Q. This is an extremely powerful tool, and those two concepts alone make Flash an extremely capable animation environment.
Flash, of course, also supports raster-based (frame-based or sprite) animation, allowing you to draw each individual frame. Sometimes it's just easier or faster to redraw the object than to try to define all the mathematical transformations for it.
Let me know if this helps, and if there are specific aspects you'd like to know more about.