Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog
Hierarchical Animation
Represent a complex object as a hierarchy of nodes, which are organized
in parent-child relationships so as to form a tree. A node may possess
geometry or may be used simply as a grouping and re-orientation device
(null object). A motion of a node (e.g., the upper arm) influences all
the nodes below it (e.g., the lower arm, hand, fingers). (Demo in Cinema
4D and Maya)
Inverse Kinematics
A basic way of animating a hierarchical structure is to set the rotation
for the upper arm, then for the lower arm, then for the hand ("Forward
Kinematics", FK). It is hard to reach a given target such as a coffee cup
using FK. "Inverse Kinematics", IK, is a standard way to solve this problem.
Here the software simulates how a chain of limbs would behave if one drags
the final element. Typically, one can set limits for the bending
angles.
Bones
-
Idea: Deform a complex object using a simple skeleton, similar to a skin
that is deformed by bones (hence: "skinning"). This is the standard method
to animate limbs such as arms and legs.
-
The bones of the skleleton are pseudo-objects. They are not visible in
the final rendering, but rather control the deformation of the skin (which
is
visible). The bones are animated, the skin follows.
-
Each bone knows its rest position and orientation and its current position
and orientation. The deformation of the skin depends on how and how far
the bone is moved from its rest position and orientation.
-
The skin must not tear open at joints. Thus, there has to be an elastic
connection between bones and skin ("soft skinning"). Around a joint, all
neighboring bones have to influence the skin. But how strongly?
-
Solution 1: Compute the influence of a bone onto a given vertex using the
distance of both. This, however, leads to effects such as the index finger
deforming the skin of the middle finger.
-
Solution 2 (the standard way): With every vertex store the data which bones
influence that vertex by which percentage. Typical 3D software offers painting
tools to define this. Demo with Maya and Cinema 4D.
-
Computation: For each bone we can compute a 4x4 matrix which transforms
the bone from its rest position and orientation ot its current position
and orientation. To deform a vertex of the skin, determine the new positions
of that vertex using every such matrix of the bones that influence this
vertex. Form the weighted average of the results, using the given influence
percentages as weights.
-
A similar feature of graphics cards is "Matrix Palette Skinning". The collection
of matrices is the matrix palette. Per vertex, one may for instance select
four entries of this palette plus corresponding percentages. Demo with
Managed DirectX.
Morphing
In order to animate a face, one typically stores several versions ("morph
targets", "blend shapes") of its geometry and blends them in different
percentages, storing only these percentage values as animation. Typical
morph targets are "visemes" (mouth shapes for particular sounds; compare
"phonemes") plus facial expressions such as similing, frowning, etc. Advantages:
much less memory comsumption than recording all vertices; much easier to
handle. Typcially, all morph targets have to have the same mesh structure,
differing only in the positions of the vertices. To blend several shapes,
form a weighted average vertex by vertex. The weights control the balance
of the shapes. Negative weights and weights in excess of 100 % are interesting,
though most 3D software doesn't offer them. Demo with Cinema 4D and Maya
Motion Capture ("MoCap")
-
Idea: Do not create keyframes and curves manually, but let the computer
record live action, possibly performed by a trained actor
-
Most kinds of motion capture technologies can also be used for real-time
control: "computer puppetry"
-
Technology:
-
Markers = retro-reflective balls. Example: Vicon
-
Current research: use only one camera and/or no markers
-
RF transmitters of RF receivers attached to the actor's body. Example:
Polhemus
-
Plused light, possibly infrared. Example: P5 data glove (position and orientation
of the hand)
-
Exoskeleton [Außenskelett]. Examples: P5 data glove (bending of the
fingers), Gypsy
-
Ultrasound
-
Accelerometers, Gyroscopes. Example: head tracker
-
Computer mouse, graphics tablet, etc.
-
Convert audio recordings to animated mouth shapes. Example: Caligari trueSpace
-
Some examples for professional-quality face-tracking
-
Stundent's project: "Latah" face-tracker
-
Standard file format for animated skeletons: Biovision BVH; now superseeded
by the much more general Kaydara FBX