Oct 16, Fall 2006IAT 4101 Animation Low-Level behaviors Overview Keyframing Motion Capture Simulation
Oct 16, Fall 2006IAT 4102 Low-Level Behaviors Keyframing Motion Capture Simulation
Oct 16, Fall 2006IAT 4103 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 16, Fall 2006IAT 4104 Keyframe Example
Oct 16, Fall 2006IAT 4105 Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 16, Fall 2006IAT 4106 Motion Capture Natural-looking motion Hard to generalize motions –Registration is difficult –“Weightless” according to professional animators
Oct 16, Fall 2006IAT 4107 Motion Capture Images courtesy Microsoft Motion Capture Group
Oct 16, Fall 2006IAT 4108 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 16, Fall 2006IAT 4109 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 16, Fall 2006IAT Keyframing
Oct 16, Fall 2006IAT Keyframing
Oct 16, Fall 2006IAT Keyframe Example
Oct 16, Fall 2006IAT Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 16, Fall 2006IAT Hand Drawn Animation -- 2D Sketches Pencil tests Inking Coloring Digitize to sprites
Oct 16, Fall 2006IAT Computer Animation: 2D or 3D Sketches Models and materials Key configurations Playback of motion or render to sprites
Oct 16, Fall 2006IAT Keyframing The development process: Adjust trajectory Playback motion Parameters: –Locations –Joint angles –Shape -- flexible objects –Material properties –Camera Motion –Lighting
Oct 16, Fall 2006IAT Keyframing Interpolation Inbetweening 1,2, ,8,9… Linear v 1,2, ,8,9… Slow in, Slow out v time
Oct 16, Fall 2006IAT Interpolation Example
Oct 16, Fall 2006IAT Key Frames
Oct 16, Fall 2006IAT Key Frames Timeline
Oct 16, Fall 2006IAT Inbetweening Frame dependent (“wrong”) slow-in/out –Iterate once per frame –This is a variant on the Infinite Impulse Response (IIR) filter:
Oct 16, Fall 2006IAT Inbetweening Frame-Independent (“right”) slow in/out –Compute acceleration a TimeT end Time of last frame
Oct 16, Fall 2006IAT Spline-driven Animation x x,y = Q(u) for u:[0,1] Equal arc lengths Equal spacing in u y
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Keyframing -- Constraints Joint limits Position limits Inverse kinematics
Oct 16, Fall 2006IAT Keyframing -- Constraints
Oct 16, Fall 2006IAT Coordinate Systems
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Inverse Kinematics
Oct 16, Fall 2006IAT Inverse Kinematics
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT 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 16, Fall 2006IAT 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 16, Fall 2006IAT Motion Capture Goals: –Realistic motion –Lots of different motions ( ) –Contact Appropriate game genres –Sports –Fighting –Human characters
Oct 16, Fall 2006IAT Applications Movies, TV Video games Performance animation
Oct 16, Fall 2006IAT 41036
Oct 16, Fall 2006IAT 41037
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Sensor Placement Place markers carefully –Capture enough information –Watch for marker movement Check data part way through shoot Videotape everything!
Oct 16, Fall 2006IAT 41040
Oct 16, Fall 2006IAT Technology Numerous technologies Record energy transfer –Light –Electromagnetism –Mechanical skeletons
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Technology Passive reflection --Acclaim, Motion Analysis –Automatically digitized –240Hz –Not real-time, Correspondence –3+ markers/body part –2+ cameras for 3D position data
Oct 16, Fall 2006IAT Technology Vicon Motion Systems –Retroreflective paint on reflectors –Lights on camera –Very high contrast markers
Oct 16, Fall 2006IAT Technology Active light sources -- Optotrak –Automatically digitized –256 markers –3500 marker/sec –Real-time –Specialized cameras
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Technology Exoskeleton + angle sensors –Analogous –Tethered –No identification problem –Realtime- 500Hz –No range limit- Fit –Rigid body approximation
Oct 16, Fall 2006IAT Technology Dataglove –Low accuracy –Focused resolution Monkey –High accuracy –High data rate –Not realistic motion –No paid actor Mechanical motion capture
Oct 16, Fall 2006IAT Technology Technology issues –Resolution/range of motion –Calibration –Accuracy –Occlusion/Correspondence
Oct 16, Fall 2006IAT Animation Issues Style Scaling Generalization
Oct 16, Fall 2006IAT Resolution Positioning of camera
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Calibration Finding Joint Locations –Move markers to joint centers Assume rigid links, rotary joints Shoulder?
Oct 16, Fall 2006IAT Calibration Extract best limb lengths Use estimator to compute limb length Minimize or reject outliers
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Accuracy Marker movement Noise in sensor readings Skew in measurement time Environment restrictions Frame rate –High frame rate allows good filtering
Oct 16, Fall 2006IAT Camera Calibration Internal camera parameters –Optical distortion of lens External parameters –Position and orientation Correlation between multiple cameras
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Scaling Animation Contact Movement style Inverse kinematics
Oct 16, Fall 2006IAT Generalizating Animation Interpolation Synthesis for Articulated Figure Motion Wiley and Hahn IEEE CG&A v17#6
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Motion Warping For each joint angle curve C(t) Cnew(t) = C(t) * A(t) + B(t) A(t) is usually a smooth, gentle curve
Oct 16, Fall 2006IAT Generalizating Animation Motion Editing With Spacetime Constraints –Michael Gleicher –1997 Symposium on Interactive 3D Graphics
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Simulation Modeling the real world with simple physics –Realism –A set of rules –Better interactivity Objects or Characters
Oct 16, Fall 2006IAT Passive -- No muscles or motors Active -- Internal source of energy
Oct 16, Fall 2006IAT Equations of Motion Water Explosions Rigid body models
Oct 16, Fall 2006IAT Control Systems Wide variety of behaviors Transitions between behaviors Controllable by AI or UI Robust
Oct 16, Fall 2006IAT Equations of Motion
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT Keyframing Fine level of control Quality of motion depends on skill of animator
Oct 16, Fall 2006IAT Motion Capture Natural-looking motion Hard to generalize motions –Registration is difficult Often seems “weightless” – Bill Kroyer, Rhythm & Hues
Oct 16, Fall 2006IAT 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 16, Fall 2006IAT 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 16, Fall 2006IAT 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