Inverse Kinematics Last Time? Today Keyframing Procedural Animation Physically-Based Animation
Total Page:16
File Type:pdf, Size:1020Kb
Last Time? • Navier-Stokes Equations • 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 – Forward and Inverse Kinematics – Motion Capture • 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 v0 seconds parameter mg • Example: A bouncing ball -kt –Abs(sin(ωt+θ0))*e 1 Articulated Models Skeleton Hierarchy • Articulated models: • Each bone transformation – rigid parts described relative xyzhhhhhh,,,,,qf s – connected by joints to the parent in hips the hierarchy: qfttt,, s • They can be animated by specifying the joint left-leg ... angles as functions of time. r-thigh qc qi qi ()t r-calf y vs qfff, x r-foot z t1 t2 t1 t2 1 DOF: knee 2 DOF: wrist 3 DOF: arm Forward Kinematics Inverse Kinematics (IK) • Given skeleton xyzhhhhhh,,,,,qf s • Given the position of the parameters p, effecter in local coordinates Vs xyzhhhhhh,,,,,qf s qf,, s and the position ttt and the desired position V w qf,, s of the effecter in in world coordinates, what ttt local coordinates V , s qc are the skeleton parameters p? q what is the position y c of the effector in the • Much harder requires solving vs v x , s V world coordinates Vw? qfff the inverse of the non-linear qfff, s 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 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 2 IK Challenge Motion Capture • Find a “natural” skeleton configuration for a • Optical markers, given collection of pose constraints high-speed cameras, •A vector constraint function C(p) = 0 triangulation collects all pose constraints → 3D position •A scalar objective function g(p) measures the • Captures style, subtle nuances and realism quality of a pose, g(p) is minimum for most • You must observe someone do something natural poses. Example g(p): – deviation from natural pose – joint stiffness – power consumption How do they Animate Movies/Games? Questions? • Keyframing mostly • Articulated figures, inverse kinematics, motion capture • Skinning – Complex deformable skin, muscle, skin motion • Hierarchical controls – Smile control, eye blinking, etc. – Keyframes for these higher-level controls • A huge time is spent building the 3D models, its skeleton and its controls • Physical simulation for secondary motion – Hair, cloth, water Images from the Maya tutorial Reading for Today: What’s a Natural Pose? • “Synthesis of Complex Dynamic Character Motion • Training database of ~50 “natural poses” from Simple Animation”, Liu & Popović, 2002. • 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ć 3 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) 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) – Forward and Inverse Kinematics particle at the 2 – Motion Capture center of mass x(t) • Compute Net Torque f3(t) • Rigid Body Dynamics Net Force & Net Torque • Finite Element Method Net Force Nice Reference Material: http://www.pixar.com/companyinfo/research/pbm2001/ 4 Rigid Body Dynamics Simulation of Non-Rigid Objects • Physics • We modeled string & cloth using mass-spring – Velocity systems. Can we do the same? – Acceleration •Yes… – Angular • But a more physically accurate model uses Momentum volumetric elements: • Collisions • Friction from: Darren Lewis http://www-cs-students.stanford.edu/~dalewis/cs448a/rigidbody.html See also: http://www.myphysicslab.com/collision.html Image from O’Brien et al. 1999 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 Reading for Friday 2/15: • 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 5.