 |
 |
This
page oulines a number of the constraints we
commonly use to edit motion. A brief description and example can be found
beside each constraint.
Solving for a single constraint on a character's
appendage may result in changes to the entire character. In other words,
raising the location of a doorknob to well over a character's head may
require that character to stand on his/her tiptoes. Our system
attempts to satisfy all constraints simultaneously and as long as standing
on one's tiptoes is acceptable, it will occur.
Foot Plants
Footplants occur when a character firmly plants
his/her foot (or other appendage) on a hard surface. The surface the foot
collides with is assumed to be immobile, and the foot is assumed not to
slide once it makes contact.
Footplants are very useful in a number of cases. Changing
the length or direction of a character's motion classically results in
its feet sliding along the floor. Constraining the edited feet to firmly
plant on the ground at certain points in time eliminates pesky skating
effects.
IMAGE/EXAMPLE
Footplants also allow the user to change the topology
of the groundplane the character is traversing. Raising and lowering footplants
allows for the creation of small hills and valleys in the terrain.
IMAGE/EXAMPLE
Self Collision
If a motion is to be associated with a character
of a different size or shape than the original, due to new bone lengths
(see motion retargeting) or new arm/head/etc sizes, the the new character
often winds up sticking his/her appendages through other body parts. These
self-collisions as we call them, can be solved by constraining the character
to maintain certain distances between his/her body parts.
The following is an example of a character with
large feet. His feet initially go through eachother while climbing the
ladder, but after the constraints are applied, they move around eachother.
Keep Apart
Certain moments in animations require body
parts to maintain a fixed distance from eachother at all times. This is
especially prominent when picking up an object of a fixed size. If you
desire a new character to be smaller than the current character but pick
up the same object, its arms need to spread wider to grab the desired
object. The keep apart constraint allows for the object's size to remain
constant.
The following example shows a human-sized character
picking up a box followed by a smaller character picking up the same box.
Nail
If a character is intended to 'hit' or place
his/her hand on a certain point in space, this point is fixed with a nail
constraint. If a character is supposed to push a button of a fixed or
twist a doorknob of a fixed height, the nail constraint keeps this height
constant.
The following example shows the location of a
vicious karate kick being relocated via a nail constraint.
|
 |