Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog
3D Animation
-
C# Programming: Unlike classes, structs like Vector3
and Matrix are handled as values, not through references. (This
does not have much to do with the distinction between struct
and class in C++.)
-
Keyframes, Function Curves
-
Define parameter values manually at selected points in time (keyframes);
let the software interpolate the values at all remaining times ("inbetweening",
"tweening")
-
Use: translation, rotation, scaling, object parameters, light paramters,
material parameters, ...
-
Control of ease-in/ease-out through spline-like curves (Demo: function
curve editor of Cinema 4D)
-
Hierarchical Animation
-
Organize a to-be-animated object as a tree-like hierarchy of nodes organized
in a parent-child relationship. A node may or may not carry geometry. A
motion of a node (e.g., upper arm) influences all the nodes below it (e.g.,
lower arm, hand, fingers). (Demo in Cinema 4D and Maya)
-
Forward Kinematics: To set a pose for keyframe animation, adjust the object
starting with the top-level nodes, working downward.
-
Inverse Kinemantics: To set a pose for keyframe animation, pull a final
node ("end effector"); the software has to compute the new positions and
orientations of the nodes. This process may also be used directly for animation:
Animate the "goal" of the end effector. (Demo in Cinema 4D)
-
Rotations cannot be interpolated easily
-
Translations and scalings can easily be blended between keyframes, but
rotations cannot, at least if one uses xyz angles to do the blending: The
object does not rotate smoothly due to the non-commutativity of rotations.
(Demo)
-
This defect can be overcome with other descriptions of rotations, for instance
unit quaternions.