Animation, Motion Capture, & Inverse Kinematics Last Time? Today
Total Page:16
File Type:pdf, Size:1020Kb
Last Time? • Navier-Stokes Equations Animation, Motion Capture, • Conservation of & Inverse Kinematics Momentum & Mass • Incompressible Flow Today Keyframing • How do we animate? • Use spline curves to automate the in betweening – Keyframing – Good control – Less tedious than drawing every frame – Procedural Animation • Creating a good animation still requires considerable – Physically-Based Animation skill and talent – Motion Capture – Forward and Inverse Kinematics • Rigid Body Dynamics • Finite Element Method ACM © 1987 “Principles of traditional animation applied to 3D computer animation” Procedural Animation Physically-Based Animation • Describes the motion algorithmically, • Assign physical properties to objects as a function of small number of (masses, forces, inertial properties) parameters • Example: a clock with second, minute • Simulate physics by solving equations and hour hands • Realistic but difficult to control – express the clock motions in terms of a “seconds” variable – the clock is animated by varying the seconds parameter g • Example: A bouncing ball -kt – Abs(sin(ωt+θ0))*e “Interactive Manipulation of Rigid Body Simulations” SIGGRAPH 2000, Popović, Seitz, Erdmann, Popović & Witkin 1 Motion Capture Today • Optical markers, high-speed • How do we animate? cameras, triangulation – Keyframing → 3D position – Procedural Animation • Captures style, subtle nuances – Physically-Based Animation and realism at high-resolution – Motion Capture • You must observe someone do something – Forward and • Difficult (or impossible?) to edit mo-cap data Inverse Kinematics • Rigid Body Dynamics • Finite Element Method Articulated Models Skeleton Hierarchy • Articulated models: • Each bone transformation – rigid parts described relative – connected by joints to the parent in hips the hierarchy: • They can be animated by specifying the joint left-leg ... angles as functions of time. r-thigh r-calf y vs x r-foot z Forward Kinematics Inverse Kinematics (IK) • Given skeleton • Given the position of the parameters p, effecter in local coordinates Vs and the position and the desired position Vw of the effecter in in world coordinates, what local coordinates V , s are the skeleton parameters p? what is the position y • Much harder requires solving of the effector in the vs v x world coordinates Vw? s the inverse of the non-linear Vs z function: Vw Vw = T(xh,yh,zh)R(qh,fh,sh)ThR(qt,ft,st)TtR(qc)TcR(qf,ff)Vs Vw = S(p)Vs find p such that S(p)Vs = Vw 2 Under-/Over- Constrained IK Searching Configuration Space No solutions • Application: Robot pose space shaded by distance to target Motion Planning Many solutions Two solutions (2D) • Use gradient descent One solution to walk from starting configuration to target • Angle restrictions & collisions can introduce local minima “The good-looking textured light-sourced bouncy fun smart and stretchy page” “The good-looking textured light-sourced bouncy fun smart and stretchy page” Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik.htm Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik2.htm IK Challenge How do they Animate Movies/Games? • Find a “natural” skeleton configuration for a • Still use some keyframing given collection of pose constraints • Articulated figures, inverse kinematics, motion capture, crowd simulation • A vector constraint function C(p) = 0 • Skinning collects all pose constraints – Complex deformable skin, muscle, skin motion • A scalar objective function g(p) measures the • Hierarchical controls quality of a pose, g(p) is minimum for most – Smile control, eye blinking, etc. – Keyframes for these higher-level controls natural poses. Example g(p): • A huge time is spent building the 3D models, – deviation from natural pose its skeleton and its controls – joint stiffness • Physical simulation for secondary motion Force: Newton (N) = kg * m / s2 – Hair, cloth, water, smoke, etc. – power consumption Work: Joule (J) = N*m = kg * m2 / s2 2 3 Power: Watt (W) = J/s = kg * m / s Images from the Maya tutorial Questions? Reading for Today: • “Real-Time Hand-Tracking with a Color Glove” SIGGRAPH 2009, Wang & Popović 3 “Synthesis of Complex Dynamic Character Motion from Simple Animation”, Liu & Popović, 2002. What’s a Natural Pose? • Training database of ~50 “natural poses” • For each, compute center of mass of: – Upper body – Arms – Lower body • The relative COM of each generated pose is matched • Rapid prototyping of realistic character motion to most the most similar from rough low-quality animations database example • Obey the laws of physics & stay within space of naturally-occurring movements Liu & Popović Linear and Angular Momentum During Constrained Motion • In unconstrained animation (no contacts), both • During constrained motion (when in contact with linear & angular momentum should be conserved the ground), the angular momentum follows a spline curve modeled after biomechanics data • The center of mass should follow a parabolic unconstrained trajectory according to gravity unconstrained • The joints should move such that the angular momentum of the whole body remains constant Liu & Popović Liu & Popović constrained System Features Questions? • Automatically detect point/line/plane constraints • Divide animation into constrained portions (e.g., feet in contact with ground) and unconstrained portions (e.g., free flight) • Linear and angular momentum constraints without having to compute muscle forces • Minimize: – Mass displacement – Velocity of the degrees of freedom (DOF) – “Unbalance” (distance the COM projected to ground is outside of constraints) 4 Today Rigid Body Dynamics • How do we animate? • Could use particles for all points on the object – Keyframing – But rigid body does not deform – Procedural Animation – Few degrees of freedom f1(t) – Physically-Based Animation • Use only one f (t) v(t) – Motion Capture particle at the 2 – Forward and center of mass x(t) Inverse Kinematics • Compute Net Torque f (t) • Rigid Body Dynamics Net Force & 3 • Finite Element Method Net Torque Net Force Nice Reference Material: http://www.pixar.com/companyinfo/research/pbm2001/ Rigid Body Dynamics Simulation of Non-Rigid Objects • Physics • We modeled string & cloth using mass-spring – Velocity systems. Can we do the same for deformable – Acceleration solids? – Angular • Yes… But a more physically accurate model Momentum uses volumetric elements: • Collisions • Friction from: Darren Lewis http://www-cs-students.stanford.edu/~dalewis/cs448a/rigidbody.html Image from O’Brien et al. 1999 See also: http://www.myphysicslab.com/collision.html Strain & Stress Finite Element Method • Stress • To solve the continuous problem – the internal distribution of (deformation of all points of the object) forces within a body that – Discretize the problem balance and react to the – Express the interrelationship loads applied to it – Solve a big linear system – normal stress & shear stress • More principled than Mass-Spring • Strain http://en.wikipedia.org/wiki/Image:Stress_tensor.png – material deformation caused by stress. – measured by the change in length of a line or by the change in angle between two lines object finite elements large matricial system Diagram from Debunne et al. 2001 5 Reading for Tuesday 3/2: • James O’Brien & Jessica Hodgins “Graphical Modeling and Animation of Brittle Fracture” SIGGRAPH 1999. • Post a comment or question on the LMS discussion by 10am on Friday 2/15 6 .