Fundamentals of Computer Animation Motion Synthesis
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
Keyframe Example
Keyframing Fine level of control Quality of motion depends on skill of animator
Motion Capture Natural-looking motion Hard to generalize motions –Registration is difficult –“Weightless” according to professional animators
Motion Capture Microsoft Motion Capture Group
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
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
Motion Capture Recording the motion of an actual actor Optical Magnetic Mechanical
Recorded vs. Computer Generated Animation Recorded Animation –Modification (X) –Expensive hardware cost Computer Generated Animation –Modification (O) –Expensive computation cost
Motion capture The third animation method –First two: keyframing, physics-based Main idea: record motion from real world Advantage: realistic –By definition Disadvantage: realistic –Need for the motion to exist –Hard to modify
What is Motion Capture? Body SegmentJoint Axis Record Joint Orientation of each Frame
Stop Motion Generate joint angle by real model (Jurassic Park)
Mechanical Motion Capture Gypsy
Motion capture methods Electromagnetic –Position / orientation sensors are put on the object –Sensors transmit data directly Optical –Markers put on the object –Video sequence is shot –Video is processed to get the data In both cases, get position of some points on object surface –Maybe joint orientation as well
Magnetic Motion Capture Polhemus
Electromagnetic trackers Gives the data directly Specialized equipment –Can restrict motion –expensive Can’t have much metal in the room Real time systems –Can re-do the capture quickly
Optical Motion Capture Vicon MotionAnalysis
Optical motion capture More convenient for the user –No restriction in motion –Cheaper More complex processing –Image processing Identify markers –Computer vision techniques Get marker positions
Optical Motion Capture Hardware Calibration Frame CCD CameraCapture H/W
Optical Motion Capture Process Y Z X … Camera 1 Camera n Z Y X Camera calibration Capture Image acquisition Matching & tracking Post- processing
Position determination Take at least two images Camera position known for all of them –Other parameters (focal length, fov) too Identify projections of a 3D point in all images –Correspondence problem Most complex problem in vision Triangulation –3D point is on the intersection of two rays –Rays will not exactly intersect – find closest point
Marker identification Markers = brightly colored patches –Or small LED lights Need to distinguish Problems: –Image noise sufficiently different color markers –Occlusion Use more cameras Interpolate available
Fitting to the skeleton Got positions of skin points –Need positions of skeleton In the data: lengths change with time –Bone length is fixed Can’t use motion capture data directly Use extra geometry info or more markers –Problem: no orientation data For some joints, fit a plane first Use angles instead of absolute positions
Motion Capture Collect sensor data Triangulate optical data Read magnetic fields Read mechanical joints Fill in missing data Use IK (if necessary) to determine joint angles Apply the motion to your character
Motion Capture Advantages Realistic motion Characteristic motion Disadvantages Noisy Trackers may slip Hard to edit Motion capture allows real-time character control
Motion Capture (mocap) from an Animator's Perspective A new generation of gaming. Blocky low-polygon guy at 12 fps X highly detailed character running around at a blazing 60 fps. Motion capture does one thing and does it extremely well – and that is take the movements of a performer and put them in the computer. That’s it. You can capture pretty much anything you are able to stick the markers to; to the computer it’s just a bunch of dots moving through space.
What Motion Capture Cannot Do This is not to say that motion capture is ideal for every animation need, even for realistic animation. If your title calls for cartoony animation, motion capture is not your best option.
What Motion Capture Cannot Do And even if you need realistic motion, there is a good chance your game will need some elements that cannot be captured (swimming, suffering a serious injury, imaginary creature, …) Mocap is not a plug and play technique. You will need to workaround it’s shortcomings to effectively put the technology to use.
Motion Capture Advantages Realistic motion Characteristic motion Disadvantages Noisy Trackers may slip Hard to edit Motion capture allows real-time character control
Motion Editing From motion data, we may want to: Edit the motion Blend motions Concatenate motions Enforce constraints Inverse Kinematics can be used for constraints
Motion Warping Time Warping Reparameterize the time of the motion
Motion Warping Scale and Offset Alter the range of the motion
Motion Blending Concatenation/Blending Interpolate between motions
Verbs and Adverbs Interpolate example motions to create new motions (verbs) using parameters (adverbs) Tag example motions with adverbs Time warp motions into a canonical time frame
Verbs and Adverbs Adverbs: left-right, happy-sad, smart-clueless
Verbs and Adverbs Real-time interpolation offers interactive control Terrain slope HealthHealth
Displacement Curves Define small displacements Add them to the motion curve Can be added to arbitrary motions using a local frame representation
Motion Signal Processing Express the motion in frequency space Low frequencies – basic motion High frequencies – noise and emotion/signature High frequencies can be extracted and added to other base motions to personalize them Frequencies can be scaled/edited independently
Motion Signal Processing Blending can be done in frequency space Blending can be different for each frequency
Motion Retargeting Apply motion curves to a new character 1)Define constraints for the motion 2)Solve the constrained optimization for the displacement curve over the entire motion minimize subject to