skip to main | skip to sidebar

See lectures by course…

Friday, October 10, 2008

IMD 4003: Character Animation II

For IMD 4003: Computer Animation, taught by Chris Joslin

1. Rigging Bones

1.1 What is “Rigging”?

Rigging is when you add a skeleton to your model to control it (rather than moving the vertices manually). Then you would use FK and/or IK to control the movement.

1.2 Skeletons

There are 3 steps to define your skeleton:

  1. Hierarchies: These are useful because they do a lot of the work for us. We don't have to replicate real-life skeletons in order to get the right movement - just enough to make it look approximate. We often need fewer bones to duplicate the movement but sometimes we may need more.

    The "Root" is almost always the hip or the pelvis for 3 reasons:
    1. it is close to the centre of gravity;
    2. it's the centre point connecting the upper and lower body; and
    3. it's the central point of almost all motions.
  2. Bones and Joints: Rigid bones are connected by joints. The bones act as a guide for the mesh (skin) deformation. [Suggestion: it's easier to create the mesh first and add the bones later.]
  3. Bone Naming: Name your bones like you would (should!) name your Photoshop layers. It's useful for organizing complex set of bone structures. Some animation programs require that the bones are labelled correctly so that they are linked correctly.

1.3 Skinning/Binding

Once we have correctly positioned the bones within the mesh, we can determine the position of the mesh based on the bone positions. However, because the points are related to the bones by a relative distance all the time, if you rotate too far, the skin will deform into other skin parts giving you awful looking kinks. We can fix this with weighting.

1.4 Weighting

We assign an influence between 1 and 0 (1 being the greatest influence, and 0 being no influence) to vertices. This influence is based on the movement of the bones. Generally, we are dealing with the influence of 2 bones but there are cases where more bones are involved (the shoulder, for example).

3 Methods of Deformation (FAP):

  1. FFD Animation: We create an FFD lattice around the skeleton. The skeleton controls this FFD and the FFD controls the vertices of the skin.
  2. Associated Point Animation: We associated mesh points to a specific bone or link. The vertex points move parallel to the bone. This is useful because the system can calculate the rotation quickly because it's only being rotated around one axis.

    The problem with this is that the points will cluster on the inner part of the rotation because there's no associated between joints and points. To solve this, we can break up the skin into separate pieces and use spherical joints to hide the issue but this isn't really skinning. Using Point-Weighted Animation is much better.
  3. Point-Weighted Animation: Each point is affected by more than one link and the influence on each point is based on a weighted average.

3 Ways to Apply Weights (PEN)

  1. Painted Weights: We use a 3D painting tool to apply weights. This is useful for control in tricky areas because you can very closely fit the shape of the character.
  2. Envelopes: This is the most common method. We use a capsule shape around the skin that has influence over the underlying bones. You can easily shape and resize it.
    Envelopes have “Fall-Offs”, where the strength of the capsule is reduced over a specific distance. This is good for a smooth transition between bones.
  3. Numerical Assignment: We assign one weight value per vertex. This is very tedious but provides a lot of control that envelopes and painted weights can't offer.

2. Muscles

Muscle bulge is influenced by muscle systems. You would first model the bones, muscle and skin tissue as deformable bodies. Then you would use physical simulation to calculate the motion.

2.1 Simplified Anatomical Models

Muscles are attached to the bones. As the muscles get shorter, they become wider; as they get longer, they lengthen.

If you don't understand, extend your arms out to your sides. Bend your elbows (on the y or z axis) and feel your muscles contract. They get shorter as you bend your elbows.

Muscles can be built using primitive NURB Surfaces or polygon shapes combined with an FFD. The skin would be attached to the muscles with springs or dampers and the muscle deformation would be simulated by the collision between the bone and the muscles.

2.2 Detailed Anatomical Models

Detailed simulations can be performed that accurately depict bone and muscle geometry but the setup is extensive.

1 comments:

Unknown said...

I did your example observing how my muscles expand and contract, but then got distracted and found myself at the gun show.