Deborah R. Fowler
Fluids - Pyro
Posted: 2013
Updated: Oct 16 2022
H18.5 also introduces
the Minimal Solver (released Oct 20, 2020) timestamp
1:39:37
gpu explosion on the
new shelf tool. New workflow with pyro burst tool,
pyro trail on sop level.
Materials related to the
new tools:
Check out SideFX new pyro
workflows in Houdini 18.5 here
- Also ran across this posted Jan 9, 2021 https://www.youtube.com/watch?v=CfDN3EaG4h4&t=11s
- This uses the new pyro burst source node and is aimed specifically at creating explosions
- 2018 Siggraph https://vimeo.com/288890436
See also Classic (legacy) Pyro, Sparse Pyro and Pyro Tips
Sparse pyro is now
recommended with the classic pyro (legacy) hidden from the
shelf tool
- What is a fluid? It is anything that takes the shape of
its container (liquids and gasses). (quote here).
- voxels (think of 3D pixels) is where we store data. Pyro is a
voxel fluid (grid based fluids with information in "containers".
I the pyro object you can control the number of voxels
or resolution of your sim as show below highlighted in
blue.
- Fluid simulation - wiki "increasingly popular tool in computer graphics for generating realistic animations of water, smoke, explosions and related phenomena".
- An excellent introduction by Mike Seymour in fxguide on The Science of Fluid Sims is a must read.
In order to understand pyro, it is helpful to have an understanding of what happens during combustion.
- https://www.grc.nasa.gov/www/k-12/airplane/combst1.html
- What is combustion?
- What is fire?
Fuel + oxygen + heat ---> energy (heat,light,sound) + waste
combustion that is very fast explodes (rockets, car engines). Fire releases energy slowly, explosion is nearly instantaneous.
Okay, so how does this interpret into CG speak. General terms here, for specifics see the sections on specific types above.
Fuel --> flames (heat) smoke (density) temperature (temperature) expansion (divergence)
Going one step further, interpreting it into houdini:
- geometry is prep'd by converting to points, and attributes are added (source fuel)
- convert the information into a volume (rasterize points) suitable for the solver
- solver simulates over time, like all dynamic systems - we can adjust to emulate real references
REFERENCE, REFERENCE, REFERENCE - ensure you
find a reference for the type of fire/explosion you are trying
to emulate
Study - what is the source? Is there wind? gravity? what is
burning (materials)? What is the behavior - much like particles
it is behavior and rendering
- If you google Kelvin Color Temperature Scale - that will give you a better idea of the kelvin system - note that what was called heat in Houdini is now called flame
- temperature will map to the color, flame will map to the fire's intensity
- color in reality determined by the chemical components (ie. what you are burning)
- fire releases energy slowly, explosions
release energy extremely quickly (milliseconds)
DO NOT use CG work as a reference! That is
someone else's interpretation. This is true for all your
references, not just pyro.
Houdini specific
H18 Documentation on Pyro- Pyro shader documentation (H18) is a must read
- Pyro
Look development
- https://www.sidefx.com/docs/houdini/nodes/dop/pyrosolver.html
- https://www.sidefx.com/docs/houdini/nodes/dop/pyrosolver_sparse.html
- Differences between legacy and sparse pyro: https://www.sidefx.com/docs/houdini/pyro/differences.html
- In helping to understand pyro it is a good idea to build a
simple smoke solver from scratch. Matt Estela does this on
his site (link above) and there is also one below. Keep in
mind these were created in H16.5 and pyro sourcing has
changed (see below) in17.5 as well as the introduction of
sparse pyro and the anticipation of 18.5 with more changes
as well.
- Also
- see also cool tutorials below under other resources
- Siggraph 2018 - Scott Keating tips on pyro https://vimeo.com/288890436
- H16 https://www.sidefx.com/tutorials/preview-render-settings-for-pyro/
- H16 comparison of OpenCL pyro Siggraph 2017 https://www.sidefx.com/tutorials/fire-hydrant/
- H16 pyro clustering is no longer advised now
that we have sparse pyro https://www.sidefx.com/tutorials/pyro-clustering/
What is new:
- H18 - SPARSE VOLUMES - there now exists a shelf tool for Sparse Pyro Effects
- Sops pyro is the sparse version
- SPARSE does not work with OpenCL - but sparse is more
efficient
- H17: Sourcing for pyro changed. https://www.sidefx.com/forum/topic/58467/
- Now Pyro is sourcing volume from points
- so if you are dealing with geometry brought in from an alembic be sure to unpack it.
Other Resources
- Great tips from Matt Estela (now at RYOT, previous at UTS
Animal Logic) here https://www.tokeru.com/cgwiki/index.php?title=SmokeDetailed
- Entagma on sparse
pyro (4 minutes) shows performance of sparse
beating out even OpenCL
- http://www.tokeru.com/cgwiki/index.php?title=Smoke_and_Pyro
- ILLUME Webinar - Pyro Tips & Tricks with Jeff Wagner
- Entagma's production setup for a Color Dust Explosion - great example of layering sims (Dec 2019 legacy pyro, pop sims) - https://www.youtube.com/watch?v=d2TuN3Cx1wk&t=1169s
- Tyler Bay gives his opinions on Sparse Pyro workflow in the Houdini Hive presentation (May 2020) - https://www.youtube.com/watch?v=DZR8RLPpYxE
- Niels Prayer - smoke
in a glass sphere (H14 - still works)
- Spilled Fluid on fire (for H14, but still excellent)
More in-depth reading
Rob
Bridson, co-founder of Exotic Matter (creators of Naiad)
from UBC, has some excellent references on the underlying
equations controlling fluids for computer graphics. Many of
the references are to Siggraph 2006 and 2007 courses as well
as his co-authored book on Fluid Simulation for Computer
Graphics. I would suggest to start by looking at the course notes.