1 / 30

Subdivision Surfaces in Character Animation

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.

gaye
Download Presentation

Subdivision Surfaces in Character Animation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4th, 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. Background • Pixar needed to develop tools • Semi-sharp creases • Based on infinitely sharp creases (Hoppe) • Physical simulation (ie: clothing) • Collision detection • Texture mapping

  7. Background • 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. Subdivision • Three main methods • Catmull-Clark (quadrilaterals) • Loop’s method (triangles) • Butterfly method (triangles)

  11. 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…

  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. 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

  16. Sharp Creases • But… • Real world objects cannot have infinitely sharp creases • Sometimes necessary to have tightly curved edges • So…..

  17. Semi-Sharp Creases • Pixar developed a generalization (semi-sharp) • Controllable sharpness • Sharpness (s) = 0, smooth • Sharpness (s) = inf, sharp • Achievable through hybrid subdivision

  18. Semi-Sharp Creases

  19. Semi-Sharp Creases

  20. 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

  21. 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

  22. 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

  23. 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

  24. Texture mapping • Solid color painting is easy, already defined • Texturing is not so easy • Using polygonal methods can result in distortion

  25. 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

  26. Texture mapping • Scalar values are determined by using interpolation at control points using Laplacian smoothing • Sometimes even done manually

  27. DEMOS! • 2D • http://www.subdivision.org/subdivision/demos/2d.jsp • 3D • http://www.subdivision.org/subdivision/demos/demos.jsp

  28. Conclusion • Subdivision > NURBS • More control, accuracy • Pixar = sweet • Developments make subdivision surfaces very practical and useful • Now part of Renderman

  29. 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

  30. 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

More Related