skip to main content
10.1145/3532720.3535628acmconferencesArticle/Chapter ViewAbstractPublication PagessiggraphConference Proceedingsconference-collections
course

Dynamic deformables: implementation and production practicalities (now with code!)

Published:02 August 2022Publication History

ABSTRACT

Simulating dynamic deformation has been an integral component of Pixar's storytelling since Boo's shirt in Monsters, Inc. (2001). Recently, several key transformations have been applied to Pixar's core simulator Fizt that improve its speed, robustness, and generality. Starting with Coco (2017), improved collision detection and response were incorporated into the cloth solver, then with Cars 3 (2017) 3D solids were introduced, and in Onward (2020) clothing is allowed to interact with a character's body with two-way coupling.

The 3D solids are based on a fast, compact, and powerful new formulation that we have published over the last few years at SIGGRAPH. Under this formulation, the construction and eigendecomposition of the force gradient, long considered the most onerous part of the implementation, becomes fast and simple. We provide a detailed, self-contained, and unified treatment here that is not available in the technical papers. We also provide, for the first time, open-source C++ implementations of many of the described algorithms.

This new formulation is only a starting point for creating a simulator that is up challenges of a production environment. One challenge is performance: we discuss our current best practices for accelerating system assembly and solver performance. Another challenge that requires considerable attention is robust collision detection and response. Much has been written about collision detection approaches such as proximity-queries, continuous collisions and global intersection analysis. We discuss our strategies for using these techniques, which provides us with valuable information that is needed to handle challenging scenarios.

References

  1. Alastrué, V., E. Peña, M. Martínez, and M. Doblaré (2008). Experimental study and constitutive modelling of the passive mechanical properties of the ovine infrarenal vena cava tissue. Journal of biomechanics 41(14), 3038--3045.Google ScholarGoogle ScholarCross RefCross Ref
  2. Arruda, E. M. and M. C. Boyce (1993). A three-dimensional constitutive model for the large stretch behavior of rubber elastic materials. Journal of Mechanics Physics of Solids 41, 389--412.Google ScholarGoogle ScholarCross RefCross Ref
  3. Ascher, U. M. and E. Boxerman (2003). On the modified conjugate gradient method in cloth simulation. The Visual Computer 19(7--8), 526--531.Google ScholarGoogle Scholar
  4. Autonne, L. (1902). Sur les groupes linéaires, réels et orthogonaux. Bulletin de la société mathématique de France 30, 121--134.Google ScholarGoogle Scholar
  5. Baraff, D. and A. Witkin (1998). Large steps in cloth simulation. In Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '98. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Baraff, D. and A. Witkin (2003). Untangling cloth. In ACM SIGGRAPH 2003 Papers, SIGGRAPH '03. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Barbic, J. (2012). Exact corotational linear fem stiffness matrix. Technical report, University of Southern California. Department of Computer Science.Google ScholarGoogle Scholar
  8. Bargteil, A. and T. Shinar (2018). An introduction to physics-based animation. In ACM SIGGRAPH Courses, New York, NY, USA. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Belytschko, T., W. K. Liu, B. Moran, and K. Elkhodary (2013). Nonlinear finite elements for continua and structures. John wiley & sons.Google ScholarGoogle Scholar
  10. Bergou, M., M. Wardetzky, D. Harmon, D. Zorin, and E. Grinspun (2002). A quadratic bending model for inextensible surfaces. In Eurographics Symposium on Geometry Processing, pp. 49--54.Google ScholarGoogle Scholar
  11. Blair, P. (2003). Animation 1: Learn to animate cartoons step by step. Walter Foster Publishing.Google ScholarGoogle Scholar
  12. Blemker, S. S., P. M. Pinsky, and S. L. Delp (2005). A 3d model of muscle reveals the causes of nonuniform strains in the biceps brachii. Journal of biomechanics 38(4), 657--665.Google ScholarGoogle ScholarCross RefCross Ref
  13. Bonet, J. and R. D. Wood (2008). Nonlinear continuum mechanics for finite element analysis. Cambridge university press.Google ScholarGoogle ScholarCross RefCross Ref
  14. Bower, A. F. (2009). Applied mechanics of solids. CRC press.Google ScholarGoogle ScholarCross RefCross Ref
  15. Bridson, R., R. Fedkiw, and J. Anderson (2002). Robust treatment of collisions, contact and friction for cloth animation. In Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '02, pp. 594--603. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Brochu, T., E. Edwards, and R. Bridson (2012). Efficient geometrically exact continuous collision detection. ACM Trans. Graph. 31(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Bunch, J. R., C. P. Nielsen, and D. C. Sorensen (1978). Rank-one modification of the symmetric eigenproblem. Numerische Mathematik 31(1), 31--48.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Chagnon, G., M. Rebouah, and D. Favier (2015). Hyperelastic energy densities for soft biological tissues: a review. Journal of Elasticity 120(2), 129--160.Google ScholarGoogle ScholarCross RefCross Ref
  19. Chao, I., U. Pinkall, P. Sanan, and P. Schröder (2010, July). A simple geometric model for elastic deformations. ACM Trans. Graph. 29(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Choi, K.-J. and H.-S. Ko (2002, 07). Stable but responsive cloth. Volume 21. ACM.Google ScholarGoogle Scholar
  21. Chow, E. and A. Patel (2015). Fine-grained parallel incomplete lu factorization. SIAM journal on Scientific Computing 37(2), C169--C193.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Espinosa, H. D., P. D. Zavattieri, and G. L. Emore (1998). Adaptive fem computation of geometric and material nonlinearities with application to brittle failure. Mechanics of Materials 29(3--4), 275--305.Google ScholarGoogle Scholar
  23. Etzmuss, O., M. Keckeisen, and W. Strasser (2003, Oct). A fast finite element solution for cloth modelling. In Proceedings of Pacific Graphics, pp. 244--251.Google ScholarGoogle ScholarCross RefCross Ref
  24. Fung, Y.-c. (2013). Biomechanics: mechanical properties of living tissues. Springer Science & Business Media.Google ScholarGoogle Scholar
  25. Gao, Z., T. Kim, D. L. James, and J. P. Desai (2009, Aug). Semi-automated soft-tissue acquisition and modeling for surgical simulation. In IEEE International Conference on Automation Science and Engineering, pp. 268--273.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Garg, A., E. Grinspun, M. Wardetzky, and D. Zorin (2007). Cubic shells. In Symposium on Computer Animation.Google ScholarGoogle Scholar
  27. Golub, G. and W. Kahan (1965). Calculating the singular values and pseudo-inverse of a matrix. Journal of the Society for Industrial and Applied Mathematics, Series B: Numerical Analysis 2(2), 205--224.Google ScholarGoogle ScholarCross RefCross Ref
  28. Golub, G. H. and C. F. Van Loan (2013). Matrix computations. The Johns Hopkins University Press.Google ScholarGoogle ScholarCross RefCross Ref
  29. Greaves, G. N., A. Greer, R. S. Lakes, and T. Rouxel (2011). Poisson's ratio and modern materials. Nature materials 10(11), 823--837.Google ScholarGoogle Scholar
  30. Gribbin, J. (2011). In search of Schrodinger's cat: Quantum physics and reality. Bantam.Google ScholarGoogle Scholar
  31. Grinspun, E., A. Hirani, M. Desbrun, and P. Schröeder (2003). Discrete shells. In SCA '03: Proceedings of the 2003 ACM SIGGRAPH/Eurographics Symposium on Computer Animation.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Guennebaud, G., B. Jacob, et al. (2010). Eigen v3. http://eigen.tuxfamily.org.Google ScholarGoogle Scholar
  33. Han, H., M. Sun, S. Zhang, D. Liu, and T. Liu (2021). Gpu cloth simulation pipeline in lightchaser animation studio. In SIGGRAPH Asia Technical Communications.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Harmon, D., E. Vouga, R. Tamstorf, and E. Grinspun (2008). Robust treatment of simultaneous collisions. Volume 27. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Hauth, M. and O. Etzmuss (2001). A high performance solver for the animation of deformable objects using advanced numerical methods. Eurographics 20(3), 319--328.Google ScholarGoogle ScholarCross RefCross Ref
  36. Higham, N. J. (1986). Computing the polar decomposition---with applications. SIAM Journal on Scientific and Statistical Computing 7(4), 1160--1174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Higham, N. J. (2008). Functions of matrices: theory and computation. SIAM.Google ScholarGoogle ScholarCross RefCross Ref
  38. Holzapfel, G. (2005). Similarities between soft biological tissues and rubberlike materials. In Constitutive Models for Rubber IV, pp. 607--617.Google ScholarGoogle Scholar
  39. Hu, Y., T. Schneider, B. Wang, D. Zorin, and D. Panozzo (2020, July). Fast tetrahedral meshing in the wild. ACM Trans. Graph. 39(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Irving, G., J. Teran, and R. Fedkiw (2004). Invertible finite elements for robust simulation of large deformation. In SIGGRAPH/Eurog. Symp. on Comp. Anim., pp. 131--140.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Jenkins, M. A. and J. F. Traub (1970). A three-stage variable-shift iteration for polynomial zeros and its relation to generalized rayleigh iteration. Numerische Mathematik 14(3), 252--263.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Johnston, O. and F. Thomas (1981). The illusion of life: Disney animation. Disney Editions New York.Google ScholarGoogle Scholar
  43. Kautzman, R., G. Cameron, and T. Kim (2018). Robust skin simulation in incredibles 2. In ACM SIGGRAPH Talks, pp. 1--2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Kim, T. (2020). A finite element formulation of baraff-witkin cloth. In SCA '03: Proceedings of the 2020 ACM SIGGRAPH/Eurographics Symposium on Computer Animation.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Kim, T., F. De Goes, and H. Iben (2019, July). Anisotropic elasticity for inversion-safety and element rehabilitation. ACM Trans. Graph. 38(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Kim, T. and D. L. James (2012, Aug). Physics-based character skinning using multidomain subspace deformations. IEEE Transactions on Visualization and Computer Graphics 18(8), 1228--1240.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Kolda, T. G. and B. W. Bader (2009). Tensor decompositions and applications. SIAM review 51(3), 455--500.Google ScholarGoogle Scholar
  48. Liu, T., S. Bouaziz, and L. Kavan (2017). Quasi-newton methods for real-time simulation of hyperelastic materials. ACM Trans. Graph. (TOG) 36(3), 1--16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Löschner, F., A. Longva, S. Jeske, T. Kugelstadt, and J. Bender (2020). Higher-order time integration for deformable solids. In Computer Graphics Forum, Volume 39, pp. 157--169. Wiley Online Library.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Marschner, S. and P. Shirley (2016). Fundamentals of Computer Graphics (4th ed.). USA: CRC Presss.Google ScholarGoogle Scholar
  51. Marsden, J. E. and T. J. Hughes (1994). Mathematical foundations of elasticity. Dover Publications.Google ScholarGoogle Scholar
  52. McAdams, A., Y. Zhu, A. Selle, M. Empey, R. Tamstorf, J. Teran, and E. Sifakis (2011, 07). Efficient elasticity for character skinning with contact and collisions. ACM Trans. Graph. 30, 37.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Möller, T., E. Haines, and N. Hoffman (2008). Real-Time Rendering (3 ed.). A.K Peters Ltd.Google ScholarGoogle Scholar
  54. Mooney, M. (1940). A theory of large elastic deformation. Journal of Applied Physics 11(9), 582--592.Google ScholarGoogle ScholarCross RefCross Ref
  55. Moore, M. and J. Wilhelms (1988). Collision detection and response for computer animation. In ACM SIGGRAPH computer graphics, Volume 22. ACM.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Müller, M., J. Dorsey, L. McMillan, R. Jagnow, and B. Cutler (2002). Stable real-time deformations. In ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 49--54.Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Nocedal, J. and S. Wright (2006). Numerical optimization. Springer Science & Business Media.Google ScholarGoogle Scholar
  58. Ogden, R. W. (1997). Non-linear elastic deformations. Dover Publications.Google ScholarGoogle Scholar
  59. Papadopoulo, T. and M. I. Lourakis (2000). Estimating the jacobian of the singular value decomposition: Theory and applications. In European Conference on Computer Vision, pp. 554--570. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  60. Pharr, M., W. Jakob, and G. Humphreys (2016). Physically based rendering: From theory to implementation. Morgan Kaufmann.Google ScholarGoogle Scholar
  61. Pritchard, D. (2002). Implementing baraff witkin's cloth simulation.Google ScholarGoogle Scholar
  62. Provot, X. (1995). Collision and self-collision handling in cloth model dedicated to design garment. Graphics Interface.Google ScholarGoogle Scholar
  63. Provot, X. (1997). Collision and self-collision handling in cloth model dedicated to design garments. In Computer Animation and Simulation, pp. 177--189. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  64. Rankin, C. C. and F. A. Brogan (1986, 05). An Element Independent Corotational Procedure for the Treatment of Large Rotations. Journal of Pressure Vessel Technology 108(2), 165--174.Google ScholarGoogle Scholar
  65. Rhodes, G. (2001). Fast, robust intersection of 3d line segments. Game Programming Gems 2, 191--204.Google ScholarGoogle Scholar
  66. Rivlin, R. (1948). Large elastic deformations of isotropic materials iv. further developments of the general theory. Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences 241(835), 379--397.Google ScholarGoogle Scholar
  67. Rupp, K., P. Tillet, F. Rudolf, J. Weinbub, A. Morhammer, T. Grasser, A. Jüngel, and S. Selberherr (2016). Viennacl---linear algebra library for multi-and many-core architectures. SIAM Journal on Scientific Computing 38(5), S412--S439.Google ScholarGoogle ScholarCross RefCross Ref
  68. Schneider, P. and D. Eberly (2003). Geometric Tools for Computer Graphics. Morgan Kaufmann Publishers.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Shtengel, A., R. Poranne, O. Sorkine-Hornung, S. Z. Kovalsky, and Y. Lipman (2017). Geometric optimization via composite majorization. ACM Trans. Graph. 36(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Sifakis, E. and J. Barbic (2012). Fem simulation of 3d deformable solids: A practitioner's guide to theory, discretization and model reduction. In SIGGRAPH Courses, pp. 20:1--20:50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Simmonds, J. G. (2012). A brief on tensor analysis. Springer Science & Business Media.Google ScholarGoogle Scholar
  72. Smith, B., F. D. Goes, and T. Kim (2018, March). Stable neo-hookean flesh simulation. ACM Trans. Graph. 37(2).Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Smith, B., F. D. Goes, and T. Kim (2019, February). Analytic eigensystems for isotropic distortion energies. ACM Trans. Graph. 38(1).Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Smith, J. and S. Schaefer (2015a, July). Bijective parameterization with free boundaries. ACM Trans. Graph. 34(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Smith, J. and S. Schaefer (2015b). Bijective parameterization with free boundaries. ACM Trans. Graph. 34(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Smith, O. K. (1961). Eigenvalues of a symmetric 3X 3 matrix. Communications of the ACM 4(4), 168.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Sorkine, O. and M. Alexa (2007). As-rigid-as-possible surface modeling. In Eurog. Symposium on Geometry processing, Volume 4.Google ScholarGoogle Scholar
  78. Sorkine-Hornung, O. and M. Rabinovich (2017). Least-squares rigid motion using svd. Technical report, ETH Zurich, Department of Computer Science.Google ScholarGoogle Scholar
  79. Tamstorf, R. and E. Grinspun (2013). Discrete bending forces and their jacobians. In Graphical Models Issue 75.Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Tamstorf, R., T. Jones, and S. McCormick (2015). Smoothed aggregation multigrid for cloth simulation. ACM Trans. Graph. 34(6).Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Tang, M., R. Tong, Z. Wang, and D. Manocha (2014). Fast and exact continuous collision detection with bernstein sign classification. Volume 33, pp. 186:1--186:8.Google ScholarGoogle Scholar
  82. Teran, J., E. Sifakis, S. S. Blemker, V. Ng-Thow-Hing, C. Lau, and R. Fedkiw (2005, May). Creating and simulating skeletal muscle from the visible human data set. IEEE Transactions on Visualization and Computer Graphics 11(3), 317--328.Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Twigg, C. D. and Z. Kačić-Alesić (2010). Point cloud glue: Constraining simulations using the procrustes transform. In ACM SIGGRAPH/Eurog. Symp. on Comp. Anim., pp. 45--54.Google ScholarGoogle Scholar
  84. Wang, H. (2014). Defending continuous collision detection against errors. ACM Trans. Graph. 33(4).Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Wang, H. and Y. Yang (2016). Descent methods for elastic body simulation on the gpu. ACM Trans. Graph. 35(6).Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Witkin, A. and D. Baraff (1997). Physically based modeling: Principles and practice. In SIGGRAPH Courses.Google ScholarGoogle Scholar
  87. Wong, A., D. Eberle, and T. Kim (2018). Clean cloth inputs: Removing character self-intersections with volume simulation. In ACM SIGGRAPH Talks, pp. 1--2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Ye, J. (2009). A reduced unconstrained system for he cloth dynamics solver. The Visual Computer. 25(10).Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    SIGGRAPH '22: ACM SIGGRAPH 2022 Courses
    August 2022
    2416 pages
    ISBN:9781450393621
    DOI:10.1145/3532720

    Copyright © 2022 Owner/Author

    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 2 August 2022

    Check for updates

    Qualifiers

    • course

    Acceptance Rates

    Overall Acceptance Rate1,822of8,601submissions,21%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader