Joshua Barczak CMSC 435 UMBC

Slides:



Advertisements
Similar presentations
Animation in Video Games presented by Jason Gregory
Advertisements

Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
1 Characters. 2Introduction The Characters are the Actors of the Games. The Characters are the Actors of the Games. Three Types of Characters : Three.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
1cs533d-winter-2005 Notes  Please read O'Brien and Hodgins, "Graphical modeling and animation of brittle fracture", SIGGRAPH '99 O'Brien, Bargteil and.
1cs533d-winter-2005 Computer Animation Robert Bridson (preview of CPSC 426)
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
1cs426-winter-2008 Notes. 2 Velocity fields  Velocity field could be a combination of pre-designed velocity elements E.g. explosions, vortices, …  Or.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Animation CMSC 435/634. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws frames between keys.
Characters.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Feature-length films: Games: Desktop Animations: Computer Animation.
Computer Graphics Bing-Yu Chen National Taiwan University.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Key Frame Animation and Inverse Kinematics
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
Animation CMSC 435/634 By Prof. Marc Olano. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws.
Hierarchical Modeling
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
CS 551/651 Advanced Graphics Technical Background.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Computer Graphics Chapter 12 Computer Animation.
Kinematics Intro :a branch of dynamics that deals with aspects of motion apart from considerations of mass and force Merriam-Webster.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
Feature-length films: Games: Desktop Animations:.
CGDD 4003 Character Animation. The Skeletal Hierarchy (aka the “rig”) Based on the concept of bones Each bone has exactly one parent Each bone has a transform.
Computer Graphics.
Computer Animation Algorithms and Techniques
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Computer Animation cgvr.korea.ac.kr.
Animator Help Session.
Bones Skeletal Unity-2D How & When
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Foundations of Visualization 10/25/2005 Notes
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
Animation Lecture 10 Slide 1.
Skeletons and Skinning
Computer Animation and Visualisation Lecture 4. Skinning
Chapter XIII Character Animation
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
(c) 2002 University of Wisconsin
Synthesis of Motion from Simple Animations
Computer Graphics Lecture 15.
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

Joshua Barczak CMSC 435 UMBC Animation Joshua Barczak CMSC 435 UMBC

Animation

Animation What’s really going on… Discrete frames Incremental change between frames Illusion of motion

Flip Books Hand drawn frames, packed into large texture N M 0,0 1,0 u = (u + (frame % N)) / N; v = (v + (frame / N)) / M; M 0,0 1,0 0,1 u v libgdx

Animation Traditional Animation Pipeline Lead animator draws “key” frames “In-betweener” draws frames between keys Key Key

Animation Computer Animation Pipeline Animator specifies “key frames” Computer interpolates Key Key

Animation

Keyframing We can key anything we want: Position Rotation Scale Color Texture coordinate Light intensity

Animation

Splines BoatDesign.net

Hermite Spline T0 P1 P0 T1

Piecewise Hermite Splines

Piecewise Hermite Splines Catmull-Rom spline Shared tangents are vectors between neighbor points C1 continuous Endpoint interpolating

Kochanek-Bartels Curves Use different tangents in each segment Artistic control TCB Tension Continuity Bias All zero: Catmull-Rom curve See book, pg 420

Tension T=-1 T=0 T=1 How close it is to a straight line

Create local discontinuities Continuity C=-2 C=0 C=1 Create local discontinuities

Overshoot/Undershoot Bias B=-1 B=0 B=1 Overshoot/Undershoot

Animated Rotation Euler angles Easy to set Doesn’t animate well Rotations about independent axes Yaw/Pitch/Roll Easy to set Doesn’t animate well Gimbal lock Quaternion interpolation used instead Wikipedia

Quaternions Alternate representation for rotations Rotation 2a radians around axis N: Q=[sin(a)N, cos(a)] Convertible to/from rotation matrix Much more compact Stable interpolation

Ancient DirectX SDK sample Vertex Blending Interpolate between meshes Same topology Different vertex positions Models as keyframes Ancient DirectX SDK sample

Ancient DirectX SDK sample Vertex Blending Issues Ease of authoring Difficult to tweak the animation Data size Ancient DirectX SDK sample

Skeletal Animation Skeleton: Hierarchy of joints (bones) Deform a mesh (skin) based on joint rotation Okino.com

Hierarchical Model Torso Head Left Shoulder Hips Upper Arm Lower Arm Hand Hips Left Upper Leg Lower Leg Foot

Forward Kinematics Given a set of joint transforms, where’s the hand? (or foot or head or …) End effector Just apply nested transforms We know how to do that!

FK Example Location of hand: Construct hand to world transform: Head Hand_to_elbow * Elbow_to_shoulder * Shoulder_to_head * head_to_world Hand Shoulder Elbow

Inverse Kinematics Given desired effector position, find joint angles Common Examples: Foot placement Pointing/Grasping Constrained optimization Preserve limb length Arms doesn’t bend that way

Skeletal Animation Motion Capture Track markers on actor Infer joint locations from markers Often significant manual cleanup Kevin Durant at Electronic Arts Motion Capture Studio - AP / Richard Lam

Skinning Model authored in “rest pose” Mesh vertices “bound” to skeletal joints Single joint (rigid) Multiple joints (weighted blend) Okino.com

Skinning For each bone, store: For each vertex: Bind matrix Bone to world transform for rest pose (B) Animation curves Relative to rest pose Parent bone For each vertex: Bone indices and weights Okino.com

Skinning Skinning a vertex Transform into “bind space” Apply an animated offset Transform result up the tree

Skinning // Sample animated bone offsets for( bones ) M[i] = Li(time) // compute new bone->world transforms for( pre-order traversal of skeleton ) M[i] = M[parent[i]] * M[i]; // apply inverse bind matrix M[i] = M[i] * Binv[i]; // Each vertex has position p, weights w[] and bone indices idx[] for( vertices i ) for( bones influences j ) position += w[j]*M[idx[j]]*p

Blend Shapes Commonly used for faces Sculpt key poses Expressions Phonemes Animate pose weights Curve per shape Maya Documentation

Freeform Deformation Define regular grid Move grid points Moves objects Lattice defines a “bezier volume” Sederberg and Parry, 1986

Physics Based Animation Simulate physics to predict motion Starting point for hand animation Things too large/difficult to hand animate In general, must be: Stable Not too slow Art-directible

Simulation Rigid Bodies Simulate physics Detect collisions and apply “penalty forces” Typically: Linear/Angular velocity Discrete time steps Discrete/Continuous collision detection

Simulation Cloth Mass-spring simulations Cloth/Cloth and cloth/object collision response Brad Werth Bridson et al. Robust Treatment of Collisions, Contact and Friction for Cloth Animation

Alliez et al. Variational Tetrahedral Meshing Simulation Soft-Bodies Tetrahedral mesh models Approaches Mass-spring Conserve edge lengths Finite element Conserve volume Alliez et al. Variational Tetrahedral Meshing Irving et al. Volume Conserving Finite Element Simulations of Deformable Models

Simulation Hair Simulate a subset of the hairs Guide hairs Interpolate dense hair model from neighboring guide hairs Direct rendering Millions of anti-aliased lines Chang et al. 2002 Pixar

Coupling Water and Smoke to Thin Deformable and Rigid Shells Simulation Fluid Simulation Grid-based Simulate velocity field on discrete grid Particle based Move particles directly Fluid Rendering Level set surface Guendelman et al. Coupling Water and Smoke to Thin Deformable and Rigid Shells

Simulation Crowds Agent based Continuum based Use AI techniques Emmergent behavior Continuum based Dynamic vector field Congestion/hazards Crowd members as particles Treuille et al. Continuum Crowds