Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited...

37
Grenoble University, INRIA University of British Columbia ETH Zurich Damien Rohmer Marie-Paule Cani Stefanie Hahmann Tiberiu Popa Alla Sheffer Animation Wrinkling Augmenting Coarse Cloth Simulation with Realistic-Looking Wrinkles

Transcript of Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited...

Page 1: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Grenoble

University, INRIA

University of

British Columbia

ETH Zurich

Damien Rohmer

Marie-Paule Cani

Stefanie Hahmann

Tiberiu Popa

Alla Sheffer

Animation WrinklingAugmenting Coarse Cloth Simulation with Realistic-Looking Wrinkles

Page 2: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Shrek

Wrinkles are critical for believable garments

With wrinklesNo cloth wrinkle

Page 3: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Previous Work

Physically based Machine learning

[Godenthal et al., SIGGRAPH 07]

[English & Bridson, SIGGRAPH 08]

[Thomaszewski et al, EG 09]

[Wang et al. SIGGRAPH 10]

[Aguiar et al. SIGGRAPH 10]

Input models, limited variationsExpensive, Control?

Page 4: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Previous Work: Procedural Methods

[Decaudin EG 06][Cutler SCA 05][Hadap IEEE Vis 99]

Limited deformations

[Müller SCA 10]

Texture Manual settings Cylindrical shapes Wrinkling layer

Predefined shapes Teadius

Incoherent wrinkles

Page 5: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Key Ideas

• Analyse coarse simulation

• New implicit method to generate wrinkle geometry

Curves orthogonal

to compression

AnalyseImplicit

deformers

Page 6: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Overview

Perform coarse simulation

Real time !

Coarse input mesh

Page 7: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Overview

Perform coarse simulation

Analyze results

Trace wrinkle curves

• Where: Compressed regions

• How: Orthogonal to compression

direction

Page 8: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Overview

Perform coarse simulation

Analyze results

Generate wrinkles

• Use smart implicit for

wrinkles to split & merge

Page 9: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Analysing coarse animation output

Goal: Extract direction of compression

Rest mesh deformed meshM

Eigenvalues = compression magnitude

Eigenvectors = compression directionM M :

T

Stretch

Page 10: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Continuous compression field

Anisotropy preserving interpolationPer vertex tensor field

=> Tensor space interpolation [Pennec et al. 06]

Linear interpolation Tensor space interpolation

Page 11: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Tracing Wrinkle Curves

Wrinkle curve =

Guide for wrinkle placement

streamline

Wrinkle vector field

Magnitude: Rate of compression

Orientation: ┴ Main shrinkage direction

Page 12: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Time coherent wrinkle curve animation

t-dt

t

Previous wrinkle curves

Current wrinkle

curves

Page 13: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Time coherent wrinkle curve animation

t-dt

t

Previous wrinkle curves

Current wrinkle

curves

Page 14: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Wrinkle geometry: Challenges

Sum of displacements

Challenge: Close-by curves

• No collisions bw wrinkles

• No bulges

Goal: Seamless wrinkle merge & split

Max Our solution

Page 15: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Wrinkle geometry: Implicit deformers

Wrinkle curve generates field function

How: Vertices projected onto the isosurface

What: Convolution surfaces

• Blend using sum of fields

• No bulging artifact

No collision bw wrinkles

• They just merge !!

Page 16: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

Page 17: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1.5s/frame

Rest mesh

Page 18: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1.5s/frame

Rest mesh

Page 19: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

Control of cloth thickness

Page 20: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

Adding wrinkles on skinning input

Rest mesh

Page 21: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

Very coarse input

Rest mesh

Page 22: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results: Comparison

High res

simulation

Our result

25s/frame 2s/frame

Real cloth

Page 23: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results: Mesh sampling

[Müller et al. SCA 10 ] Our result

Homogeneous tesselation

=> Sampling artifacts

Adapted triangulation

Page 24: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1.5s/frame

Rest mesh

Page 25: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1 s/frame

Rest mesh

Page 26: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

3.5s/frame

Rest mesh

Page 27: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1.5s/frame

Rest mesh

Page 28: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Results

1.5s/frame

Page 29: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Summary:

Analyse directional stretch from coarse animation

Use new implicit deformers to seamlessly blends wrinkle geometry

Augment coarse animation with automatic wrinkles

Page 30: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Limitations & Future work

Modeling tension wrinkles

• Detect elongation in coarse animation.

Computation time: GPU, Bump mapping

Page 31: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Limitations & Future work

Modeling tension wrinkles

• Detect elongation in coarse animation.

Computation time: GPU, Bump mapping

Page 32: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Thank you

Page 33: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined
Page 34: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Wrinkle geometry

Page 35: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

4. Results

Computational times

~1fps (mostly projection)

Page 36: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Adapted mesh subdivision

Local subdivision

Page 37: Animation Wrinkling€¦ · [Hadap IEEE Vis 99] [Cutler SCA 05] [Decaudin EG 06] Limited deformations [Müller SCA 10] Texture Manual settings Cylindrical shapes Wrinkling layer Predefined

Motivation