1 / 18

Subdivision Surfaces in Character Animation

Subdivision Surfaces in Character Animation. Chris DeCoro Presentation of an article by DeRose, et. Al. Talk outline. Introduction Motivation and applications Previous work Additional requirements of animation Semi-sharp Creases Rendering Physically-based Modeling Conclusion.

nonnie
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 Chris DeCoro Presentation of an article by DeRose, et. Al.

  2. Talk outline • Introduction • Motivation and applications • Previous work • Additional requirements of animation • Semi-sharp Creases • Rendering • Physically-based Modeling • Conclusion

  3. Motivation and Background • Animation requires smooth surfaces for visual appeal • Traditional Approach: NURBS • However, single patches have limited topology • Difficult to maintain smoothness during animation • Often require expensive and inaccurate trimming • Proposed Solution: Subdivision Surfaces • Able to represent arbitrary topology • No trimming • No seams; always smooth

  4. Previous work • Catmull-Clark Subdivision • Input is a quadrilateral mesh, M0 • From mesh Mn, reaches Mn+1 through subdivision • Adds additional vertices to make each quad into 4 subdivided quads • Limit surface (infinite subdivisions) is smooth • Infinitely-sharp Creases • In some locations, the ideal surface is not smooth • For these applications, we require creases • Sharp edges are manually marked as such • Algorithm uses special subdivision rules

  5. Additional requirements of animation • Semi-sharp Creases • An adjustable intermediate between smooth surfaces and infinitely sharp creases • Physical Modeling • Surfaces pose challenges in representing real world movement and collisions • The article will focus on physical modeling of cloth • Rendering • NURBS have a direct parameterization for texture mapping • Subdivision surfaces do not

  6. Talk outline • Introduction • Semi-sharp Creases • The need for Semi-sharp Creases • Standard Subdivision • Infinitely-sharp Creases • Overall Algorithm • Rendering • Physically-based Modeling • Conclusion

  7. The Need for Semi-sharp Creases • Most “sharp” edges in nature are smooth at a sufficiently close distance • E.g. the edge of a table top • Often we wish to control the degree of sharpness • Shown in the illustrations below

  8. V E F 1/4 1/4 1/16 3/8 1/16 1/4 1/4 3/8 1/16 1/16 Standard Subdivision • Standard Catmull-Clark Subdivision has three types of points in each refined mesh • Face points • Vertex points • Edge points • Face points = centroid of each quad region • Edge points = 0.25*(vi + ei + fJ-1 + fJ ) • Vertex points = (n-2)/n*vi + 1/n2*sum(ei) + 1/n2*sum(fi+1)

  9. 1/64 3/32 1/64 9/16 3/32 3/32 1/64 3/32 1/64

  10. Infinitely-Sharp Creases • Control vertices and edges are manually tagged as sharp • Face points: same as smooth rule • Edge points: place at midpoint of edge • Vertex points • One sharp incident edge (dart): same as smooth rule • Two sharp edges (crease): (e1 + 6vi + e2) / 8 • Three or more sharp edges (corner): do not modify point

  11. Overall Algorithm • For creases with integer sharpness “s” • Subdivide using infinitely-sharp rules “s” times • For creases with non-integer sharpness “s” • Assume creases with sharpness floor(s) and ceil(s) • Determine subdivision points for both cases • Linearly interpolate to compute points for “s” • After previous steps, and for all elements • Perform standard (smooth) subdivision to the limit

  12. Talk outline • Introduction • Semi-sharp Creases • Rendering • Surface texture mapping • Implementation issues • Physically-based Modeling • Conclusion

  13. Texture Mapping • Textures parameterized onto a 2d plane • Ideal for NURBS • Not so ideal for Subdivision Surfaces • Solution: Subdivide texture coordinates • Manually apply texture coordinates to the base mesh • Treat vertex as (x,y,z,s,t) five-tuple • The texture coordinates are subdivided along with the coordinates • Can be applied to arbitrary attributes • Normals, arbitrary shader parameters

  14. Implementation Issues • The author is working with the Pixar RenderMan system • Requires geometry be subdivided to sub-pixel sized micropolygons • Each primitive must bound itself, dice into micropolygons • Bounding takes advantage of convex hull property • Each primitive must dice itself into micropolygons • Locally, surface represents bicubic B-spline patch • Surface is converted into patch, uses less space (4x4 grid) • Regular structure makes easier to dice into micropolygons

  15. Talk outline • Introduction • Semi-sharp Creases • Rendering • Physically-based Modeling • Computing cloth energy functional • Collision determination • Conclusion

  16. Determining Energy Functional • Basic properties are specified by energy functional • Represents attraction or resistance of material to deformation • Catmull-Clark methods become regular grids • Ideal for representing woven fabrics • Energy term represented by: • E(p1,p2) = 0.5*(|p1-p2|/|p1*-p2*|)2 • p1*, p2* are the positions at rest • This can be used to represent the motion of cloth • Limited motion along thread directions • Folds freely along the diagonals

  17. Collision Determination • Several approaches stand out • Test every object against each other (impractical) • Three-D spatial partitioning (not ideal) • Two-D surface partitioning • Advantages of surface partitioning • Hierarchy fixed if connectivity does not change • All data statically allocated, compute in preprocess • Hierarchy generation through “un-subdividing” • Pick a candidate edge “e” • Remove faces adjacent to “e”, merge to “super-face” • Mark edges adjacent to super-face as non-candidates for one iteration (for better balancing) • Store bounding box • At run time, use precomputed hierarchy to compare bounding boxes between object and obstacles

  18. Conclusion • Subdivision surfaces are a better alternative to NURBS • Always smooth, no seams • No trimming, greater range of topology • Semi-sharp Creases allow for enhanced control • Sharpness can range smooth from none to infinite • Scalar-field texture maps allow for simplified texturing • Directly generated from the base mesh • Successfully integrated into RenderMan • Thus has shown to be successful in real-world applications • Collision detection model / Energy functional • Allows for realistic physics

More Related