Oct 3, Fall 2005 Game Design 1 Animation Low-Level behaviors Overview Keyframing Motion Capture Simulation
Oct 3, Fall 2005Game Design2 Low-Level Behaviors Keyframing Motion Capture Simulation
Oct 3, Fall 2005Game Design3 Generating Motion What matters? –Quality of motion appropriate for rendering style and frame rate –Controllable from UI –Controllable from AI –Personality of the animated character
Oct 3, Fall 2005Game Design4 Keyframe Example
Oct 3, Fall 2005Game Design5 Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 3, Fall 2005Game Design6 Motion Capture Natural-looking motion Hard to generalize motions –Registration is difficult –“Weightless” according to professional animators
Oct 3, Fall 2005Game Design7 Motion Capture Images courtesy Microsoft Motion Capture Group
Oct 3, Fall 2005Game Design8 Simulation (Broadly Defined) Physics is hard to simulate Pseudo-physics is somewhat hard Control is very hard Gives Generalization + Interactivity User/ AI Desired Behavior Control Forces and Torques Model Numerical Integrator Graphics State
Oct 3, Fall 2005Game Design9 When to Use What Method? Keyframing –Sprites and other simple animations –Non-human characters –Coarse collision detection Motion Capture –Human figures –Subtle motions, long motions Simulation –Passive simulations –When interactivity w/ motion is important
Oct 3, Fall 2005Game Design10 Keyframing
Oct 3, Fall 2005Game Design11 Keyframing
Oct 3, Fall 2005Game Design12 Keyframe Example
Oct 3, Fall 2005Game Design13 Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 3, Fall 2005Game Design14 Hand Drawn Animation -- 2D Sketches Pencil tests Inking Coloring Digitize to sprites
Oct 3, Fall 2005Game Design15 Computer Animation: 2D or 3D Sketches Models and materials Key configurations Playback of motion or render to sprites
Oct 3, Fall 2005Game Design16 Keyframing The development process: Adjust trajectory Playback motion Parameters: –Locations –Joint angles –Shape -- flexible objects –Material properties –Camera Motion –Lighting
Oct 3, Fall 2005Game Design17 Keyframing Interpolation Inbetweening 1,2, ,8,9… Linear v 1,2, ,8,9… Slow in, Slow out v time
Oct 3, Fall 2005Game Design18 Interpolation Example
Oct 3, Fall 2005Game Design19 Key Frames
Oct 3, Fall 2005Game Design20 Key Frames Timeline
Oct 3, Fall 2005Game Design21 Inbetweening Frame dependent (“wrong”) slow-in/out –Iterate once per frame –This is a variant on the Infinite Impulse Response (IIR) filter:
Oct 3, Fall 2005Game Design22 Inbetweening Frame-Independent (“right”) slow in/out –Compute acceleration a TimeT end Time of last frame
Oct 3, Fall 2005Game Design23 Spline-driven Animation x x,y = Q(u) for u:[0,1] Equal arc lengths Equal spacing in u y
Oct 3, Fall 2005Game Design24 Reparameterize Arc Length S= A(u) = arc length Reparam: Find: Bisection search for a value of u where A(u) = S with a numerical evaluation of A(u) (Details in Watt & Watt)
Oct 3, Fall 2005Game Design25 Keyframing -- Constraints Joint limits Position limits Inverse kinematics
Oct 3, Fall 2005Game Design26 Keyframing -- Constraints
Oct 3, Fall 2005Game Design27 Coordinate Systems
Oct 3, Fall 2005Game Design28 Kinematics The study of motion without regard to the forces that cause it Draw graphics Specify fewer Degrees Of Freedom (DOF) More intuitive control of DOF Pull on hand Glue feet to ground
Oct 3, Fall 2005Game Design29 Inverse Kinematics
Oct 3, Fall 2005Game Design30 Inverse Kinematics
Oct 3, Fall 2005Game Design31 What makes IK Hard? Many DOF -- non-linear transcendental equations Redundancies –Choose a solution that is “closest” to the current configuration –Move outermost links the most –Energy minimization –Minimum time
Oct 3, Fall 2005Game Design32 IK Difficulties Singularities –Equations are ill-conditioned near singularities –High state-space velocities for low Cartesian velocities Goal of “Natural Looking” motion –Minimize jerk (3rd derivative)
Oct 3, Fall 2005Game Design33 Motion Capture What do we need to know? –X, Y, Z –Roll, Pitch, Yaw Errors cause –Joints to come apart –Links grow/shrink –Bad contact points Sampling Rate and Accuracy
Oct 3, Fall 2005Game Design34 Motion Capture Goals: –Realistic motion –Lots of different motions ( ) –Contact Appropriate game genres –Sports –Fighting –Human characters
Oct 3, Fall 2005Game Design35 Applications Movies, TV Video games Performance animation
Oct 3, Fall 2005Game Design36
Oct 3, Fall 2005Game Design37
Oct 3, Fall 2005Game Design38 Plan out Shoots Carefully Know needed actions ( takes/day) –Bridges between actions –Speed of actions –Starting/ending positions Hire the right actor –Watch for idiosyncrasies in motion –Good match in proportions
Oct 3, Fall 2005Game Design39 Sensor Placement Place markers carefully –Capture enough information –Watch for marker movement Check data part way through shoot Videotape everything!
Oct 3, Fall 2005Game Design40
Oct 3, Fall 2005Game Design41 Technology Numerous technologies Record energy transfer –Light –Electromagnetism –Mechanical skeletons
Oct 3, Fall 2005Game Design42 Technology Passive reflection – Peak Performance Tech –Hand or semi-automatically digitized –Video –Time consuming Issues –No glossy or reflective materials –Tight clothing –Marker occlusion by props +High frames/sec
Oct 3, Fall 2005Game Design43 Technology Passive reflection --Acclaim, Motion Analysis –Automatically digitized –240Hz –Not real-time, Correspondence –3+ markers/body part –2+ cameras for 3D position data
Oct 3, Fall 2005Game Design44 Technology Vicon Motion Systems –Retroreflective paint on reflectors –Lights on camera –Very high contrast markers
Oct 3, Fall 2005Game Design45 Technology Active light sources -- Optotrak –Automatically digitized –256 markers –3500 marker/sec –Real-time –Specialized cameras
Oct 3, Fall 2005Game Design46 Technology Electromagnetic Transducers –Ascension Flock of Birds, etc –Polhemus Fastrak, etc Limited range/resolution –Tethered (cables to box) –Metal in environment (treadmill, Rebar!) –No identification problem –6DOFRealtime – Hz13-18 markers
Oct 3, Fall 2005Game Design47 Technology Exoskeleton + angle sensors –Analogous –Tethered –No identification problem –Realtime- 500Hz –No range limit- Fit –Rigid body approximation
Oct 3, Fall 2005Game Design48 Technology Dataglove –Low accuracy –Focused resolution Monkey –High accuracy –High data rate –Not realistic motion –No paid actor Mechanical motion capture
Oct 3, Fall 2005Game Design49 Technology Technology issues –Resolution/range of motion –Calibration –Accuracy –Occlusion/Correspondence
Oct 3, Fall 2005Game Design50 Animation Issues Style Scaling Generalization
Oct 3, Fall 2005Game Design51 Resolution Positioning of camera
Oct 3, Fall 2005Game Design52 Markers, Calibration Marker Placement –Location should move rigidly with joint –Stay away from bulging muscles, loose skin –Shoulders: Skeletal motion not closely tied to skin motion Calibration –Zero position –Fine calibration by hand
Oct 3, Fall 2005Game Design53 Calibration Finding Joint Locations –Move markers to joint centers Assume rigid links, rotary joints Shoulder?
Oct 3, Fall 2005Game Design54 Calibration Extract best limb lengths Use estimator to compute limb length Minimize or reject outliers
Oct 3, Fall 2005Game Design55 Calibration Example estimator: –508 frames of walking –6 bad frames –Collarbone to shoulder: Hand editing: 13.3cm Estimator: 13.2cm Arithmetic mean: 14.1cm
Oct 3, Fall 2005Game Design56 Accuracy Marker movement Noise in sensor readings Skew in measurement time Environment restrictions Frame rate –High frame rate allows good filtering
Oct 3, Fall 2005Game Design57 Camera Calibration Internal camera parameters –Optical distortion of lens External parameters –Position and orientation Correlation between multiple cameras
Oct 3, Fall 2005Game Design58 Model-Based Techniques Restricted search space for markers Dynamics (velocity integration) –No infinite accelerations Model of behavior Model of bodies of occlusion –Objects don’t pass through each other
Oct 3, Fall 2005Game Design59 Scaling Animation Contact Movement style Inverse kinematics
Oct 3, Fall 2005Game Design60 Generalizating Animation Interpolation Synthesis for Articulated Figure Motion Wiley and Hahn IEEE CG&A v17#6
Oct 3, Fall 2005Game Design61 Generalizating Animation Keyframes as constraints in a smooth deformation –Create functions by hand that warp the joint angle curves through time Keyframe placing the ball on the racket at impact Motion Warping Witkin and Popovic, SIGGRAPH’95
Oct 3, Fall 2005Game Design62 Generalizating Animation Motion Editing With Spacetime Constraints –Michael Gleicher –1997 Symposium on Interactive 3D Graphics
Oct 3, Fall 2005Game Design63 Blending Animations Efficient Generation of Motion Transitions Using Spacetime Constraints –Rose, Guenter, Bodenheimer, Cohen –Siggraph ’96 –Uses dynamics to compute plausible paths –Blends these paths
Oct 3, Fall 2005Game Design64 Simulation Modeling the real world with simple physics –Realism –A set of rules –Better interactivity Objects or Characters
Oct 3, Fall 2005Game Design65 Passive -- No muscles or motors Active -- Internal source of energy
Oct 3, Fall 2005Game Design66 Equations of Motion Water Explosions Rigid body models
Oct 3, Fall 2005Game Design67 Control Systems Wide variety of behaviors Transitions between behaviors Controllable by AI or UI Robust
Oct 3, Fall 2005Game Design68 Equations of Motion
Oct 3, Fall 2005Game Design69 Generating Motion What matters? –Quality of motion appropriate for rendering style and frame rate –Controllable from UI –Controllable from AI –Skills of the animated character –Personality of the animated character
Oct 3, Fall 2005Game Design70 Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 3, Fall 2005Game Design71 Motion Capture Natural-looking motion Hard to generalize motions –Registration is difficult Often seems “weightless” – Bill Kroyer, Rhythm & Hues
Oct 3, Fall 2005Game Design72 Simulation (Broadly Defined) Physics is hard to simulate Pseudo-physics is somewhat hard Control is very hard Gives Generalization + Interactivity User/ AI Desired Behavior Control Forces and Torques Model Numerical Integrator Graphics State
Oct 3, Fall 2005Game Design73 When to Use What Method? Keyframing –Sprites and other simple animations –Non-human characters –Coarse collision detection Motion Capture –Human figures –Subtle motions, long motions Simulation –Passive simulations –When interactivity w/ motion is important
Oct 3, Fall 2005Game Design74 Integration of Technologies Layering –Add hand/finger motion later –Facial animation Use keyframing to modify data –Fix holes in data Use motion capture to drive simulation