Top Banner
Subdivision Surfaces in Character Animation Tony DeRose Michael Kass Tien Truong Pixar Animation Studios Balaji Kannan Chen Shen
51

Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Dec 28, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Subdivision Surfaces in Character Animation

Tony DeRose Michael Kass Tien Truong

Pixar Animation Studios

Balaji Kannan Chen Shen

Page 2: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

Motivation.Show Geri’s game.Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.

Energy functional. Collisions.

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 3: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

Motivation.Show Geri’s game.Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.

Energy functional. Collisions.

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 4: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Motivation

Trimming NURBS is expensive and prone to numerical error.

Page 5: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Motivation

Trimmed NURBS is difficult to maintain smoothness.

Page 6: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Motivation

Subdivision surfaces are flexible...

Page 7: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Motivation

...and smooth

Page 8: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Geri’s Game

Improve tools for human character animation Skin, hair & cloth

Opportunity to: Experiment with subdivision

surfaces Experiment with cloth

dynamics Experiment with parametric

texture mapping

Page 9: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

MotivationShow Geri’s GameNovelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics

Energy functional Collisions

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 10: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.
Page 11: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

MotivationShow Geri’s GameNovelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics

Energy functional Collisions

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 12: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Example of semi-sharp creases in Geri’s Game

Page 13: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Modeling Blends and Fillets

Infinitely sharp creases Helpful to model piecewise-smooth

surfaces But real-world surfaces not really

infinitely sharp

Semi-sharp creases give smoothly varying normals across crease. So surface does not tear if displaced in direction of normal

Page 14: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Modeling Blends contd…

Use a generalized Catmull-Clark algorithm = Hybrid subdivisionBetter than developing individual subdivision rules using weights of creases: Will have to develop rules for lots of

special cases The symmetry that bestows invariance

under cyclic re-indexing is lost

Page 15: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Extreme cases of sharpness…

Page 16: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Darts, creases, corners and Hoppe’s algorithm

Page 17: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Rules using Hoppe’s algorithm for Catmull-Clark surfaces…

Dart and smooth vertices are normal Catmull-Clark vertex pointsCorner vertices stay where they areCrease vertex mask shown below

1 1

6

Page 18: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Hybrid Subdivision concepts…

Tag edges with some sharpness value(s) Can be integer constant or otherwise Tells how many times Hoppe’s algorithm is to

be applied before smoothing (Catmull-Clark)

Subdivided edges one level finer than parentIntegral sharpness = s Subdivide using Hoppe’s sharp rules s times Use smooth Catmull-Clark rules after this

Page 19: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Examples of integer sharpness…

Page 20: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Hybrid subdivision contd…

Non-integral sharpness = s: si<s<si+1 Use sharp rules si times and smooth rule

once more to get vertex set V1

Use sharp rules si+1 times to get vertex set V2

Linearly interpolate between V1 and V2

Use smooth rules to the limit

Page 21: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Example of non-integral sharpness…

Linear interpolation

Smoothingsi

Si+1

Page 22: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Dealing with creases with variable sharpness…

Page 23: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Generalized rules (hybrid subdivision)

Face points are same as from Catmull-Clark subdivisionEdge points Smooth edge- same as from Catmull-

Clark Crease with sharpness > 1- use midpoint

as edge point Edge with sharpness between 0 and 1-

linear blend of above two

Page 24: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Generalized rules contd…

Vertex points Smooth/Dart vertex- use Catmull-Clark rules

for vertex points Corner vertices- vertex points stay at same

place as vertex Crease vertices

Average sharpness >= 1- use crease vertex rule Otherwise, take linear blend of crease vertex rule

and smooth vertex rule Blooper in paper- says use linear blend of crease

vertex rule and corner vertex rule for above case

Page 25: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Sharpness of subdivided edges…

Use Chaikin’s corner-cutting algorithm at 3:1 (or 1:3) ratio:eab.s = max(0, 0.75*eb.s + 0.25*ea.s-1)

eaec

eb

eab

ebc

Page 26: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

MotivationShow Geri’s GameNovelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics

Energy functional Collisions

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 27: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Cloth Dynamics

Simulated physics for clothing animationSubdivision surfaces for kinematics and dynamic objectsEnergy functional Surface integral ---- finite-element

approaches Discrete sum of terms ---- finite-difference

methods

Page 28: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Quad Meshes for Cloth

Catmull-Clark ---- regular quadrilateral grids.Warp & weft directions given locally.“Threads” have meaning.

Page 29: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Energy Functional

Avoid stretch Springs along mesh edges

Avoid skew Springs along mesh diagonals

Avoid bending Virtual threads

Page 30: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Avoid Stretch

Little stretch long the warp and weft directions.Strong fixed rest-length spring along each edge of the mesh.Energy term.

1p

2p

3p

4p

),( 21 ppEk ss

2

*2

*1

21221 )1(2

1),(

pp

ppkppEk ss

Page 31: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Avoid Skew

Diagonal springs resist skew.Problems with diagonal springs.

E = k E(S1) E(S2).Energy minimized when either spring is at its rest length.Free to bend along either diagonal.

1p

2p

3p4p

),( 21 ppEs

),( 43 ppEs

),(),(

),,,(

4321

4321

ppEppEk

ppppEk

ssd

dd

Page 32: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Avoid bending

Virtual threads.Anti-bending energy.

1p

2p

3p

Virtual thread

),,( 321 pppEk pp

2*3

*2

*1321321 )],,(),,([

2

1),,( pppCpppCpppEp

*1

*2

12*2

*3

23321 ),,(

pp

pp

pp

pppppC

Page 33: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

MotivationShow Geri’s GameNovelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics

Energy functional Collisions

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 34: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Collision detection

Simplest approach is O(N2) algorithmUse of some elegant spatial data structures can help make it O(N*log(N))Use a 2-D surface-based data structure- in some sense, a quadtree analogNo parameter plane to recurse on for hierarchy coarser than initial control mesh. So, Iteratively remove edges from control mesh

and build up hierarchy (un-subdividing) Stop when only one super-face is left Maintain reasonable balance in hierarchy

Page 35: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Illustration…

Page 36: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Collision detection contd…

Balancing hierarchy Because, if edges in newly generated

super-face are removed, imbalance occurs

So, if an edge has been removed, remove all edges of corresponding super-face from candidate list

How do we detect collisions? Build bounding boxes for patches in

hierarchy in bottom-up fashion

Page 37: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Collision detection contd…

Start at root to check bounding box intersection with object

Recurse down hierarchy if intersection occurs

Control vertex positions change as subdivision progressesSo all bounding boxes in hierarchy should be updated in bottom-up fashionEfficient way-each leaf knows which vertices constructed its bounding box

Page 38: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

MotivationShow Geri’s GameNovelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics

Energy functional Collisions

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 39: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Texture Mapping

Four principal methods: Parametric texture mapping.

Not easy for subdivision surface. Procedural texture.

Not easy for subdivision surface. 3D painting.

Straightforward for subdivision surface. Solid texture.

Straightforward for subdivision surface.

Page 40: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

For Polygonal ModelsAssign texture coordinates to vertexes.Linear or bilinear interpolation for triangles and quadrilaterals.Split for other faces.Not differentiable across edges.

Page 41: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

For Subdivision SurfaceTexture coordinates (s,t) assigned to the control vertices.Subdivide using the same rules.Totally, 5D space (x,y,z,s,t).

Page 42: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Scalar Field

For texture coordinates.For arbitrary parameters. Seams for Geri’s jackets. Geri’s nostril and ear cavities. Physical parameters in cloth simulator.

Scalar field assignment. Manually. Interpolation using Laplacian smoothing. Painting on rendered images and use a least

squares solver.

Page 43: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Examples

Page 44: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

Motivation.Show Geri’s game.Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.

Energy functional. Collisions.

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 45: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Implementation issues in rendering

Renderman requires all primitives to be convertible to grids of micro-polygonsSo each primitive should be Able to split into sub-patches Able to bound itself for culling Able to dice itself into micro-polygons

BOUNDING patches Each patch has a control mesh Take bounding box of control mesh (convex

hull property of Catmull-Clark surfaces)

Page 46: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Implementation contd….

Check if primitive is diceableNot diceable if splitting produces Lots of micro-polygons Micro-polygons vary hugely in size

If not diceable, subdivide each patch to get 4 new sub-patch primitivesCheck whether sub-patches are diceable iteratively

Page 47: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Catmull-Clark limit properties and rendering…

Bi-cubic B-Splines are the limit surfaces except for extraordinary pointsSo a number of sub-patches are identified with B-Spline patchesAdvantages Fixed memory allocation for a patch- no need

to store vertex connectivity for B-Spline patch Ability to be split independently in either

parametric direction reduces splitting time

Page 48: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Catmull-Clark limit contd…

Efficient forward-differencing algorithms for dicing B-Spline patches available

Page 49: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Outline

Motivation.Show Geri’s game.Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.

Energy functional. Collisions.

Rendering: Parametric texture mapping & implementation issues.

Conclusion.

Page 50: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Conclusions

Compare subdivision and NURBSNURBS Prevent local refinement Care should be taken to hide seams

between patches

Subdivision surfaces Overcome some apparent (inherent)

disadvantages by using semi-sharp creases and scalar fields for shading

Page 51: Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Contd…

Efficient collision detection makes subdivision surfaces well suited for physical simulation Cloth dynamics and rendering benefit a lot from Catmull-Clark subdivision surfaces