NOTE:
This tutorial is translated from www.joshonen.ch.vu.
Full credit goes to the author Joshua Muheim! Translation by thegnat.

Animation: Basics

Often you can see in some Forums etc. good looking screenshots of models in their modelled idle-position. But whether a model is really good, proves only when animating. Because the model must be flexible enough to fit into several poses, without looking unnatural or distorting the mesh (all faces the model consists of).
It is very improbable that a model was modeled so "perfectly", that it doesn't requires any further amendments when its animated. In most cases, many vertices must be moved, faces realigned or added/deleted ... aso.

To model a such flexible mesh, much work is needed. But with some experience you can prevent frequent error sources already while modeling and you can speed up the "perfectioning-process". Dont expect that your first model will be perfect! Therefor much practice and also experience is a must! :)
You will master it, if you practice a bit! :)


Bones
Milkshape uses (as all popular Modelling-Programs today) "Bones" for animating. As the name Bones already says, these are the bones where the faces (the "flesh") are connected and can be moved with. So you can create skeletons with these bones (i.e. a human skeleton), connect the faces to the different bones and simply animate the skeleton; its "flesh" (connected Faces) moves automaticaly with the skeleton. :)
This type of animating is much easier and "safer" than the earlier method, where you had to move every single vertex. "Safer" in the meaning of, that the proportions of the model remain unchanged. Not like when you have to move every vertex and only can control the proportions with your own eyes.

With bones you can create nearly every type of skeleton. Milkshape provides pre-defined skeletons from popular games; those are located in the Milkshape-folder. Open one of these skeletons, to visualize the stuff! :)

Open with Milkshape the file valve_skeleton.ms3d (located in Milkshape folder)! Btw. this is a skeleton of a Half-Life-Model.


Now you can see that it has nearly the shape of a human body! ;D But its much more useful to animate a human body than you might think. :)

We dont go further in detail, lets create our first little animation! You know, I think that learning by doing is the best learnig-method! :)

First something simple but basic.
The principle of animating is, that always only the important poses are created by hand - the movement between them are calculated by the computer. The "time units" when animating are Frames: frames are like seconds, but with smaller units. The Animation-bar in Milkshape shows us all frames:


Now we create at Frame 0 the starting-point of the model; and at frame 10 we change the model - we lift i.e. its arm up in the sky. For the frames between the Keyframes (frames with hand-created poses of the model, here frame 0 and frame 10) the PC calculates the remaining poses of the model. :)

Lets go on to the practical part! :P

Create the animation, mentioned above: our Half-Life-Skeleton shall lift his arm!

To animate, you first have to activate the Animation-pallet. Therefor you click on the Anim-button in the lower right:


Now all buttons beside the anim-button are activated, and also the Frames-bar can be moved:


With the frames-bar you can jump to the different frames.
For standard there are defined 100 frames in Milkshape. You can increase or decrease them by changing the value in the lower right wht field, i.e. 10:


The number of frame lines on the left at the frames-bar changes immediately.

But now we want to animate! :)

Move the frames-bar onto frame 1.
Change framecount to 30.

To select bones, you must click Select and then Joint:


Select now in frontview the right shoulder of the skeleton:


The bone is now coloured green to show that it is selected. The selected joint (the connection between bones) is red coloured.


You will see, that not only the bone connected to the joint we've selected turned green, also those further down!
And why are all bones downwards green and not those upwards? Thats because the bone-skeleton is built hirarchical. Every bone, thats connected to another is the "child" of the previous bone. If the previous bone is moved, the child-bone moves synchronously. This is getting clearer in the next steps. :)

Now "save" the actual pose of the skeleton on frame 1.
There are 2 different ways to define keyframes (by modeller defined poses of the model):
- one defines a keyframe with all bones of
the actual frame,
- the other defines a keyframe with only the selected bones of the actual frame.

On frame #1 its recommended, to create a keyframe with the whole skeleton (first way).
To do so, click on Operate On Selected Joints Only in the Animate-menu to deselect that a keyframe with only the selected joints is created:


Now you see: its deactivated, unchecked (compare with the previous pic!):


Now we can create a keyframe. Click on Set Keyframe in the Animate-menu:


Move the frame-bar to another position and back. Now the windows look different than before:


All bones turned yellow! That means, that all bones on this frame (#1) have a keyframe position.

Move the frame-bar to frame #15. Now we're really going to animate! :)

Activate Rotate:


Rotate the previously selected arm in the topview...


and check the result in frontview, until the skeleton is lifting its arm:


In topview it should look something like this:


Now we set a keyframe, but this time only for the just moved arm!
Therefor we must re-activate the option that keyframes are created only for selected joints. Click on Operate On Selected Joints Only in the Animate-menu.


Now its checked again (activated), so keyframes are created only for selected bones/joints:


Set another keyframe! Animate -> Set Keyframe.

After you have moved the frame-bar a bit and then placed it again on frame #15, you'll see that a keyframe was set. But not on the whole skeleton, only on the shoulder.


Lets watch our masterpiece! :D Click Play Forward:


Tadaaa!!! :D


Isn't that great??? Our FIRST OWN ANIMATION!!! ;D

You'll probably notice that the hand is lifted, stays a little while, then jerky returns to the lower position and the whole animation starts again (the animation is played in Loop-Mode). Not very smooth, is it? It would look better if the hand was rised and lowered smoothly! :)

Now, that can be done very easy, bacause you can copy and paste keyframes in Milkshape!
Lets copy frame #1! :)
Move the frames-bar back on frame #1, deactivate Operate On Selected Joints Only and click on Copy Keyframes in the animate-menu:


Now move the frames-bar on frame #30 and click Paste Keyframes in the animate-menu:


Immediately the skeleton changes the position to the one of the copied frame #1:


We only have to create another keyframe (Animate -> Set Keyframe) and our animation is complete! :D

That wasn't hard, was itr? :) We just created a completely animated waving bone-skeleton!! ;D

In the next tutorial we go back to our human model, for that we will create a fitting skeleton. :) Until then!