Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung |
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
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. The standard approach to solve this problem is called “Inverse Kinematics”, IK. Here, the software simulates how a chain of limbs would behave if one drags the final element. Typically, one can set angle limits for the joints.
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 skeleton 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. Demo with Cinema 4D.
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 Cinema 4D.
Computation: For each bone we can compute a 4x4 matrix which transforms the bone from its rest position and orientation of 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 and with XNA. There is a framework for XNA to directly load animated .x and .fbx models exported from 3D animation software.
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, software example; compare “phonemes”) plus facial expressions such as smiling, frowning, etc. Advantages: much less memory consumption than recording all vertices; much easier to handle. Typically, 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 exceeding 100 % are interesting, though most 3D software doesn’t offer them. Demo with Cinema 4D.
Idea: Do not create keyframes and curves manually, but let the computer record live action, possibly performed by a trained actor
Technology:
Markers = retro-reflective balls illuminated by strobed infrared light. Example: Vicon
Current research: use only one camera and/or no markers; there’s even one commercial solution that got rid of markers
RF transmitters or RF receivers attached to the actor’s body. Example: Polhemus
Exoskeleton [Außenskelett]. Example: MetaMotion Gypsy 5
Inertial sensors (accelerometers, gyroscopes) such as Moven or MetaMotion Gypsy Gyro
Computer mouse, graphics tablet, Wii Remote, etc.
Optical tracking can also be applied to capture facial motion 1 2
Standard file format for animated skeletons: Biovision BVH; now superseded by the much more general Kaydara/Alias/Autodesk FBX format
Carnegie Mellon University has a free MoCap database, which employs somewhat unusual formats, however.