Download presentation
Presentation is loading. Please wait.
1
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003
2
Agenda Background of subdivision surfaces Reasons for use Methods and implementation Pixar developments Conclusion and Geri’s Game
3
Background NURBS (Nonuniform Rational B-Splines) Easy and Available
4
Background Problems –Trimming NURBS is expensive and can have numerical errors –When used in animation, very hard to hide seams These problems can be fixed with Subdivision
5
Background Subdivision –No Trimming –Connectivity and smoothness guaranteed No hacks needed Did not have development like NURBS
6
Pixar needed to develop tools –Semi-sharp creases Based on infinitely sharp creases (Hoppe) –Physical simulation (ie: clothing) –Collision detection –Texture mapping Background
7
But First… –What is Subdivision?
8
Subdivision Construct a surface from an arbitrary polyhedron –Subdivide each face of the polyhedron The limit will be a smooth surface
9
Subdivision How to subdivide a face? –Divide each edge in half –Average the centroids of each adjacent edge –Reconnect the two edges with the new vertex
10
Three main methods –Catmull-Clark (quadrilaterals) –Loop’s method (triangles) –Butterfly method (triangles) Subdivision
11
Chose Catmull-Clark –Generalize B-Splines Easier to implement with existing software –Quadrilaterals are better at describing human body parts Tube-like arms, legs, fingers, etc… Subdivision
12
Subdivision – Catmull- Clark Same as methods as in 2-D –Start with control mesh Split all faces into quadrilaterals –Apply subdivision rules –Limit surface is tangent plane smooth no matter where the control vertices are placed
13
Subdivision
14
Pixar Developments Semi-sharp creases Physical simulation Efficient collision detection Texture mapping
15
Pioneered by Hoppe –Very useful Simply mark a subset of the edges as “sharp” and apply a different set of governing rules Easy to model Sharp Creases
16
But… –Real world objects cannot have infinitely sharp creases –Sometimes necessary to have tightly curved edges –So….. Sharp Creases
17
Pixar developed a generalization (semi-sharp) –Controllable sharpness –Sharpness (s) = 0, smooth –Sharpness (s) = inf, sharp –Achievable through hybrid subdivision Semi-Sharp Creases
20
Model kinematic/dynamic objects –Specifically, but not limited to, clothing Must define an “energy functional” –Finite difference approach –Use springs to model clothing Physical Simulation
21
Model kinematic/dynamic objects –Specifically, but not limited to, clothing Must define an “energy functional” –Finite difference approach –Use springs to model clothing Physical Simulation
22
Simple solution –Test each geometric element against all others –Not practical (N 2 = Bad) Use 2-d or 3-d structure to represent objects –They used 2-d Hierarchy fixed, storage is static, never need rebalance Collision Detection
23
Done mostly in preprocessing Hierarchy is made from bottom up –Start at leaves with control mesh –Get more detailed as move up –Root is final surface Only need update control vertices positions Collision Detection
24
Solid color painting is easy, already defined Texturing is not so easy –Using polygonal methods can result in distortion Texture mapping
25
Treat texture coordinates in same way as geometric coordinates and use subdivision These are scalar fields –Used in Geri’s jacket, ears, nostrils Procedural shaders use scalar values to determine colors Texture mapping
26
Scalar values are determined by using interpolation at control points using Laplacian smoothing Sometimes even done manually Texture mapping
27
2D –http://www.subdivision.org/subdivision/demos/ 2d.jsphttp://www.subdivision.org/subdivision/demos/ 2d.jsp 3D –http://www.subdivision.org/subdivision/demos/ demos.jsphttp://www.subdivision.org/subdivision/demos/ demos.jsp DEMOS!
28
Conclusion Subdivision > NURBS –More control, accuracy Pixar = sweet –Developments make subdivision surfaces very practical and useful –Now part of Renderman
29
First definitive work with subdivision Crazy old man playing chess against himself Enjoy! http://www.pixar.com/shorts/gg/theater/sho rt_320.htmlhttp://www.pixar.com/shorts/gg/theater/sho rt_320.html Geri’s game
30
Pictures and references from: –http://www.subdivision.orghttp://www.subdivision.org –http://www.3dgraphicsoutpost.com/subdivision surfacesintro.htmhttp://www.3dgraphicsoutpost.com/subdivision surfacesintro.htm –http://www.cs.princeton.edu/courses/archive/f all02/cs526/lectures/subdivision.pdfhttp://www.cs.princeton.edu/courses/archive/f all02/cs526/lectures/subdivision.pdf –http://www.pixar.com/http://www.pixar.com/ –http://www.scg.uwaterloo.ca/~hqle/subdivision /images/Loop/Loop1.htmlhttp://www.scg.uwaterloo.ca/~hqle/subdivision /images/Loop/Loop1.html Thank You
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.