For
UNIVERSE ANIMATOR
INTRODUCTIONCharacter animation can be a fun activity, but it is also a complex and time consuming one. It’s not just because of the technical problems you must resolve, but because you must give the illusion that your character is alive. It’s easy to animate something with a computer, but all things that are in motion don’t necessarily seem alive.
Character Animation is about motion and emotion. Your computer can be very helpful for the motion but don’t expect it to give you inspiration and to generate emotion for your character. You must have more than computer and software skills to get a good result.
What is special about a 3D character?
A 3D character is like a puppet that you must easily
grab and pose. There are two ways to move objects in a 3D animation system
: Forward Kinematics (FK) and Inverse Kinematics (IK). We will look at
both of theese in more detail.
3D character animation requires great reliability and ease of use in the toolset enabling the animator to focus on bringing life to the character. Be aware of gadgets offering to do the job for you by pressing two or three buttons (like a step generator and other, similar, "toys"), Sometimes it's a long and complicated process to set up and use these tools. And in the end, your character will be a marching robot. It won't have a unique personality. If you want to be an Animator, then never let the computer decide in your place. You must remain the "puppet master".
This tutorial is meant to give you an understanding of IK animation, to explain how to use the IK handle, how to set up a skeleton, and how to use bone deformations in Universe Animator. It also gives you some other tips and tricks. Finally, this tutorial coverse some basic rules of traditional animation.
If you are reading this, you probably have decided to
use Universe Animator. As you will see in the tutorial that follows, you
have made a smart choice. Universe provides state-of-the-art IK tools which
are powerfull and easy to use and will give you a rare freedom to animate
your characters as you wish.
FORWARD VERSUS INVERSE KINEMATICS:
Forward Kinematics
We start by drawing a simple chain of
3 bones:
- In the menu bar, go to Character, choose Create Bones (a new message box appears offering to cancel this command. Ignore it for now)
- In world window, click once to indicate the bone chain origin, click again to add the first bone and place at the same time the origin for the next bone..
- Repeat this until you have 3 bones and then, click Cancel in the message box or ESC to terminate.
fig 1. Bone skeleton building and Forward Kinematic manipulation.
To animate this skeleton, you animate the rotation of
each joint one at a time. You will notice when you rotate the parent that
the children follow too. This method on animation by parent-child inheritence
is called Forward Kinematics It can give you the results that you expect
on simple chains, but becomes a painful solution for a complex skeleton
for the following two reasons:
•It will take too much time to animate all joints one
by one.
•Often, you want to move the top of the chain without
moving the end of the chain. The leg is the perfect example of this. You
want to move the upper
leg forward without moving the foot. Forward Kinematics
does not allow this.
The way around these limitations is to use Inverse Kinematics.
Inverse Kinematics
Inverse Kinematics allows you to move a chain of bones by dragging the end of the chain.
How does it work ?
By adding an IK handle to a selected chain.
An IK handle is a null object, a controller that is not
part of parent-child hierarchy but is shown in the view windows at the
end of the chain. The chain is forced to follow this IK handle.
For example, you want to control the first bones of the
leg with the IK method:
-Select bone3 and bone1
-In the menu bar, go to Character and choose Add IK Handle.
Congratulations, you have just set-up your bone chain
in IK mode... easy, isn't it?
Now, you can "forget" about individual bone rotations
and control the chain only by the ends. Try to move the top of the chain
and then move the IK handle to see the effect.
fig 2. IK set-up of the bone chain and IK manipulation
Now, open the IK Handle Info window by double-clicking on the handle to see what is inside this controller.
The IK handle seems to work well using the default settings,
Why are there so many parameters in the info window? The parameters give
you more control over how the chain bends as you drag the Handle.. All
of these parameters are here not to frighten you but to give you more control
over the chain.
What is a"solver"?
It’s an algorithm, which calculates the rotation angle
of each joint according to the distance between the top of the chain and
the IK handle. Universe Animator lets you choose between three different
solvers.
fig 3. The Three IK Solvers
In Figure 3 above, you can see the effect of the 3 different solvers' solutions applied to the same bone chain. The upper picture shows the chains in rest positon and the lower picture shows the solution found by each solver for the same displacement of the IK handles.
•Pseudo solver tends to distribute an equal rotation angle to each joint. In most cases, this solver gives a predictable solution.•Minimizer solver tends to distribute a proportional rotation angle to the joints. In extreme positions, this solver could be the cause of the flipping bones.
•2-bones solver takes into account only the two first joints. In spite of the fact that it was the same 3 bone chain, this solver transforms the structure of this chain to find a solution with two joint rotations only. Do not use this solver for bone chains with more than two bones. Nonetheless, it's the fastest solver.
What is a “Polevector”?Open the IK Handle Info window and turn on "show Polevector" . The green vector connected to the IK handle is the Pole vector interface. It shows the orientation of the local space of the chain. It indicates to know what way the chain will move.
fig 4. Default Polevector orientation
How to read the polevector values?The X Y and Z values are the coordinates (in the ruler units) of the green square at the end of the vector.
Why do you need it?Imagine you manipulate the chain with success and suddenly the chain flips over... what happened ? Is it a bug?... No, you just moved the IK handle near the preferred angle determinated by the pole vector orientation. It's as if there is a plane which is an orientation reference for the IK solver. This plane is on the top of the chain and, by default, is parallel to the Polevector and is perpendicular to the green path connecting the ends of the chain (Handle Vector) . Between this plane and the IK handle your chain bends as you expected But if you move the IK handle through this plane your chain flips over. The IK solver finds a correct solution but in the opposite direction. Fortunately, you can modify the orientation of this plane by changing the pole vector orientation.
fig 5. Illustration of the Polevector's plane and effect of the
polevector minipulation.
To aid in understanding , I've shown the Pole vector's plane in Figure 5.
1. Chain and IK handle in rest position.2. If, in the animation, the IK handle goes above the PV plane, the consequence is that the chain flips over.
3. IK handle is in the same position but we've corrected the IK problem by changing the polevector orientation.
What is “twist”? :
When you move the IK handle, the chain always bends
within one plane. The twist function permits you to change the orientation
of this plane.Turn on show twist in the IK Handle Info window.
A
black circle appears around the IK handle. You can change the twist value
interactively with the mouse by dragging around this circle with the mouse
as shown in Figure 6. We will see how this feature can be very helpful,
especially for the arm and leg bone chains.
fig 6. Effects of Twist
! NOTE !:
Twist values are relative to the polevector orientation
, this means, that if you modify the polevector values, you change also
the orientation of the bone chain. For this reason, the animation channels
of the polevector values, are turned off by default. Even if you
can animate the pole vector values, try to use polevector only as a control
setting before you animate and use twist value, In other words, the
polevector is an aid used when setting up the animation.
Now a quick exercise to see the IK handle in action...We're going to set up two leg skeletons and then we'll build a nice walk animation.
SIMPLE BIPED ANIMATION:
- Start by drawing a three bone chain in the side view window: you have one leg.NOTE
- Duplicate this chain and translate it along the X axis: you now have two legs.
- Create a box effector, rename it "HIP" and link the two legs to it: now you have a biped.(See Figure 7.)
- Open the bone info window, you can check that all the bones are in rest position and have all values at zero.
- At this stage, I suggest you rename the bones so the difference between the left and right legs are clear.
TIP: I also recommend you change the
color of the chain . Synchronize the bone color with the label color of
the bone in the Project window, It's a good way to quickly identify a bone
in World View windows as well as in Project window. It's a great way to
organize complex projects.
IK set-up
- Select the left foot and the left upper leg and add an IK handle, name it L leg IK.
- Select the End effector and the left foot and add an IK handle, name it L foot IK
- Repeat the same stages for R leg IK and R foot IK
- Turn on the animation flag in the Project window for the IK handles and for the HIP effector.
- Lock all bones so you don't select them accidentally in the View windows.
fig 7. IK set-up of a simple biped system.
Now, you are ready to animate your biped. But first
we will take the time to make some other adjustments to the bone chains.
TIP: To keep this rest position intact,
Park
the HIP and the IK Handles.
Advantages: you can put your character in the
original position at any moment (by putting all position values to zero)
and it will be useful to control the object positions in f-curve editor.
-We will work in Explicit mode. If you haven't chosen this mode as the default in the Preference window, open info windows of your IK handles and Hip effector and change them from Implicit to Explicit.
- Give all the animated objects (Hip effector and IK handles)
a red Label in the Project window.
- Create a selection set that contains the Hip effector
and IK handles (Red Label Set).
It's time to try your skeleton. Rotate and move the HIP
effector and play with the twist interface to see the effect
on the chain. Also try the different solvers ( you won't really notice
a big difference with a chain of only two bones.) You can see now that
it's quite easy to manipulate this skeleton in real time. The most attentive
among you have probably noticed that we haven't used limit rotations on
the bones. The bone chain is perfectly controlable with the IK handle.
(If you don't really need a particular rotation limit, don't use
one : Less Limit = More freedom.... and time savings)
fig 8. Examples of what you can easily do by manipulating the twist
interface....
Your first steps
If you remember your first baby steps, you're probably
going to relive the same experience. In the beginning it's a little bit
awkward but with practice and concentration your walk becomes more natural.
To walk is to put one foot in front of the other one while keeping your balance. This is exactly what we'll try to mimic here. First you have to determine the rhythm of your walk. For our walk, we'll create a dynamic rhythm of two steps per second.
To begin, we're going to just place the position of the feet.
Set your project for 24 fps,
Use Figure 9 as a visual reference as you perform the following steps:
- Go to frame 12,
- Select R leg IK Handle and R foot IK handle, drag them along Z axis to place the first step.
- Select the Hip effector and drag it until you obtain a good balanced pose.
- Select the red label set and add keyframe.This action adds a keyframe to all the animated objects, even those that weren't just moved. It is a way of locking in the pose of the biped .
- Go to frame 24.
- Select L leg IK handle and L foot IK handle and drag them to place the 2nd step.
- Drag the Hip effector to put the biped in balance.
- Select the red label set and add keyframe
- Repeat these operations as long as you wish.
We have controlled the skeleton using IK handles and
an effector. Now we are going to control them using the f-curve editor.
- Open the f-curve editor window.
- Add the Z and Y position curves of the IK handles and of the effector as shown in Figure 9.
fig 9. World side view and f-curve of the first stage of the walk
animation.
In the f-curve window, we have a good overview of our
animation.
At the moment, the Y position curves all have keyframes
with the same values so the curves are flat lines. Let's focus on
the Z curves. We can see that when RlegIK handle
and
RfootIK handle move, LlegIK handle and
LfootIK handle are still, and vise versa. The
Hip effector movement is more or less constant during the animation.
It's time to check that the two feet are not moving at
the same time and that the rhythm is good.
TIP: I suggest you to start your animation
with Linear path and, when you are satisfied with the timing,
you can convert the linear path to f-curve
and fine-tune the velocity with the Bezier handles.
Now we are going to animate the Y position.
- Go to frame 6. The right foot is moving, so select the Y positon curve of the RlegIK handle .
- Add a keyframe (opt-click) on frame 6.
- Create Keyframes on frames12, 24, 36,48.. You can also add now keyframe on frame 30, 54... etc. It
depends on the length of your animation.
- Select those keyframes and bring them up to the value that you wish.
- Do the same thing with the RlegIK handle.
- Make a preview and adjust the Y positions if necessary.(Note that you can adjust all the selected Keyframe values in one step.)
fig 10. Control,by f-curve, of the the IK handle's Yposition.
For the clarity, I didn't present the Y position curves of the IK handle of the feet, but you have to animate them in the same manner.
The shape of your Y curves depends on the length of the
legs and the length of the feet of your character. It also depends on the
personality you wish to give to your character.
Weight transferThe natural look of your animation is also determined by the illusion of your character's weight. The character's weight is simulated by the position of the Hip, which is at the center of gravity of the body. In the walk cycle, the Hip goes up while a foot is moving and goes down after the end of a step when the two feet are on the ground.
Select the front view and make a preview animation to
the screen, the animation doesn't seem quite natural, does it?
We have to put the biped in balance for each step in
the front view. Don't forget that we are trying to mimic the weight of
the biped in a gravity environment.
- Go to frame 6. Your biped is in balance on one foot
only, this means that all the character's weight is supported by one leg
Therefore you have to
align the hip center (gravity center) over the foot on the ground .
- Go to frame 18, now we have to transfer the weight
on the other leg.
The next preview should be better.
Fig 11. Weight transfer during the walk.
This is the end of this simple biped animation, but you
can continue working on it. The more you fine-tune your animation, the
better the result will be. Don't be easily satisfied but look for ways
to improve it and to create your own style of animation.
----------------------------
End of part One