230 likes | 682 Views
Computer Animation. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004. CSE169 (was 190B). Computer Animation Programming Instructor: Steve Rotenberg steve@graphics.ucsd.edu TA: Nick Gebbie Lecture: Center Hall 222 (TTh 6:30-7:50pm) Office: AP&M 3349A (TTh 5-6pm)
E N D
Computer Animation CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004
CSE169 (was 190B) • Computer Animation Programming • Instructor: Steve Rotenberg steve@graphics.ucsd.edu • TA: Nick Gebbie • Lecture: Center Hall 222 (TTh 6:30-7:50pm) • Office: AP&M 3349A (TTh 5-6pm) • Lab: AP&M 2444 • Web page: http://graphics.ucsd.edu/courses/cse169_w04/index.html
Prerequisites • CSE167 or equivalent introduction to computer graphics • Familiarity with: • Vectors (dot products, cross products…) • Matrices (4x4 homogeneous transformations) • Polygon rendering • Basic lighting (normals, Gouraud, Phong…) • OpenGL, Direct3D, Java3D, or equivalent • C++ or Java • Object oriented programming • Basic physics
Undergraduate Computer Graphics at UCSD • CSE 167: Introduction to Computer Graphics • CSE 168: Rendering Algorithms • CSE 169: Computer Animation
Reading • Papers • Chapters • Suggested books • 3D Computer Graphics: A Mathematical Introduction with OpenGL (Buss) • Advanced Animation and Rendering Techniques (Watt & Watt)
Angel Studios • Movies: • The Lawnmower Man • Enertopia (stereoscopic IMAX) • Videos: Peter Gabriel’s “Kiss That Frog” • Games: • Midnight Club 1 & 2 (PS2, XBox) • Transworld Surf (PS2, XBox, GameCube) • Smuggler’s Run 1 & 2 (PS2, XBox, GameCube) • Midtown Madness 1 & 2 (PC) • Savage Quest (Arcade) • Test Drive Offroad: Wide Open (PS2) • N64 version of Resident Evil 2 (N64) • Ken Griffey Jr.’s Slugfest (N64) • Major League Baseball Featuring Ken Griffey Jr. (N64) • Sold to Take Two Interactive (Rockstar) in November, 2002
Programming Projects • Project 1: Due Beginning of Week 3 • Skeleton Hierarchy: Load a .skel file and display a 3D pose-able skeleton • Project 2: Due Beginning of Week 5 • Skin: Load .skin file and attach to the skeleton • Project 3: Due Beginning of Week 7 • Animation: Load .anim file and play back a key-framed animation on the skeleton • Project 4: Due Beginning of Week 10 (Choose one of the following) • Cloth: Implement a simple cloth simulation • Fancy Particles: Implement a particle system with collision detection and some fancy forces • Locomotion & Inverse Kinematics: Implement an IK algorithm and use it to achieve a walking character • Rigid Bodies: Implement a simple rigid body system with collisions • Choose your own project (but talk to me first)
Grading • 15% Project 1 • 15% Project 2 • 15% Project 3 • 20% Project 4 • 15% Midterm • 20% Final
Course Outline • Introduction • Skeletons • Skinning • Keyframes • Facial Animation • Advanced Skinning & Facial Animation • Inverse Kinematics 1 • Inverse Kinematics 2 • Animation State Machines & Blending • Locomotion 1 • Locomotion 2 • Particle Systems • Collision Detection • Clothing & Hair Simulation • Rigid Bodies • Character Dynamics • Deformable Bodies & Advanced Physical Simulation • Behavioral Animation & Artificial Intelligence • Motion Capture • Demonstrations
Applications • Special Effects (Movies, TV) • Video Games • Virtual Reality • Simulation, Training, Military • Medical • Robotics, Animatronics • Visualization • Communication
Computer Animation • Physics (a.k.a. dynamics, simulation, mechanics) • Character animation • Artificial intelligence
Physics Simulation • Particles • Rigid bodies • Collisions, contact, stacking, rolling, sliding • Articulated bodies • Hinges, constraints • Deformable bodies (solid mechanics) • Elasticity, plasticity, viscosity • Fracture • Cloth • Fluid dynamics • Fluid flow (liquids & gasses) • Combustion (fire, smoke, explosions…) • Phase changes (melting, freezing, boiling…) • Vehicle dynamics • Cars, boats, airplanes, helicopters, motorcycles… • Character dynamics • Body motion, skin & muscle, hair, clothing
Character Animation • Animation • Motion playback • Keyframing • Blending, sequencing • Motion synthesis • Locomotion (walking, flying, swimming, slithering…) • Inverse kinematics • Procedural animation • Warping & retargetting • Physics (inverse dynamics, optimization…) • Motion input • Motion capture (& other motion input techniques) • Vision based capture • Rigging • Skeletons • Skin, face, & deformations • Visual properties (materials, lighting…) • Secondary motion (clothing, hair, fur…)
Artificial Intelligence • Behavioral animation • Background characters (flocks, herds, armies, crowds…) • Video game animation
Rigging • Rigging refers to the construction and setup of an animatable character, similar to the idea of building a puppet • A ‘rig’ has numerous degrees of freedom (DOFs) that can be used to control various properties • DOFs can represent things like the rotation of the elbow joint, the percentage that an eyelid is open, or any other ‘animatable’ property • The animation system specifies values for these DOFs over time, thus animating the rig • The rig can also have built in secondary animation such as hair and clothing • The difference between rigging & animation makes a nice conceptual separation, and is often reflected in the software architecture • The rigging system can encapsulate other systems such as the skeleton, skinning, facial expressions, clothing, and hair • The animation system can encapsulate systems such as playback, inverse kinematics, dynamics, locomotion, and motion synthesis
Animation Process while (not finished) { MoveEverything(); DrawEverything(); } • Interactive vs. Non-Interactive • Real Time vs. Non-Real Time
Frame Rates • Film 24 fps • Imax 48 fps • NTSC TV 30 fps (interlaced) • PAL TV 25 fps (interlaced) • HDTV 60 fps • Computer ~60 fps
Frame Rate Issues • Strobing, temporal aliasing • Motion blur • Interlacing • Double buffering (& tearing)
Animation Tools • Maya • 3D Studio • Lightwave • Filmbox • Blender • Many more…
Animation Production • Conceptual Design • Production Design • Modeling • Materials & Shaders • Rigging • Blocking • Animation • Lighting • Effects • Rendering • Post-Production
Principles of Animation • Squash and Stretch • Timing • Anticipation • Staging / Presentation • Follow Through / Overlapping Actions • Straight Ahead vs. Pose-to-Pose • Slow In and Out • Arcs • Exaggeration • Secondary Motion • Appeal