Principles of Computer Graphics Animation
Total Page:16
File Type:pdf, Size:1020Kb
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/.