780 likes | 1.43k Views
Animation Low-Level behaviors Overview Keyframing Motion Capture Simulation Low-Level Behaviors Keyframing Motion Capture Simulation Generating Motion What matters? Quality of motion appropriate for rendering style and frame rate Controllable from UI Controllable from AI
E N D
Animation Low-Level behaviors Overview Keyframing Motion Capture Simulation CS4455
Low-Level Behaviors • Keyframing • Motion Capture • Simulation CS 4455
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 CS 4455
Keyframe Example CS 4455
Keyframing • Fine level of control • Quality of motion depends on skill of animator CS 4455
Motion Capture • Natural-looking motion • Hard to generalize motions • Registration is difficult • “Weightless” according to professional animators CS 4455
Motion CaptureImages courtesy Microsoft Motion Capture Group CS 4455
Simulation (Broadly Defined) • Physics is hard to simulate • Pseudo-physics is somewhat hard • Control is very hard • Gives Generalization + Interactivity Desired Behavior Forces and Torques Model Numerical Integrator User/AI Control State Graphics CS 4455
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 CS 4455
Keyframing CS 4455
Keyframing CS 4455
Keyframe Example CS 4455
Keyframing • Fine level of control • Quality of motion depends on skill of animator CS 4455
Hand Drawn Animation -- 2D • Sketches • Pencil tests • Inking • Coloring • Digitize to sprites CS 4455
Computer Animation: 2D or 3D • Sketches • Models and materials • Key configurations • Playback of motion or render to sprites Improv Ken Perlin, NYU CS 4455
The development process: Adjust trajectory Playback motion Parameters: Locations Joint angles Shape -- flexible objects Material properties Camera Motion Lighting Keyframing CS 4455
Keyframing Interpolation • Inbetweening v 1,2,3 4 5 6 7,8,9… Linear time v 1,2,3 4 5 6 7,8,9… Slow in, Slow out time CS 4455
Interpolation Example CS 4455
Key Frames 1 2 3 CS 4455
Key Frames • Timeline • 1 2 3 3 1 CS 4455
Inbetweening • Frame dependent (“wrong”) slow-in/out • Iterate once per frame • This is a variant on the Infinite Impulse Response (IIR) filter: CS 4455
Inbetweening • Frame-Independent (“right”) slow in/out • Compute acceleration a Time of last frame Time Tend CS 4455
Spline-driven Animation y x,y = Q(u) for u:[0,1] • Equal arc lengths • Equal spacing in u x CS 4455
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) CS 4455
Keyframing -- Constraints • Joint limits • Position limits • Inverse kinematics CS 4455
Keyframing -- Constraints CS 4455
Coordinate Systems CS 4455
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 CS 4455
Inverse Kinematics CS 4455
Inverse Kinematics CS 4455
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 CS 4455
IK Difficulties • Singularities • Equations are ill-conditioned near singularities • High state-space velocities for low Cartesian velocities • Goal of “Natural Looking” motion • Minimize jerk (4th derivative) CS 4455
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 CS 4455
Motion Capture • Goals: • Realistic motion • Lots of different motions (300-1000) • Contact • Appropriate game genres • Sports • Fighting • Human characters CS 4455
Applications Movies, TV Video games Performance animation CS 4455
Plan out Shoots Carefully • Know needed actions (80-100 takes/day) • Bridges between actions • Speed of actions • Starting/ending positions • Hire the right actor • Watch for idiosyncrasies in motion • Good match in proportions CS 4455
Sensor Placement • Place markers carefully • Capture enough information • Watch for marker movement • Check data part way through shoot • Videotape everything! CS 4455
Technology • Numerous technologies • Record energy transfer • Light • Electromagnetism • Mechanical skeletons CS 4455
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 CS 4455
Technology • Passive reflection --Acclaim, Motion Analysis • Automatically digitized • 240Hz • Not real-time, Correspondence • 3+ markers/body part • 2+ cameras for 3D position data CS 4455
Technology • Vicon Motion Systems • Retroreflective paint on reflectors • Lights on camera • Very high contrast markers CS 4455
Technology • Active light sources -- Optotrak • Automatically digitized • 256 markers • 3500 marker/sec • Real-time • Specialized cameras CS 4455
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 • 6DOF Realtime • 30-144 Hz 13-18 markers CS 4455
Technology • Exoskeleton + angle sensors • Analogous • Tethered • No identification problem • Realtime - 500Hz • No range limit - Fit • Rigid body approximation CS 4455
Dataglove Low accuracy Focused resolution Monkey High accuracy High data rate Not realistic motion No paid actor Technology Mechanical motion capture CS 4455
Technology • Technology issues • Resolution/range of motion • Calibration • Accuracy • Occlusion/Correspondence CS 4455
Animation Issues • Style • Scaling • Generalization CS 4455