animation of 3d surfaces - inria

39
Animation of 3D surfaces [email protected] 2011

Upload: others

Post on 01-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Animation of 3D surfaces - Inria

Animation of 3D surfaces

[email protected]

Page 2: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

2

Motivations

• When character animation is controlled by “skeleton”…– set of hierarchical joints

– joints oriented by rotations

• the character shape still needs to be visible:– visible = to be rendered as a continuous shape– typically, a surface is rendered

Page 3: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

3

Motivations

• visible shape is made of organic tissues

Page 4: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

4

Motivations

• visible shape is made of organic tissues

Page 5: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

5

Motivations

• What is the goal of 3D animation ?

Page 6: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

6

Motivations

• 3D animation workflow

Page 7: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

7

Motivations

• Animation of 3D surface is actually the most “practical” thing:– direct connection with modeling phase

• shape and texture

– light structure, easy to animate• possibly real-time

– works will be focused on workarounds to cope with this approximation of reality

Page 8: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

8

Overview

• “Skinning”

• Non-linear deformers

• Shape morphing

• Mesh edition

Page 9: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

9

Overview

• “Skinning ”

• Non-linear deformers

• Shape morphing

• Mesh edition

Page 10: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

10

Skinning

• Goal: bind a skeleton and a shape

P1

P2

P P

Page 11: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

11

Skinning

• Linear blend skinning

P P2 P1

P = w1*P1 + w2*P2

P

Page 12: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

12

Skinning

• Linear blend skinning

P

P

A AB

B

P = w1*P1 + w2*P2wi : [0..1], skin weights

QQ P2 P1

Page 13: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

13

Skinning

• Linear blend skinning

P0 P2P1

P = w1*P1 + w2*P2

with Pi = M0,i Mi(θ)M-10,i P0

P

M0,1 M0,2 M1

M2(θ)

θ

M : R and T

Page 14: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

14

Skinning

• Linear blend skinning

P0

P

A AB

B

P = Σi wi* M0,i Mi(θ)M-10,i P0

QQ0

Implemented as “Skin>Smooth bind” in Maya

M0,1 M0,2 M1

M2(θ)

θ

Page 15: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

15

Skinning

• Linear blend skinning

P P(θ)A AB

B

Q(θ)

θ

Q

λ λ

δ

δ

Page 16: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

16

Skinning

• Limitations

P = Σi wi* M0,i Mi M-10,i P0

= ( Σi wi* M0,i Mi M-10,i ) P0

Non-rigid transformation

Page 17: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

17

Skinning

• Improvements– Skinning as a prediction function from joint

configuration to 3D shapes

[Lewis et al., 2000]

[ θ1, V1]

[ θi, Vi]

[ θn, Vn]θ in Rm, with m joints dofV in Rp, with p mesh verticesai in Rp, n parameters

V = fa(θ) = Σi ai f(||θ - θi||)

a = argmin Σi || Vi – fa(θi) ||2

fa(θ) = Σi ai f(||θ - θi||)Radial Basis Function (RBF)

Page 18: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

18

Skinning

• Improvements– Incorporate user-defined examples of shapes and

automatically add some joints and weights in LBS

[Mohr et Gleicher, 2003]

Page 19: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

19

Skinning

• Improvements– Compute the matrix interpolation while maintaining

correct rotations, using dual quaternions

[Kavan et al., 2007]

P = Σi wi* M0,i Mi M-10,i P0

= ( Σi wi* M0,i Mi M-10,i ) P0

Page 20: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

20

Overview

• “Skinning”

• Non-linear deformers

• Shape morphing

• Mesh edition

Page 21: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

21

Non-linear deformers

• Global modification of 3D shapesthe transformation matrix is a function of R3 point

Page 22: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

22

Non-linear deformers

• Non-uniform rotation (twisting)

Page 23: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

23

Non-linear deformers

• Vortex

Page 24: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

24

Non-linear deformers

• Free-Form Deformation (FFD)

Object embedded in “3D rubber”

Page 25: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

25

Non-linear deformers

• FFD : Space interpolation

Page 26: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

26

Non-linear deformers

• FFD– applications to non-characters objects

Page 27: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

27

Non-linear deformers

• Preserving volume

Influence object combined with skinning

[Scheepers et al., 97]

V = 4/3 π abc

b = ¾ V / ( π ac)

Page 28: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

28

Non-linear deformers

• Preserving volume

[Angelidis et Singh, 2007]

Motion of “Muscles” induces a displacement field

Page 29: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

29

Overview

• “Skinning”

• Non-linear deformers

• Shape morphing

• Mesh edition

Page 30: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

30

Shape blending• a 3D shape is a linear combination of

reference shapes– a linear interpolation for each vertex,

• S = S0+Σiwi(Si-S0)• animation is controlled by blend coefficient wi

– typical application is facial animation

Page 31: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

31

Shape blending

• Blend Shapes

Page 32: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

32

Shape blending

• Facial animation : two main domains

– Emotion• any expression is combination of basic expression:

fear, disgust, joy, surprise, anger [Ekman, 75]

– Talking• visual perception of speech production

Page 33: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

33

Lip-synching

• Difficult task– how to post-synchronized video onto audio track– one common solution :

• a phoneme = a 3D shape• several visually equivalent phonemes as a “viseme”

[p,b,m], [f,v], etc.

Page 34: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

34

Lip-synching

• Problem of the co-articulation effect– audio-visual speech signal is continuous

– audio and visual are not synchronized by nature (anticipation and latency)

– gesture vs shape

[Reveret et Essa, 2001]

Page 35: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

35

Overview

• “Skinning”

• Non-linear deformers

• Shape morphing

• Mesh edition

Page 36: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

36

Barycentric coordinates

• Low-resolution « cage » controlling a high-resolution mesh– each vertex is a linear combination w.r.t cage vertices and

normals => local coordinates or weights– difficulty: getting the right weights, leading to little artefacts

Mean value coordinates,Harmonic coordinates,Green coordinates, etc

Page 37: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

37

Laplacian mesh edition

• Character animation without a skeleton• Group of vertices are locally deformed

while preserving surface details• Based on discrete differential geometry

[Sorkine et al., 2004]

Page 38: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

38

Laplacian mesh edition

• Each vertex coordinate is replaced by the difference to the average of its neighborsD = L V : di = Vi-(1/|Ni|)ΣkϵNiVk

• Deformation by adding constrainsadd some rows to L => L* and D => D*

• Reconstruction of V by approximationV* = argminV( || L’V – D’ || )

More details on:http://igl.ethz.ch/projects/Laplacian-mesh-processing/STAR/STAR-

Laplacian-mesh-processing.pdf

Page 39: Animation of 3D surfaces - Inria

Animation of 3D surfaces [email protected]

39

Laplacian mesh edition

• Application to key-frame animation

[Xu et al., 2006]