Procedural Animation Lecture 11: Fluid dynamics Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa
Procedural Animations Two major categories in procedural animation are: Physics-based simulations deal with things that are not alive Alife (artificial life) deals with things are virtually alive
Physics-based simulations Deal with the things that are not alive. Use well-known natural physical laws. Particle systems Rigid body dynamics Soft body dynamics Pyro with volume model Fluid dynamics Fur/hair
Fluid dynamics Generate realistic animations of fluids for FX, animation and games. Different from computational fluid dynamics to study the behavior of fluids.
Fluid dynamics Eulerian representation – grid-based Lagrangian representation – particle based \
Eulerian vs Lagrangian Leonhard Euler (1707-1783) born in Switzerland; died in Russia Joseph-Louis Lagrange (1736-1813) born in Sardina (Italy); died in France grid based vs. particle based
Lagrangian vs Eulerian Eulerian keeps track of changes in a spatially fixed volume. Lagrangian follows particles in their motion.
Eulerian representation Fluid is represented in a domain that is divided into small cells. Accurate calculation in low density areas. Fluid cannot spread out freely in space. A large number of cells are need to capture surface details. http://cgrecord.tv/2017/12/water-splashing-on-rocks-houdini-flip-simulation/
Lagrangian representation Fluid is represented as a collection of particles. Fluid flow is simulated by particle dynamics. Intuitive. Fluid can spread freely in space. Inaccurate calculation in low density areas. SIGGRAPH '94 Proceedings of the 21st annual conference on Computer graphics and interactive techniques Pages 15-22 https://dl.acm.org/citation.cfm?id=192167
FLIP (Fluid Implicit Particle) method Hybrid method which uses both grids and particles. Initialize particle positions and velocities. Transfer particles to a grid. Apply external forces. Classify all voxels as fluid, solid or air. Update particle velocities. Update particle positions. Go back to Step 2. Reconstruct a fluid surface for rendering. “Animating Sand as a Fluid” https://www.cs.ubc.ca/~rbridson/docs/zhu-siggraph05-sandfluid.pdf http://rlguy.com/gridfluidsim/
Houdini FLIP Cache! https://www.sidefx.com/tutorials/4-ways-to-cache-water-flip-fluid-simulation-in-houdini/