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!
|