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