320 likes | 503 Views
Subdivision Surfaces in Character Animation. Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios -. Pierce Groover March 4 th , 2003. Agenda. Background of subdivision surfaces Reasons for use Methods and implementation Pixar developments Conclusion and Geri’s Game.
E N D
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4th, 2003
Agenda • Background of subdivision surfaces • Reasons for use • Methods and implementation • Pixar developments • Conclusion and Geri’s Game
Background • NURBS (Nonuniform Rational B-Splines) • Easy and Available
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
Background • Subdivision • No Trimming • Connectivity and smoothness guaranteed • No hacks needed • Did not have development like NURBS
Background • Pixar needed to develop tools • Semi-sharp creases • Based on infinitely sharp creases (Hoppe) • Physical simulation (ie: clothing) • Collision detection • Texture mapping
Background • But First… • What is Subdivision?
Subdivision • Construct a surface from an arbitrary polyhedron • Subdivide each face of the polyhedron • The limit will be a smooth surface
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
Subdivision • Three main methods • Catmull-Clark (quadrilaterals) • Loop’s method (triangles) • Butterfly method (triangles)
Subdivision • 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 – 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
Pixar Developments • Semi-sharp creases • Physical simulation • Efficient collision detection • Texture mapping
Sharp Creases • 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 • But… • Real world objects cannot have infinitely sharp creases • Sometimes necessary to have tightly curved edges • So…..
Semi-Sharp Creases • Pixar developed a generalization (semi-sharp) • Controllable sharpness • Sharpness (s) = 0, smooth • Sharpness (s) = inf, sharp • Achievable through hybrid subdivision
Physical Simulation • 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 • Model kinematic/dynamic objects • Specifically, but not limited to, clothing • Must define an “energy functional” • Finite difference approach • Use springs to model clothing
Collision Detection • Simple solution • Test each geometric element against all others • Not practical (N2 = 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 • 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
Texture mapping • Solid color painting is easy, already defined • Texturing is not so easy • Using polygonal methods can result in distortion
Texture mapping • 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 • Scalar values are determined by using interpolation at control points using Laplacian smoothing • Sometimes even done manually
DEMOS! • 2D • http://www.subdivision.org/subdivision/demos/2d.jsp • 3D • http://www.subdivision.org/subdivision/demos/demos.jsp
Conclusion • Subdivision > NURBS • More control, accuracy • Pixar = sweet • Developments make subdivision surfaces very practical and useful • Now part of Renderman
Geri’s game • First definitive work with subdivision • Crazy old man playing chess against himself • Enjoy! • http://www.pixar.com/shorts/gg/theater/short_320.html
Thank You • Pictures and references from: • http://www.subdivision.org • http://www.3dgraphicsoutpost.com/subdivisionsurfacesintro.htm • http://www.cs.princeton.edu/courses/archive/fall02/cs526/lectures/subdivision.pdf • http://www.pixar.com/ • http://www.scg.uwaterloo.ca/~hqle/subdivision/images/Loop/Loop1.html