Principles of computer graphics animation
Christian Van Brussel – SPS ICTEAM/ELEN – February 2012 Overview
3D animation and 3D deformation tools Generating animations Combining animations Common animation problems Overview
3D animation and 3D deformation tools Generating animations Combining animations Common animation problems 3D Rendering
Render one frame: illumination model Set of frames: motion model The Human Eye VS. the Motion 3D Meshes
Defined by:
Vertices Triangles Textures and texture coordinates Normals Shaders and other material properties Animating a 3D Mesh
Three main categories of animation:
Frame by frame Key frames + interpolation Procedural Two main tools for the deformation:
Morphing Skeletal animation Morphing
Pose of a mesh:
3 P= p0 ,... , pn, pi ∈ℝ Morph targets (a.k.a. blend shapes):
MT j=P j−Pneutral Applying the morph targets: m P final=Pneutral∑ w j×MT j j=0 Skeletal Animation
Tree of bones:
B0 ,... , Bn
Transform of a given bone (neutral):
T Gi =T 0×...×T i−1
Transform of a given bone (posed):
T Gi=T 0×P0×...×T i−1×Pi−1 Representation of the rotations
Euler angles
+ understandable by humans
- not composable
- Gimbal lock Axis angle
+ understandable by humans
- not composable Matrix
+ composable
- not understandable by humans
- quite costly in memory and computation Representation of the rotations
Quaternion
+ composable
+ numerically stable
+ low memory
+ low computation costs
- really not understandable by humans Skeletal Animation: Skinning
Define bone influences per vertex Move each vertex depending on their bone influences Animating a 3D Mesh con't
Define animation channels:
Type: float, vector, quaternion, color,... Controls: bone, morph target, shader parameter,... Interpolator To be animated:
Key framed animation Procedural animation Overview
3D animation and 3D deformation tools Generating animations Combining animations Common animation problems Key Framed Animation
Key frames defined either:
by an artist or acquired through motion capture No possible interaction Procedural Animation
Generate new animations:
Noise Physical simulation Inverse Kinematics PCA … Combine animations The Perlin Noise
Coherent noise: smooth pseudorandom noise function Cfr. http://mrl.nyu.edu/~perlin/ Physical Simulation
Rigid bodies:
Colliders Mass, inertia, friction, elasticity,... Joints Soft bodies → Detect collisions + simulate application of forces Cfr. http://bulletphysics.org/ Dynamic Motion Controllers
Generate animations by applying forces on the physical model Inverse Kinematics Principal Component Analysis Overview
3D animation and 3D deformation tools Generating animations Combining animations Common animation problems Animation Blending Trees Graph V1: Finite State Machine Graph V2: Motion Graphs
Problems:
Frame distance metrics Identifying the set of animation sequences Building a well-balanced graph Finding a path to the required state Graph V3: Parametric Motion Graphs Graph V4: Motion Planning Overview
3D animation and 3D deformation tools Generating animations Combining animations Common animation problems Common Animation Problems
Other complex topics:
Path Finding Locomotion Grasping objects Crowd animation Common Animation Problems
Database management:
Motion edition tools Retargeting Motion storage and retrieval Motion classification Common Animation Problems
Motion capture data:
Noise filtering Positioning of the root of the skeleton Foot skating Keyframing and motion compression Open source toolbox: http://www.crystalspace3d.org/