part 2: advanced methodschamilo2.grenet.fr/inp/courses/ensimag4mmg3d6/document/slides/10... · part...
TRANSCRIPT
Part 2: Advanced methods
Chapter 3: Animating complex objects
1. Descriptive models
2. Physically-based models
3. Layered models for complex objects
– Principle of layered models
– Case study: character animation
– Case study: natural phenomena
2
Animating Complex Objects
• Grass blowing in the wind, interacting with the feet
• Trees, clouds…
• Characters
Procedural model?
Descriptive animation?
Geometry / physics?
3
Animating Complex Objects
Solution : « layered model»
Successive animation layers
each one models a specific feature
– Eases conception & control
– Best model for each layer
– Possible retro-action
4
Layered models
General methodology
1. Observe & identify the sub-phenomena to reproduce
2. Represent them independently
– Choose the best model for each feature
Physics, kinematics, geometry, textures…
– Use different time & space sampling if necessary
3. Couple them together
Animation loop Successive update of each layer + possible retroaction
5
layered models: case studies
1. Natural phenomena
Examples
• Lava flow
• Grass blowing in the wind
6
Layered models for Natural Phenomona
Lava flows
Aim: visual realism
Difficulties
• Viscous liquid
– Separation, fusion
• Varying behavior
– Viscosity function of temperature
• Two important scales
– Global trajectories
– Details of the crust, moving with the flow
7
Layered models for Natural Phenomona
Lava flows
Sub-models & layers
• Global trajectory
– Smoothed particles, heat equation
• Implicit surface
• Details of the crust
– Animated displacement texture
4000
particles
8
Layered models for Natural Phenomona
Lava flows
Coupling sub-models
[Stora Agliati Cani Neyret 99]
10
Layered models for Natural Phenomona
Prairies blowing in the wind
View of a walker in real-time?
Difficulties
• Number of blades of grass
– Rendering: aliasing problems
• Control of the wind
– Breeze, gusp of wind, wirld wind
• Plausible action
11
Layered models for Natural Phenomona
Prairies blowing in the wind
Sub-models
• Grass: 3 levels of detail
• Wind model : mask + action
– Breeze, gusp of wind, wirld wind
• Receever : blade of grass
– deformations : pre-simulation …
12
Layered models for Natural Phenomona
Prairies blowing in the wind
Transitions between levels of details
• 3D blades of grass / texture 2D1/2
• texture 2D1/2 / texture
…
Animating Ocean Waves
• Aims
– Tunable compromise realism/efficiency
– Camera motion
– Unbounded ocean
• Difficulties
– Complex deformations
– Close to far view
– Aliasing
Animating Ocean Waves
Sub-models
• Receivers
– Sampled surface
– Projection of screen pixels
• Wave trains
– mask + action
Animating Ocean Waves
Animation : Levels of detail
• Filtering wave trains with the distance
– Increases efficiency and reduces aliasing
Without
filtering
Our method
18
Case study 2: animated characters
Need of different layers for
1. Brain, decision taking
2. Moving the skeleton (walking, gesturing)
3. Deforming flesh & skin
4. Hair
5. Clothing
Exo: Which models would you use?
Is retro-action necessary?
19
Layer 1: Behavioral model (brain, decision taking)
Example: crowd animation
Particle systems
• Attraction towards an objective
• Repulsive obstacles
• Avoid inter-collisions (fluids)
Techniques from artificial intelligence (AI)
• Individual behavior : rules, emotions, personality
• Social behavior for crowds
20
Layer 2 : animating the skeleton
From the behavioral model
1. Coordinate the different actions (finite automata)
2. Call elementary motions
Choose a model for elementary motions
– Descriptive methods
• Direct and inverse kinematics
• Motion capture
– Procedural models
• Physically-based animation + control
21
Motion capture A well suited method for humans
• Capture of markers on an actor
– Magnetic or optic: set of synchronized cameras
Difficulty: reconstruct motion despite of occlusions
• Replay similar motion
– curves of angle values over time
Examples of use:
- Feature films
- sport video games
(library of typical motion)
22
Motion capture
Problems to be solved
To make it generally applicable
• Adapt to different morphologies
– monsters, aliens…
• Combining different motions
– walk while raising arms
– motion graphs for transitions (walk, fall, get up, run….)
• Editing at various levels of detail
– walk on uneven ground
23
Layer 3: Flesh & skin deformation
• Existing methods
– Object hierarchies
– Shape interpolation
– Smooth skinning
– Anatomical simulation
24
3. Flesh & skin deformation Object hierarchies
• Character = union of rigid links
assembled in a hierarchy
Exo: How would you avoid holes when
joints articulate?
25
3. Flesh & skin deformation
Object hierarchies
Advantages : Low memory cost
Store transformations
Un-bounded motion
• Drawbacks
– Joints are visible
Answer to the exercise: add spheres at joints
– No visual realism: too rigid
Use a single mesh ?
26
• Single mesh
• Deformed by the skeleton
(hierarchy of joints)
3. Flesh & skin deformation
Smooth skinning
27
• For each mesh point
– skinning weight ki with respect to each Si
– combine positions in the different frames
P = ∑ ki Pi
+ Almost no memory cost
+ Real-time computation
+ Skin motion created independently for each frame
• Exo: Draw the mesh for a bended arm to identify problems:
What happens for a high bent and points near the joint?
3. Flesh & skin deformation
Smooth skinning
28
• Drawbacks
– Choose the weights? (painted by a computer artist!...)
– Artifacts for large deformations: loss of volume
3. Flesh & skin deformation
Smooth skinning
29
Constant volume skinning: based on post-correction
3. Flesh & skin deformation
Smooth skinning: example of solution
[Rohmer, Hahmann, Cani 2008-2009]
3. Flesh & skin deformation
Key frames vs Blend Shapes
Example of an animated face
• Key frames = Temporal interpolation
– Model and store all successive key- faces
• Blend shapes = Multi-target interpolation
– Model a few « extreme faces » from a « neutral face »
– Animate a trajectory in this space
For each mesh point,
compute successive barycenters on the fly
31
3. Flesh & skin deformation
Multi-target interpolation
Advantages
– Fast interpolation
– No need to model something repetitive
32
3. Flesh & skin deformation
Adding dynamics to the flesh
Using finite elements
[Capell et al. SIGGRAPH 03]
• Associate each cell with a bone
• Linear elasticity for local models
• Constraints to paste cells together
33
• Realistic model for each layer
skeleton, flesh, skin
3. Flesh & skin deformation
Anatomical simulation
34
• Advantage : realism, possibility to simulate muscles
• Drawback : computational time!
3. Flesh & skin deformation
Anatomical simulation
35
4. Clothes and hair
Physically-based models
1. Difficulties for clothes
– Collisions between thin objects
– Non-extensible: should fold!
– Numerical integration with stiff springs?
2. Difficulties for hair
– 100 000 strands
Exploit spatial coherency!
36
4. Clothes
Ease formation of folds
[Choi and Ko 02] Stable but responsive cloth
– Rotation when compression force in the plane of the cloth
37
Layered model for clothes
[Rohmer, Popa, Cani,
Hahmann, Sheffer,
SIGGRAPH Asia 2010]
Coarse mesh
deformed by
convolution skeletons
to add folds
38
5. Hair
Hair animation
Physically-based models
• Rigid sticks
• Mass-springs
Geometry
• Hair wisps
• Interpolate between guide hair
– Not realistic without collisions
39
5. Hair
• New mechanical model for a strand
“Super helices” : Piece-wise helices, constant lenght
[Bertails, Audoly, Cani et al Siggraph 2006]
• Geometric hair strands
41
Layered models
Exercice: animate a jumping snow-man
Sub-phenomena
1. Jumping motion
2. Efficient collision processing
3. Deformations of a smooth surface
• Discuss different models for each layer
• Write the animation loop. Is there retroaction ?
42
Possible solutions?
1. Skeleton points
• Main skeleton: physics of a ball, user control
• Others: vertical mass-spring chain?
2. Implicit or spline surface, mesh?
3. Collision processing
• Detection with the implicit surface or spheres?
• Deformations due to contact modeling
• Response from the amount of deformation