Last Time? • Navier-Stokes Equations , , • Conservation of & Inverse 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 • Rigid Body Dynamics • Finite Element Method

ACM © 1987 “Principles of applied to 3D

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: 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, • 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 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