Fluid animation refers to computer graphics techniques for generating realistic animations of fluids such as water and smoke. Fluid animations are typically focused on emulating the qualitative visual behavior of a fluid, with less emphasis placed on rigorously correct physical results, although they often still rely on approximate solutions to the Euler equations or Navier–Stokes equations that govern real fluid physics. Fluid animation can be performed with different levels of complexity, ranging from time-consuming, high-quality animations for films, or visual effects, to simple and fast animations for real-time animations like computer games.
Relationship to computational fluid dynamics
Fluid animation differs from computational fluid dynamics (CFD) in that fluid animation is used primarily for visual effects, whereas computational fluid dynamics is used to study the behavior of fluids in a scientifically rigorous way.
The development of fluid animation techniques based on the Navier–Stokes equations began in 1996, when Nick Foster and Dimitris Metaxas implemented solutions to 3D Navier-Stokes equations in a computer graphics context, basing their work on a scientific CFD paper by Harlow and Welch from 1965. Up to that point, a variety of simpler methods had primarily been used, including ad-hoc particle systems, lower dimensional techniques such as height fields, and semi-random turbulent noise fields.
In 1999, Jos Stam published the "Stable Fluids" method, which exploited a semi-Lagrangian advection technique and implicit integration of viscosity to provide unconditionally stable behaviour. This allowed for much larger time steps and therefore faster simulations. This general technique was extended by Ronald Fedkiw and co-authors to handle more realistic smoke and fire, as well as complex 3D water simulations using variants of the level-set method.
Many 3D computer graphics programs implement fluid animation techniques. RealFlow is a standalone commercial package that has been used to produce visual effects in movies, television shows, commercials, and games. RealFlow implements a fluid-implicit particle (FLIP; an extension of the Particle-in-cell method) solver, a hybrid grid, and a particle method that allows for advanced features such as foam and spray. Maya and Houdini are two other commercial 3D computer graphics programs that allow for fluid animation.
Blender is an open-source 3D computer graphics program that utilized a particle-based Lattice Boltzmann method for animating fluids until the integration of the open-source mantaflow project in 2020 with a wide range of Navier-Stokes solver variants.
- Bridson, Robert. Fluid Simulation for Computer Graphics (2nd ed.). CRC Press.
- Mastin, Gary A.; Watterberg, Peter A.; Mareda, John F. (March 1987). "Fourier Synthesis of Ocean Scenes" (PDF). IEEE Computer Graphics and Applications. 7 (3): 16–23. doi:10.1109/MCG.1987.276961.
- Foster, Nick; Metaxas, Dimitri (1996-09-01). "Realistic Animation of Liquids". Graphical Models and Image Processing. 58 (5): 471–483. CiteSeerX 10.1.1.331.619. doi:10.1006/gmip.1996.0039.
- Harlow, Francis H.; Welch, J. Eddie (1965-12-01). "Numerical Calculation of Time‐Dependent Viscous Incompressible Flow of Fluid with Free Surface". Physics of Fluids. 8 (12): 2182–2189. doi:10.1063/1.1761178. ISSN 0031-9171.
- Reeves, W. T. (1983-04-01). "Particle Systems—a Technique for Modeling a Class of Fuzzy Objects". ACM Trans. Graph. 2 (2): 91–108. CiteSeerX 10.1.1.517.4835. doi:10.1145/357318.357320. ISSN 0730-0301.
- Kass, Michael; Miller, Gavin (1990-01-01). Rapid, Stable Fluid Dynamics for Computer Graphics. Proceedings of the 17th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '90. New York: ACM. pp. 49–57. doi:10.1145/97879.97884. ISBN 978-0897913447.
- Stam, Jos; Fiume, Eugene (1993-01-01). Turbulent Wind Fields for Gaseous Phenomena. Proceedings of the 20th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '93. New York: ACM. pp. 369–376. doi:10.1145/166117.166163. ISBN 978-0897916011.
- Stam, Jos (1999-01-01). Stable Fluids. Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '99. New York: ACM Press/Addison-Wesley Publishing Co. pp. 121–128. doi:10.1145/311535.311548. ISBN 978-0201485608.
- Fedkiw, Ronald; Stam, Jos; Jensen, Henrik Wann (2001-01-01). Visual Simulation of Smoke. Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '01. New York: ACM. pp. 15–22. CiteSeerX 10.1.1.29.2220. doi:10.1145/383259.383260. ISBN 978-1581133745.
- Nguyen, Duc Quang; Fedkiw, Ronald; Jensen, Henrik Wann (2002-01-01). Physically Based Modeling and Animation of Fire. Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '02. New York: ACM. pp. 721–728. doi:10.1145/566570.566643. ISBN 978-1581135213.
- Foster, Nick; Fedkiw, Ronald (2001-01-01). Practical Animation of Liquids. Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '01. New York, NY, USA: ACM. pp. 23–30. CiteSeerX 10.1.1.21.932. doi:10.1145/383259.383261. ISBN 978-1581133745.
- Enright, Douglas; Marschner, Stephen; Fedkiw, Ronald (2002-01-01). Animation and Rendering of Complex Water Surfaces. Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques. SIGGRAPH '02. New York: ACM. pp. 736–744. CiteSeerX 10.1.1.19.6229. doi:10.1145/566570.566645. ISBN 978-1581135213.
- "Doc:2.4/Manual/Physics/Fluid - BlenderWiki". wiki.blender.org. Retrieved 2016-11-04.
- "Reference/Release Notes/2.82 - Blender Developer Wiki". wiki.blender.org. Retrieved 2020-06-10.