CS4496 Computer Animation Instructor: C. Karen Liu
Karen Liu Associate Professor at School of Interactive Computing
Karen Liu Associate Professor at School of Interactive Computing
Our TA: John Turner
Administrations ✦ http://www.cc.gatech.edu/classes/AY2015/cs4496_spring/ � ✦ Course slides and projects are online. � ✦ No textbook, but there will be online reading materials. � ✦ Office hours: Mon 12-00-1:00, TSRB 230A. � ✦ TA office hours: Wed 12:30-2:30, COC at the tables.
My goals ✦ Give you an overview of computer animation with an emphasis on physics-based animation and character animation. � ✦ Teach you how to be a good engineer who also understands art. � ✦ Inspire some of you to do research in computer animation.
You will learn how to… ✦ Interpolate keyframes using different families of splines. � ✦ Simulate particles, rigid bodies, articulated rigid bodies, deformable objects, fluids, cloth. � ✦ Numerically integrate an ODEs � ✦ Implement constrained systems, collision detection and handling, inverse kinematics, and grid-based fluid solvers. � ✦ Synthesize animal locomotion, hand manipulation, facial animation, skin/muscle deformation.
You will not learn… ✦ How to use commercial animation tools such as Maya (maybe a little bit). � ✦ How to use game engines such as Unity. � ✦ How to render high quality animation.
Prerequisites ✦ Thorough understanding of linear algebra. � ✦ Vector calculus. � ✦ A good working knowledge of C and C++ programming.
Grading ✦ Reading assignments (0%) � ✦ Six projects (75%) � ✦ Final exam (25%)
Projects ✦ Project 1: Splines. � ✦ Project 2: Gallio’s experiment. � ✦ Project 3: Tinkertoy � ✦ Project 4: Rigid body smoothie. � ✦ Project 5: Fun with fluids. � ✦ Project 6: Twister. � ✦ Late policy: 20% reduction per day if you don’t have a good reason. � ✦ Everything has to be turned in before 10 am on the due date.
Quiz ✦ Quiz will be given and discussed in class from time to time. � ✦ For every topic, expect 2-4 problems.
Quiz ✦ Given two vectors, a = (3, 0, 1) and b = (-2, 5, 2), � ✦ What is the dot product of a and b? � ✦ What is the cross product of a and b? � ✦ What is the norm of a? � ✦ What is the angle between a and b? � ✦ What is the projection of a on b?
Quiz ✦ Given three n by n matrices A, B, and C � ✦ Is AB = BA true? � ✦ Is A(BC) = (AB)C true? � ✦ Is (AB) T = A T B T true? � ✦ Does A -1 always exist? � ✦ What is the rank of A?
About Maya ✦ You need to bring a laptop with Maya installed next Wednesday. � ✦ No prior knowledge in Maya is required. � ✦ Simple Maya tutorial to help you start. � ✦ http://students.autodesk.com.
About DART ✦ A simulation framework you will use to build your projects on. � ✦ Skeleton code is provided for each project so you don’t need to start from scratch. � ✦ Everything is written in C++ � ✦ Source code is available on Github.
Introduction ✦ Keyframe animation � ✦ Physics simulation. � ✦ Character animation.
Traditional animation ✦ Film runs at 24 frames per sec; that is, 1440 pictures to draw in one minute. � ✦ Artistic vision has to be converted into a sequence of still “keyframes”. � ✦ Hard to draw consistent “in-between” frames. � ✦ Not enough to get the still right; must to look right at full speed.
Computer assisted animation ✦ Generate the images by rendering a 3D model. � ✦ Manually set the parameters for each keyframe. � ✦ Automatically interpolate between two drawings to produce inbetweens.
Did it really get better? Pencil and paper Computer Do computers really expedite the process of creating animation?
What can’t be done by keyframes?
Introduction ✦ Keyframe animation � ✦ Physics simulation. � ✦ Character animation.
Physics simulation ✦ An algorithm that produces a sequence of states over time under the laws of physics. � ✦ What is a state?
Simulation x i x i +1 x i x i +1 = x i + ∆ x ∆ x
Simulation x i Newtonian laws gravity x i +1 wind gust x i elastic force… integrator x i +1 = x i + ∆ x ∆ x
Ordinary differential equations An ODE is an equation involving a function and its derivatives. known function x ( t ) = f ( x ( t )) ˙ time derivative of the unknown function that unknown function evaluates the state given time F = ma
Quiz ✦ What function does the black box represent? 1. x 2. ˙ x f 3.
Solving ODE ✦ Standard introductory differential equation courses focus on finding solutions analytically. � ✦ Linear ODEs can be solved by integral transforms. � ✦ We will learn how to solve an ODE numerically in this class.
Rigid bodies
Rigid bodies
Articulated rigid bodies
Deformable bodies
Deformable bodies
Plastic materials
Fluids
Fluids
Fluids
Fluids
Cloth
Cloth
Fluids + Solids
Fluids + Cloth
Melted
Drowned
Immolated
Waterboarded
Skewered
Crushed
Mutilated
Introduction ✦ Keyframe animation � ✦ Physics simulation. � ✦ Character animation.
Control rigid bodies Popovic et al, 2001
Control rigid bodies
Control rigid bodies
Control fluids
Control fluids
Control virtual humans
Why is this hard? ✦ Human musculoskeletal system has a large number of degrees of freedom and nonlinear dynamics � ✦ The control mechanism must be robust to operate in complex world. � ✦ No qualitative ways to measure “Naturalness”
Human motion
Without control
Why is this hard? ✦ Human musculoskeletal system has a large number of degrees of freedom and nonlinear dynamics � ✦ The control mechanism must be robust to operate in complex world. � ✦ No qualitative ways to measure “Naturalness”
Complex animals movements
Simulation x i Newtonian laws gravity x i +1 wind gust x i elastic force… integrator x i +1 = x i + ∆ x ∆ x
Simulation x i Newtonian laws gravity x i +1 wind gust elastic force… integrator ∆ x
Simulation + Control x i Newtonian laws gravity x i +1 contact force muscle force… integrator ∆ x
Physics approach
Physics approach
Physics approach
Why is this hard? ✦ Human musculoskeletal system has a large number of degrees of freedom and nonlinear dynamics � ✦ The control mechanism must be robust to operate in complex world. � ✦ No qualitative ways to measure “Naturalness”
Data-driven approach ✦ Use captured data to synthesize and interpolate new motions. � ✦ Preserve detailed nuances of human movements in the real world. � ✦ Produce stable and compelling animations in real-time.
Motion capture ✦ Many different approaches. Our lab has an optical based system. � ✦ Multiple infrared cameras. � ✦ High temporal resolution (1000+ fps). � ✦ Detect the locations of reflective markers.
Raw data from mocap ✦ Capture 3D positions of the markers. � ✦ Require inverse kinematics post-processing to produce animation represented as joint angle trajectories.
Final motion
Skinning
Facial animation
Recommend
More recommend