Procedural animation : Examples

Chapter 3 : Computer Animation (continued)
Chapter 3: Computer Animation
Reminder: Descriptive animation
• Describes a single motion, with manual control
Ex: direct kinematics with key-frames, inverse kinematics
• Advantage:
–Skilled artist can create what they want
• Problems:
–Defining a new motion is very tedious
–The user gets no help towards realism
Objects may intersect each other, etc.
Towards methods that generate motion ?
• The user defines the laws of motion
Procedural animation : Examples
• Procedural virtual ocean
Examples :
• Physical laws (gravity, collisions…)
• Behavioral laws (artificial intelligence)
• The system generates motion from
– The initial conditions
– The laws to be applied
« Procedural animation »
• Describes a family of motions
• Indirect control
• Particle systems
(fire, smoke, rain, bees, fishes…)
– Points : X (x,y,z), V (vx, vy, vz)
– V given by a “law”
– Birth and death of particles
Physically-based models
Physically-based models
Laws of motion from mechanics
Standard animation algorithm
• Model (mass etc) + initial conditions + applied forces
 Motion & deformations
•
Loop:
t := t+t
–
For each object
1. Compute new speed (use law & applied forces)
2. Compute new position & deformation
3. Display
Exercise:
– For each pair of objects
- Where is the approximation?
1. Detect collisions
- Can you improve the loop?
2. Compute new applied forces
Advantage: a help towards realism!
– useful when dynamics plays an important part
– easier for passive models!
Examples :
– Toy-Story, Shrek
6
5
Physically-based models
We need…
Which laws of motion do we need?
Rigid bodies
• Solids
• Articulated solids
Ex:
– Rolling ball?
– Lamps?
– Wire?
7
8
We need…
Main motions laws
Deformable bodies
Un-structured
Structured
– Deformation under forces
– Back to equilibrium
• Visco-elasticity
– Speed of deformation
• Fractures
Point-based physics
– Neighbors change!
• Elasticity
• Model [ m, X, V ]
• Law: F = ∑ Forces = m A = m dV/dt
• Plasticity
– Absorbs deformations
Solid physics
• Fluids
– Navier-Stokes
– If distortion is too large
Ex : ball, organ, cloth, paper…
used in Computer Graphics
Ex : mud, clay, liquids, smoke...
Main motions laws
used in Computer Graphics
• Model [m, I inertia matrix, X, V,  angular speed ]
• Laws: ∑ F = m (dV/dt)
∑ T = I (d/dt) +   I 
Difficulty: representation of orientations!
10
Research example: Animating fractures
[James O‘Brien
SIGGRAPH 2002]
Articulated solids
• Solid dynamics + unknown internal forces at joints!
m,I
(Lagrange multipliers..)
Deformable models
F
• Linear & non-linear elasticity, plasticity
• Navier-Stokes for fluids
NB: Eulerian vs Lagrangian discretization
[Terzopoulos 87]
12
Research example: Visco-elastic models
Research example: Visco-elastic models
• Cauchy : linear deformation law
(force is a linear function of displacement)
- OK for small displacements
- but rotations produce forces!
- the object inflates!!
Solutions:
• Green’s non-linear tensor : costly
• Apply Cauchy in local frames: real-time!
[Müller et al. 02, 04]
13
• Without versus with the detection of inverted finite elements.
Research example: Liquid
Research example: Liquid
Vortex particles +Eulerian grid
Navier stokes +Eulerian grid +”level set” (implicit)
Bi-phasic fluids
[Foster & Fedkiw 2001]
[Enright et al. 2002]
with vortex particles
[Coquerelle, Cottet, Cani 2006]
This year
Do it all with point-based physics!
• Physically-based model : Particles [ m, X, V ]
• Motion law : ∑ Forces = m A
Integration:
•
•
Explicit Euler : may diverge!
Implicit integration (next year)
• From a model to another one
– Choose the appropriate forces
– Render with adapted geometry!
Do it all with point-based physics?
Structured deformable bodies
1D, 2D, 3D mass-spring networks
Lots of simple objects
Physically-based particle systems
Animation algorithm
– At each time step, for each particle
V(t+dt) = V(t) + ∑ F(t)/m dt
X(t+dt) = X(t) + V(t) dt
Do it all with point-based physics?
• Example : gravels, cereals
– Gravity
– Spheres for collisions detection
– Random individual geometry
Exercise : animating autumn
– Leaves = particle + local frame
– Wind primitives
– Gravity
Propose an adequate friction force
Do it all with point-based physics?
Articulated solids
• Articulated solids?
Joint = spring of zero length
m,
I
F
• Spring: F = k (x-x0) (where x is length)
• Angular spring: F = k (α-α0)
• Damping: or air friction: F = -  v
Exercise :
• How would you model this using masses and
springs?
• Drawbacks compared to more accurate physics?
Do it all with point-based physics?
Unstructured objects
Do it all with point-based physics?
Unstructured objects [Clavet, Beaudoin, Poulin, SCA’2005]
• Particle systems inspired from molecular dynamics
– Lennard-Jones attraction/repulsion forces
force
[Tonensen91]
distance
[Desbrun98]
Do it all with point-based physics?
Do it all with point-based physics?
Exercise: Hair animation
Solution
1. Propose models for straight hair, and for wavy or curly hair
1. Models for hair
2. List the applied forces
3. Which issues will need to be solved to increase realism?
2. Elastic forces, gravity, friction…
3. Main issues:
• Changes of length, rest states
• Avoid interpenetrations, get hair volume