Tuesday, November 11, 2008

Stretch SplineIK for Head Rig Part 2

Create joint chain for neck section; create joint chain with 3 equal joint sections. We can use snap and grids to assist create joint chain, and then rename it properly.

Joint chain for neck section

Rename the joints properly after created

1. Create a splineIK for the joints. The splineIK takes the joints and snaps them to nurbs curve. Manipulate the curve, and it will pull the joints around

  • Choose Skeleton > Spline Ik Hanle Tool > Option Box
  • Reset the tools

reset the Spline Ik Hanle Tool

  • Click on the first joint of the joint chain – neck_base_jnt
  • Click on the last joint of the joint chain – neck_end_jnt

An ikHandle, end effector and Curve will be created, rename them with proper names as the following picture. To check the splineIK, select neck_Ik_crv, and manipulate the CVs on the curve.

SplineIk had been created and renamed

Moving the joint chain by manipulate the curve

2. The CVs of the curve cannot be animation directly; we have to assign controls to manipulate the curve. We can create cluster on each CVs in order to animate the CVs, yet it is quite tedious. The alternative is to create 2 individual joints on the both ends of the joint chain, smooth skinning the curve to the joints which is quick set up.

  • Create two individual joints, and snap them on the neck_base_jnt and neck_end_jnt, holding down v Key for point snap to help in the snapping joint.
  • Rename the two joints to neck_IK_base_ctrl_jnt and neck_IK_end_ctrl_jnt
  • Select neck_Ik_crv, neck_IK_base_ctrl_jnt and neck_IK_end_ctrl_jnt
  • Choose Skin > Bind Skin > Smooth Bind > Option Box
  • Reset the settings
  • Select Bind methods > closest distance
  • Bind Skin

Renaming nodes

The smooth bind options

  • Create two nurbs curves, model those two curves in the shapes what make scene to animators
  • Rename the two curves into neck_Ik_end_ctrl_crv and neck_Ik_base_ctrl_crv respectively
  • Snap neck_Ik_base_ctrl_crv on neck_IK_base_ctrl_jnt and neck_Ik_end_ctrl_crv on neck_IK_end_ctrl_jnt
  • Set Freeze transformation to neck_Ik_end_ctrl_crv and neck_Ik_base_ctrl_crv
  • Parent the neck_Ik_base_ctrl_crv to neck_IK_base_ctrl_jnt and neck_Ik_end_ctrl_crv to neck_IK_end_ctrl_jnt

Create animation control curve for manipulate the splineIK

Parent the neck_Ik_base_ctrl_crv to neck_IK_base_ctrl_jnt and neck_Ik_end_ctrl_crv to neck_IK_end_ctrl_jnt

The splineIK had been set up

The splineIK had been set up; both ends of the splineIK can be animated with the animation control curve. Next step will create the stretchy feature on the splineIK joint chain.

Monday, November 10, 2008

Stretch SplineIK for head rig Part 1

The joints chains for head

As the cartoony style of the animation, the head of the character may not be maintained in the anatomical structure. The range of the movement is not only based on the lower jaw and the neck. According to the animatic, the upper jaw of character is not stick rigidly on the head joint and lifts up from the lower jaw, the eyes and forehead has to been stretch independently. The rig of the head has to basically broken in order to achieve the requirements.

The head motion of character in the animatic

So, I broke the head rig into four sections, each can be moved and stretched independently to the others and has to been linked one by one:
1. Forehead, eyes and nose.
2. Upper jaw
3. Lower jaw
4. And neck

The head had been into 4 parts for the rigging

The rig is used in each part which has to allow for bend, stretch, twist and independent motion of both ends. There are a few different techniques to achieve those effects. The most typical way is the stretchy splineIK system which had been presented by Jason Schleifer of Dreamworks & WETA in the DVD “Intergrading A Creature Animation Rig Within A Production Pipeline”. The content of the DVD is actually AWGUA Maya Master Class August 2001, although the technique has been existing for almost 8 years already, it is still popular and using for spine setup as it is easy to setup. The ribbon spine is another new way of building an IK-like spine rig which presented by Aaron Holly, lead character technical director of Digital Domain, in his DVD “Rigging For Feature Animation”. This technique gives animators greater control and more flexibility over their spine animation, yet this technique has to be involved with Maya Hair follicles, follicles is only featured Maya Unlimited version and may be accessed by some users. The stretchy splineIK system is normally used for the spine rig, yet I intended to use the technique for the head rig in my project.

Friday, November 7, 2008

Thursday, November 6, 2008

The Blend Shape Control

Although the book, “Stop Staring: Facial Modeling and Animation Done Right!” , written by Jason Osipa was released for 5 years already, the setups method for blend shapes presents in that book is still thoroughly today. The great thing about Jason Osipa’s setup is multiple blend shapes can be controlled by the translation of X and Y of a 2D slider, which reduce the controls animators have to deal with. Furthermore, certain shape would not happen at the same time, such as smiles and frowns. When animators increase the effect of target shape A, they have to reduce the influence of target shape B. By putting two of those shapes on opposite ends of the same control, the amount of work can be reduced.

Multiple Blend shapes can be controlled by a 2D slider controller

According to the explanation of Jason Osipa in his book, the weigh of blendShape can be link with the translation of X and Y of a 2D slider by expression. As “Osipa” style blend shape controls become famous and popular, Judd Simantov, technical director of Naughty Dog, had written Mel script jsFacialWin for “Osipa” style which can be downloaded from Jason Osipa’s website. It makes Jason’s setup easy to create by giving us a GUI to create all the different sliders and we can link blendshapes into the sliders.

GUI to create all the different sliders and link blendshapes into the sliders.

Steps for using jsFacialWin to create slider controls and link blend shape into the sliders

1. Load the blendShapes into the GUI first; hit the “Blends:” button, select the Blendshape node you want to load into the GUI.
2. Hit “Add selected” button, all the target shapes of the selected blendshape node show up in the blends text scroll list (name your objects properly is very important).
3. In the case of suck and blow slider, Type “suck_blow” in the text field below the sliders in the GUI.
4. Click on the grey box in the middle of the C type slider. A slider will been created in the scene.
5. Select the pet_blendShape.right_Blow from the blendshape scroll list, load it into the top right side of C slider, by hit the blue button in the top right of corner of the C slider GUI.
6. Select pet_blendShape.left_Blow and load it into the top left side of C slider.
7. Select pet_blendShape.left_Suck and load it into the bottom left side of C slider.
8. Select pet_blendShape.right_Suck and load it into the bottom right side of C slider.
9. Test out the slider view.

Target shapes are link into the corners of 2D Slider by using jsFacialWin GUI

References for creating target shapes and blend shape control

Osipa, J. (2003). Stop Staring: Facial Modeling and Animation Done Right. San Francisco: Sybex Inc.
Osipa, J. (2008). Osipa Entertainment. Retrieved March 20, 2008 from http://www.jasonosipa.com/

Sunday, November 2, 2008

Creating Blend Shape for Head

Target shapes for blend shape

According to the story of the animation, no speaking is required for character, and the anatomic structure has not to be carefully considered as the cartoony style. Beside the blend shape, joints and “On face control” are used together in the head rig, so the amount of the target shapes are relatively small then the ordinary characters. The main factors in creating target shape models are the emotion of character and the eye blinking movement. Some tips and tricks for creating target shape models.

Most of the target shapes are the duplicate of the original head then are modified, take notice of the translation of the target shapes, don’t freeze transformation of target shapes, otherwise the head will translate towards to the target shapes during the morphing.

Using deformer to assist at modification the target shapes, such as soft modification tool and cluster with paint weight, which can change the mesh partially and smoothly. Delete history after the modification, but do not freeze transformation.

Using soft modification tool to make target shapes

Using cluster with paint weight for the target shapes

Blend shape deformer is linearly interpolated form one shape into another, which may not fulfill what you need. Thus, add In-Between Target for existing target object shapes. In the case of the eyelid, I used two more shapes for the in-between target. In the add blend shape target options, the target index is quite confusing to users.

You can actually identify the appropriate value for Target Index is by looking at the order of the target sliders in the Blend Shape Editor (Window > Animation Editors > Blend Shape). Target Index value for the left-most target slider would be 1, the next 2, and so on.

The target index of blend shape deformer

The target shapes should be separated for deformation left and right side of head individually; in order to create asymmetrical facial expression. Yet the target shape cannot be mirrored or flipped by negative scaling since the vertex order will be not changed, you may have to remodel the same shape for the other side. Fortunately, there are tons of free Mel scripts to mirroring or flipping the target shape which can be found in the internet, using those free Mel script to save your time.

Saturday, November 1, 2008

The Stretchy Eye Balls

According to the finalized model, the eye balls of the character are not exact spheres; the eyes movement will be a problem as the pivot point is not located exactly at the center of the eye balls. Some studios would use texture project to make the pupils, but the pupils will be distorted and the projected image may not be stable after the geometry of the eye ball are stretched with the head. Jared Lindquist tried using rivet script and “Freeze Geometry’” of lattice to keep the pupils remains circular and attaching on the eye, and I had modified this method to make the eye stretch with the head properly.

1. Create a nurbs sphere for eye model; rename it to eye _geo and a polygon sphere roughly the same size; rename it to eye_rivet_base_geo. ( it’s good habit which rename all new nodes to some meaningful names after create, it will help to trace and solve problem)

The polygon sphere can be created by duplicate the nurbs sphere and convert into polygon.

Figure2 - a nurbs sphere for eye model and a polygon sphere

2. Use rivet script which was created by technical director Michael Bazhutkin, On the eye_rivet_base_geo, select two parallel edges in front of the location of pupil, and create a rivet. The locater will stick on the polygon face even thought the face has been translated or deformed. Rename locator to eye_rivet_loc.

Figure 3 - select two parallel edges in front of the eye_rivet_base_geo and create rivet

Figure 4 – a locator (rivet) is created accordingly and stick to that polygon

3. Position the eye _geo and eye_rivet_base_geo with rivet on same location, we can use point constrain to position two geometries on the exact same location:

  • Select the eye _geo then shift select eye_rivet_base_geo with rivet

  • Choose Constrain > Point to assign point constrain

Figure 5 –eye _geo and eye_rivet_base_geo snaped together

  • Delete the point constrain node under eye_rivet_base_geo.

Figure 6 – delete point constrain node under eye_rivet_base_geo in outliner

4. In the original idea of Jared Lindquist’s, the eyes are deformed and stretched by lattice, but it the lattice could not be deformed with and driven by the head rig. Instead of the lattice, I use wrap deformer as a main deformer for the eyes.

Create wrap deformer for eye_geo

  • Duplicate eye_geo and rename eye_wrap_base_geo

  • Scale eye_wrap_base_geo a bit, slightly larger than eye_geo and eye_rivet_base_geo, and wrap around them.

  • Select eye_geo first, and then shift select eye_wrap_base_geo,

  • Choose Create Deformers > Wrap, to create wrap deformer.

  • Select eye_geo, rename the wrap input node to eye_geo_wrap.

  • Set the Max Distance of eye_geo_wrap to 50.

Figure 7 –Set the Max Distance of eye_geo_wrap up to 50.

Create wrap deformer for eye_rivet_base_geo as well

  • Select eye_rivet_base_geo first, and then shift select eye_wrap_base_geo,

  • Choose Create Deformers > Wrap, to create wrap deformer.

  • Select eye_rivet_base_geo, rename the wrap input node to eye_rivet_base_geo _wrap.

  • Set the Max Distance of eye_rivet_base_geo _wrap to 50.

Figure 8 –Set the Max Distance of eye_rivet_base_geo _wrap up to 50.

5. eye_geo and eye_rivet_base_geo are deformed according to the shape of eye_wrap_base_geo and eye_wrap_base_geo can be bound on the head rig, so the eye can be stretch with head. But the CV for pupils could not remain in circular. Now we use the rivet and lattice to remain the shape of pupils.

Figure 9 - eye_geo and eye_rivet_base_geo are deformed according to the shape of eye_wrap_base_geo.

  • Reset the shape of eye_wrap_base_geo

  • Select the CV for pupils on eye_geo

Figure 10 - the CV for the pupils on eye_geo

  • Choose Create Deformers > Lattice, rename the ffdLattice to pupils_ffd_Lattice and ffdBase to pupils_ffd_Base. Select eye_geo and rename the ffd input node to pupils_ffd.

Figure 11 – create Lattice on the CV for pupils and rename properly

  • Set the division of S, T, U, for the pupils_ffd_shape to 2, and check the ‘Freeze Geometry’ option of pupils_ffd in the attributes editor

  • Parent pupils_ffd_Lattice under eye_rivet_loc

  • Figure 12 – the setting for pupils_Lattices

Now select both eye_geo and eye_rivet_base_geo, the CVs for pupils are remaining circular as the shape is frozen by the pupils_ffd. We can assign ramp texture and shader eye_geo. The shape of eye is driven by the eye_wrap_base_geo, deform the eye_wrap_base_geo to fit in the eye socket of the character and bind to head joint later on.

As the eye_geo and eye_rivet_base_geo have to rotate together, we can use orient constrains to make eye_rivet_base_geo following to eye_geo.

Figure 13 –pupils are remaining circular no meter how the eye had been stretched

Now the eye movement can been created by rotate the eye_geo, the pupils are remained circular no meter what shape of the eye ball. Group all the elements for eye into one group in order to clarify the scene and ready for next step.

Figure 14 – the move and deform the eye_wrap_base_geo to fit the eye into the eye socket.

The eye movement can been created by rotate the eye_geo.

References for marking stretchy eye ball

Lindquist, J. (2007). Nyeng! Stretchy eyes in Maya. Retrieved March 18, 2008 from http://www.nyeng.com/?page_id=345

Bazhutkin, M. (2007). Bazhutkin Software. Retrieved March 18, 2008 from http://www.geocities.com/bazhutkin/

Saturday, July 12, 2008

General requirements for all character rigs

Beside the special requirements for creating “cartoony” animation, there are general requirements that all character rigs should have.

1.The rig should be as simple as they could.

It is important to limit the amount of controls that the animator can work with, do not overwhelm the computer and the animation with the extra feature which is not necessary. Animators have to work with fast updated and respond computer to check the animation, put out all the control and feature we don’t need can save the resource of computer. In the case of Maya, instead of using expression, I tend to use others each as set driven key and utility node, expression will slow down the computer as it will evaluate every time we change the parameters.

2.Controls should be unique and make immediate sense.

Animators have to due with a mass of control; them will be confused and spend time to find out what they want if every single control appears the same. Controls should be unique and understandable looking for intended use.

3.Animators can only select what need to be animate

Animators always select and moving object which an untouchable, it may damage the rigging system and cannot be recover after animated. Lock and hide those objects before the animation process.


All the objects and controls shoulder named correctly and understandable, animators and other rigger will be searching by the name of objects. And a messy scene will make it more difficult for others to modify and further develop, delete all the objects or node which is not necessary, try to optimize the scene after the rigging process.

Rig requirements had defined

After analyze of the character and define what has to do in the animation, the rig requirements had defined:

1. In order to keep the motion of limb in from of arc, we will need the Forward Kinematics for general gesturing and in-between. Other times characters will place their limbs on the ground on some other object. In these cases, we want to make sure the limbs are locked off, we will use Inverse Kinematics. The IK and FK system has to been switchable anytime and anywhere in the character rig.

1. The arm should be able to rotation independent form the upper joint in the skeleton system, in order to create overlapping action with any counter animation has to create.

2. It is necessary to squash and stretch both the torso and the limbs in order to get exact pose in animation require. Thus, we intended to make all part of character squashing and stretching independently.

3. Beside the main skeleton for the movement and pose, extra deformation controls are required for creating exaggerative the line of action and for clarify the silhouette.

4. In order to create exaggerative facial express, the face will not be only driven by morphing. The head of character will be broken down in different parts; each will be driven by the IK control independently. A sort of on face control will be created which will stick on the face of character even though the facial has been driven by the others control, animators can tweak the facial expression by those control easily and directly.

5. The shoulder and hip should be allowed to move independently, so animators do not have to counter animation the shoulder after moving the hip. At the same time, Forward Kinematics control has to be preserved for the spine, thus, arc movement of the upper torso can be easily made.

6. Some extra deformers will be approximately placed at the end of limbs and head; animator can create the illusion of smear to reveal the fluency of motion and sense of speed.

Friday, July 4, 2008


The rigs must be able accommodate those principles in order to give the animator to animate without limiting their creative idea. Meanwhile, the animatic was created, it gives a better idea of how the character will look and feel with motion and timing. That is another significant reference for both animation and the character rig.

Thursday, July 3, 2008

Rig design process Part 6 Arc

The difference between the IK and FK

In real life, organic creatures always move in arcs or a sort of figure “8”. Our hands move naturally in arcs when we gesture or when we are just swinging them at our sides. Our hips move up and down in arcs as we walk. When you rotate a joint in a 3d program, it will actually naturally move through an arc, just as that joint would move in real life. Sometimes we don't want the lower nodes in a hierarchy to move with the upper nodes. You could manually go frame by frame and animate the joints keep in the some position but that is extremely tedious. Instead, you can set up an Inverse Kinematics chain that will lock joint and figure out the calculations you. However, there will also be no arc to the motion of an IK control, it moves linearly between poses. Where you naturally have an arc in the FK control, you will have to add arcs manually in the one with IK.

Rig design process Part 5 Follow through and Overlapping

The overlapping on the nose and head and the broken joint

Parts of characters does not move all at once, but instead it stretch, catches up, twists, turns, and contracts as the forms work against each other,. As one part arrives at the stopping point, others may still be in movement. The loose flesh on a figure, such as cheeks, will move art a slower speed than the skeletal parts. The most obvious example of overlapping action is the “broken joints”, to get some flexibility in limbs swing; we will break or bend the elbow or knee joint. It looks more natural even though it is against the anatomical limitation. The lack of control when we animate with inverse kinematics may make it more difficult to get it into the exact position you want. It is significant if we can switch between IK and FK to animate according to situation of the characters.

Rig design process Part 4 Staging

Character is bended to emphasize the “line of Action”

The silhouette doesn’t reveal what is happening with the character

The silhouette should be clear enough to help audience get the idea

Staging is about the presentation of idea from the characters; silhouette and line of action are two significant elements underneath that principle. Good staging in your camera view will allow audience to clearly and quickly understand what is going on in scene. It is important to keep in mind that we are still working with two dimensional projected images, even though we animate the rig and model in the three dimensional environments. A strong Silhouette is mostly important in “cartoony” animation; pose and animation should be very clean to audience to make a stronger statement. Line of action shows the direction of movement of the main mass of the character, line of action should not be straight, curve and arc for the line of action shows the direction and the fluency of action, that kind of rubber hose limb and body is against the idea of joints. Under the necessity, the rigs are rigid; we cannot bend the character for the smooth curve line of action. We have create some extras for bending the character which have to be driven by the originally rig.

Wednesday, July 2, 2008

Rig design process Part 3 Exaggeration

Exaggerated pose advanced the “cartoony” style

In the “cartoony” animation, exaggeration is pushed something beyond what you think is natural and realistic, it helps achieve a stronger dramatic or comedic effects, is a useful way to emphasize the emotion or humor. The more exaggerated your animation, the more “cartoony” it will look. In terms of pose, the intention of exaggerate the pose of characters is effective communication. The pose should be strong enough for the audience to get what is happening with the characters by read one image of the characters.
In order to push the pose exaggerate and “cartoony “enough for audience, the rig should be able to perform a kind of broken effects and without any limitation.

Rig design process Part 2 Squash and Stretch

Squash and stretch shows the direction of force and the senses of speed

In the 12 principles, some are important in considering character rigs such as Squash and Stretch. It is the most foundational principle but it was only recently be appreciated in CG world, CG movies such as “Open Season” and Madagascar”, the new squash and stretch treatments of character has become a significant element. Elements can be compressed by itself, expanded and stretch out .the variation of the rigidity makes characters more freshly and achieving a more comedic effect, it also can emphasize scene of speed and weight.

Smear is text of squash and stretch which had been discovered by Check Jones, cartoon director of Warner Brothers, instead of brush stroke, the images of the characters were smeared in the in-between which emphasized of the scene of speed and the fluency of the movement could not be replaced by motion blur.
In item of character rigging, the character should be able to wholly and partly deform, limb, torso and head should be deformed and smeared individually.

Rig design process Part 1 12 Principles

Before jump in and start working on a character rig, we should think ahead and to realize what the exact requirements of the rig in order to achieve the animate production. This will save our time by creating only what is necessary. The main theme of my project is the development of “cartoony” character and animation. Before we started get into the further section, it is necessary to understand and clarify what are “cartoony” motion, emotion, and the interaction with the environments.

When we talk about the “cartoony”, we are talking about the rubber hose characters, the red carpet tongues, bulging eyes; we are talking about the style of animation developed in the twenties at Disney and Warner Brothers.

In order to train young animators, the principles of animation were created in the early 1930s by the animators Walt Disney Studios. These principles became one of the foundations of hand-drawn cartoon character animation, as they are commonly referred to, also helped to transform animation from a novelty into an art form. The best way to determine the requirements of our rigs is get relevant reference such as those principles of animation.

According to the book " Illusion of Life" , the principles of animation are :

1. Squash and stretch
2. Anticipation
3. Staging
4. Straight-ahead action and pose-to-pose
5. Follow-through and overlapping action
6. Slow-in and slow-out
7. Secondary action
8. Timing
9. Arcs
10. Exaggeration
11. Solid drawing
12. Appeal

The original principles are still relevant today because they help us to create more believable characters and situations. These principles originally referred to 2D characters, we must consider how apply those principle into our characters.

Monday, March 3, 2008

The development of the character rig for “Cartoony” animation Introduction

This is my final year project and I will show you the process of rigging for a cartoony character rigging, I hope to expand your thinking from the design of the character and body rig. If you’re not working at a larger studio, you may not have programming department to support you to create character pipeline or skin system. This project aims for sole artist, students or small studio and the technique are meant to straight forward, effective and stable in giving your character maximum performance.

Rigging is a very important step in creating computer animation that most artists or students completely undervalue (in my region) , it often seems easier to start working on character without forethought, a proper planning and designing process will actually save your time and avoid inevitably problem during production. In the designing process section, I will expose the designing process of my rigging; demonstrate why the character rigs should be created in particular way. There is no “right way” of achieving your own goal, artist or student should explore different approaches and assimilate for their own characters and animation.