Back to the main home page

Back to the Articles page

 
 

animocap.com's

Performance Animation & Digital Puppetry

Tutorial Series

Ha01 – Head Animation

Version 40818

What you will learn:

In this lesson, you will learn how to do performance animation using a simple digital puppet head using the keyboard and mouse.  You will also be introduced to many of the major concepts in performance animation.

Prerequisites:

You need to read tutorial DOC01 – Intro to the perfAnim software.  This discusses using the perfAnim software.

Requirements:

Software: perfAnimStarterKit (or perfAnimPro)


Table of Contents


1. Introduction

In the following lesson, you'll start learning about doing performance animation using heads.


2. Animating with button controllers

What's a button controller?

Do you know what a push button is?  It's like a light switch.  You turn the switch to ‘on' and the light turns on.  You turn the switch to ‘off' and the light turns off.  The switch (or button) has two positions, on or off.  A button controller acts the same way.  It only has two states, either on or off.  You can use a button controller to set the position of an object to two states.  For example, in animating a character's mouth, you can use a button controller to either open or close the mouth.  Your press the button and the mouth opens.  You release the button and the mouth closes.

You can also use multiple button controllers to set the position of an object whenever you press the button.  Let's say you want to control the eyebrows of a character and you want the eyebrows to either be lowered, raised, or in a middle position.  You can use 3 button controllers to do this.  Push the first button and the eyebrows lower.  Push the second button and the eyebrows go back to the middle position.  Push the third button and the eyebrows raise.

Common examples of button controllers are the keys on a keyboard, buttons on a joystick, or buttons on a game controller.


3. Who's Blockhead?

Blockhead is the name of the head model we'll use for several of our initial lessons.   Blockhead is a very simple model of a head.  He's made of the following 10 simple shapes.

1. The main head is a simple 6 sided box

2. The lower jaw is a rectangular 6 sided box

3. There are 2 eyes, each of which is composed of 2 spheres, a large white sphere, and a small black sphere

4. There are 2 eyelids, each of which is made of a half sphere.

5. There are 2 eyebrows made of rectangular boxes.

Blockhead

 

What's a jointed object?

Blockhead is an example of a jointed object.  A jointed object is composed of parts that move but don't change shape.  Take the eyebrows for example.  Blockhead's eyebrows can rotate up and down, but they stay the same rigid rectangular box shape throughout the movement.


4. Lesson 01: Animating Blockhead with the keyboard

Let's start with a simple exercise using the keyboard as a controller.  Run the perfAnim software and load the performance definition file named ”ha01_lesson01_kbd.pde” in the performance pack PP_HA01.

Review: (From Doc01)

What's a performance pack ?

A Performance Pack is just a sub-directory that contains a set of files that are used in a performance.  All throughout the tutorials, there will be instructions like “Load the blockhead.pde file in performance pack PP_BLOCKHEAD”.  This just means that you need to load the file “blockhead.pde” which is located in a subdirectory named “PP_BLOCKHEAD”.

Where are performance packs located ?

Performance packs can be downloaded from the animocap.com website as individual performance packs or part of the tutorials.

When you download other performance packs from the website, you can place them anywhere on your hard disk.  However, it is recommended that you place them in a single top level directory for easier organization.

Once you've loaded the file, you'll find Blockhead displayed on the main display window.

Blockhead in the perfAnim software


4.1 Controls

The keyboard controls are as follows:

Control

Action

Numeric keypad 8

Turns the head up

Numeric keypad 2

Turns the head down

Numeric keypad 4

Turns the head to blockhead's right

Numeric keypad 6

Turns the head to blockhead's left

Numeric keypad 5

Turns the head to the center position

R

Raises the eyebrows

E

Centers the eyebrows

W

Lowers the eyebrows

F

Opens the eyelids

D

Closes the eyelids

S

Blinks the eyelids

Spacebar

Pressing the space bar opens the mouth, releasing it closes the mouth

Hand positioning

If you'll notice, the keys are assigned so that your hands fall on the default typing position on the keyboard.  Your left hand is positioned with your left index finger on top of the ‘F' key.  You can access the ‘REWFDS' keys conveniently from this position.  Plus, your thumb is placed on top of the space bar, which you can use for the mouth movements.

Your right hand is positioned on the numeric keypad, with your right middle finger on top of the ‘5' key.

*** The numeric keypad and the NUMLOCK key

Whenever a performance pack uses a key in the numeric keypad, check the NUMLOCK key to see if the numeric keypad is in numeric mode, otherwise the keys will act like arrow keys and will not be recognized.

4.2 Enabling Performance Mode

Review: (From Doc01)

The GO button

This enables performance mode.  When performance mode is on, the controls defined in the currently loaded .pde file will be enabled.

  *** Important:

Before you can use the controls defined above, you need to enable performance mode by clicking on the “GO” button in the performance panel (or pressing Ctrl-G).  You can also change to a full screen display by clicking on the Fullscreen button (or pressing Ctrl-F).

Once the performance is over, you can go back to regular mode by again clicking on the “GO” button (or pressing Ctrl-G).  You can also change back to regular size display by pressing Ctrl-F.  Remember this as it will apply to all tutorials and performance packs that you may use in the future.

4.3 Making the character talk

Blockhead has a very simple mouth.  It only opens and closes, much like a traditional wooden puppet.  The space bar controls the opening and closing of his mouth.  By default, the mouth is in a closed position.  Now press the space bar.  You'll notice the mouth opens.  The mouth stays open as long as you keep the space bar pressed down.  Release the space bar.  You'll see that the mouth now closes.

Try to say “Hello” and use the space bar to move his mouth.  Watch blockhead as you do this.  Does it seem like the character is talking?  Yes, you may think this is a very lame exercise, but this is going to prepare you for the more complicated techniques later on.  Try saying these lines while moving the character's mouth with the space bar.

“My name is blockhead”

“I am your friend”

”I feel so silly pressing the spacebar and talking to myself”

Press the spacebar, the mouth opens

Release the space bar, the mouth closes


4.4 Showing some emotion

Although Blockhead is a very simple object, you can already convey basic emotions using his eyebrows.

Blockhead's eyebrows are controlled using the ‘R', ‘E' and ‘W' keys on the keyboard.  Pressing ‘R' raises his eyebrows.  Pressing ‘E' places the eyebrows in the default middle position and pressing ‘S' lowers his eyebrows.

Is there any difference in how the character looks?  What emotion does the character convey when you use the different keys?

Try making the character speak again by pressing the spacebar and saying “My name is Blockhead” while the eyebrows are raised. 

Now try the same thing with the eyebrows lowered.  What sort of emotions do you think the character is showing? 

Could you change the way you say the words to match the way the character looks?  Raise the eyebrows and think – “What would this character be saying when he looks this way?”  Do the same with the eyebrows lowered.  Is there a difference?

Press the ‘R' key
eyebrows raise

“Duhhh … What ? I'm surprised”

Press the ‘E' key
eyebrows level

 “I'm okay”

Press the ‘W' key
eyebrows lower

“I'm mad !”


4.5 Head movement

You can make Blockhead look up by pressing the numeric keypad ‘8'.   To make Blockhead look down, press the numeric keypad ‘2'.  To make Blockhead face to his left, press the numeric keypad ‘6'.  To make Blockhead face to his right, press the numeric keypad ‘4'.  To make Blockhead face the center of the screen again, press numeric keypad ‘5'.

Each time you do so, ask yourself “What could the character be feeling?” or “Is there any use to moving the head?” or “Does this add to any emotion?”

 

Press numeric keypad 8, blockhead looks up

 

Press numeric keypad 4, blockhead looks to his right

Press numeric keypad 5, blockhead looks to the front

Press numeric keypad 6, blockhead looks to his left

 

Press numeric keypad 2, blockhead looks down

 

4.6 Eyelids

You can control Blockhead's eyelids explicitly by using the ‘F' and ‘D' keys.  Press ‘D' and the eyelids close.  Press ‘F' and the eyelids open.

For blinking, it's a bit difficult to keep pressing the two keys.  It's easier to use the ‘S' key.  This key activates a blink – eyelids close, then eyelids open.

Press the ‘F' key
Eyelids Open

Press the ‘D' key
Eyelids close

 


5. Review / Analysis

Yes, making a digital puppet move and talk by pressing keys on the keyboard may seem silly at first, but this is exactly the same thing as putting a sock over your hand and trying to entertain some kids, or moving a teddy bear and talking while trying to make your baby stop crying, or putting your hand inside a wooden dummy and doing a puppet show.  It's the same as wearing a mascot costume and cheering for a football team or crying in a dramatic scene if you're an actor, or wearing tights and speaking in an old English accent if you're in a Shakespearian play ... you're performing!



6. Improving Head Control by Using the Mouse

6.1 Limitations of the keyboard

In the previous lesson, you learned about animating a head using only keyboard controls. One of the things you may have noticed is that in moving the head, there's no easy way to control movements smoothly. You can only press the key to turn the head in the left direction and the head turns all the way to the left. If you wanted to turn the head halfway left only, you can't do it yet.  You can only turn the head to any of the preset positions (up, down, left, right and center).

6.2 Analog Controllers

What's an analog controller?

An analog controller is one that let's you select different levels. In contrast with a button controller like the keyboard that only has two states or levels (the key is either pressed or released), an analog controller like the mouse, is able to have a gradual change between the levels.


7. Lesson 02: Animating Blockhead with the mouse

Let's start with a simple exercise using the mouse as a controller.  Run the perfAnim software and load the performance definition file named ”ha01_lesson02_mouse.pde” in the performance pack PP_HA01.  You'll find Blockhead displayed on the main view window.

Blockhead in the perfAnim software


7.1 Controls

The controls are as follows:

Control

Action

Mouse

The mouse controls the direction of the head

R

Raises the eyebrows

E

Centers the eyebrows

W

Lowers the eyebrows

F

Opens the eyelids

D

Closes the eyelids

S

Blinks the eyelids

Spacebar

Pressing the space bar opens the mouth, releasing it closes the mouth

The following exercises are practically the same as in lesson 01, with one important difference - the head direction is now controlled by the mouse.

*** Remember to enable performance mode in order to activate the controls.

7.2 Head movement

You can move the head just by moving the mouse around. Try to make the head look in different directions. Try making the head nod up and down, or left to right. Try combining head movements with mouth or eyebrow movements.

How does this compare with using the keyboard to control head direction? Which gives you more control? Which would you prefer using?

Controlling the head direction is easier with the mouse

7.3 Making the character talk

Try making the character talk by pressing the spacebar while doing some head movements with the mouse.  Does it feel any different versus using all keyboard controls?

Press the spacebar, the mouth opens

Release the space bar, the mouth closes

 

7.4 Showing some emotion

Try mixing some of the emotions you've tried giving the character with some head movements.  Does the emotion seem to be more pronounced when eyebrow position is mixed with head movement?

Press the ‘R' key
eyebrows raise

“Duhhh … What ? I'm surprised”

Press the ‘E' key
eyebrows level

“I'm in a neutral emotional state”

Press the ‘W' key
eyebrows lower

“I'm mad !”

 


8. Review / Analysis

Okay, so that wasn't so difficult, right?  You're now able to do performance animation by just using the keyboard and mouse.

Continue practicing with Blockhead until you feel comfortable with the controls.  You will learn more techniques to improve the look of your digital puppet in the next few tutorials but these are just secondary to how you control your puppet and the things you make the puppet say or do.

The thing to remember at this point is that the most important part of performance animation and digital puppetry is the “performance”. 

 

 

Copyright © 2002 Alexander R. Calero

 
     

Back to the Articles page

Back to the main home page