On this page |
See how to set up the viewport and desktop. We highly recommend you use the technical desktop (Windows ▸ Desktop ▸ Technical) so you have quick access to the tree view and details view.
How to
To... | Do this |
---|---|
Create a smoke or pyro effect |
|
Increase the maximum size of the smoke/fire container |
By default, the maximum size the automatically resizing box mirrors the size of the Pyro/Smoke object. Select the object in the dynamics network, click the Properties tab and set the Size parameter. |
Adjust resizing for fast-growing simulations |
Increase the Padding parameter on Bounds tab of the |
Tip
See how to navigate between networks for tips on navigating between the three networks quickly. You may want to pin parameter editor pane tabs for the pyro object and solver so you can access them quickly.
See Pyro look development for information on how to use the various parameters of the source, object, and solver to achieve different smoke and fire looks.
Pyro node networks
Network | Important nodes | |
---|---|---|
Inside the source object, the tools add surface nodes for creating the source volume. |
Converts the initial geometry into volumes ( See Fluid sourcing for more information. |
|
In the DOP network, the tools sets up the dynamics nodes to create the pyro/smoke object, import the source from the geometry network, connect them to the Pyro solver, and make the pyro container resize automatically. |
Controls the 3D resolution of the smoke/fire object, the maximum size of the resizeable container (by default), and whether the container is open on each side, among others. It also has extensive controls for visualizing the contents of the object. |
|
Pyro solver or Smoke solver (depending on the effect) |
Controls the rules for how the simulation develops (such how much buoyancy is created by heat), noise, the shaping of flames, among others. It also has extensive controls to visualizing the forces created by the solver (such as shredding). |
|
The tools will also create another object that imports the output of the simulation for object-level display and rendering. |
One DOP Import node imports all fields for rendering, and another imports only fast display-related fields for display in the viewport. |
Source geometry
See Fluid sourcing for more information.
Fields
-
Multifield visualizes heat (flame) and density (smoke).
-
The source adds temperature and fuel to the simulation.
-
Where fuel exists and the temperature is above a certain point, "burn" is created.
-
Burn creates heat (visible flames).
-
Burn inefficiency leaves a certain percentage of fuel behind after burning.
-
Gas released = expansion
-
Cooling rate, dissipation
-
Velocity = start velocity + temperature * buoyancy
-
Advection affects temperature, heat, density, fuel*
In Houdini, temperature = buoyancy, velocity = momentum
Temperature is one of the most important fields for running a simulation (together with Velocity) and controls to great extend how the sim behaves and looks. Although it isn’t often used for rendering and visualization, internally it drives many forces and shape operators (such as Buoyancy, Shredding and Dissipation).
When creating a fire sim, that control is extended to the combustion model. Temperature Diffusion and Cooling Rate act directly on the temperature field and offer great control over the simulation’s decay in speed and simulated detail.
Collision and expansion fields
The Smoke/Pyro solvers allow you to add collision fields (areas the smoke/fire will avoid) and expansion fields (areas that add outward velocity to the simulation).
These tools create the same SOP volume setup as the Pyro tools use for fuel sources, but instead of provided a fuel
field to the solver, the provide a collision
or expansion
field.
To... | Do this |
---|---|
Turn an object into a collision field |
|
An expansion field adds outward velocity to the simulation within the field. That velocity is then advected, creating continuous outward force. This can quickly blow up your simulation.
If you're making an explosion, that can be desirable, but if want something more subtle, you can try the following:
-
Add a Drag force node after the solver to keep the velocity from continuing forever.
-
Scale down the expansion source (Source volume DOP > Scale Source Volume), or animate it on and off.
You can also use DOP forces to push smoke/fire around. However, the effect of the force will be dampened by the solver’s project non-divergence step. Because you set up the expansion field as a direct input to the solver, the solver knows to exclude the expansion field from the project non-divergence calculations.
How to use pyro to advect points of DOP geometry
You can use the fields of a pyro simulation to advect the points of DOP geometry.
-
Attach editable Geometry data to the smoke container.
To create editable geometry, import geometry using a SOP Geometry DOP and copy it using a Copy Geometry DOP. Then use an Apply Data DOP to attach the geometry to the smoke object DOP. Set the data name of the copied geometry to
Geometry
. -
Connect a Gas Advect to the Advection input of the pyro solver (the third green input). Set the Gas Advect’s Geometry parameter to the data name of the editable geometry (
Geometry
) Set the Velocity field tovel
and the Collision field tocollision
.
Smoke solver vs. Pyro solver
Houdini includes two solvers for grid-based smoke/fire simulations. The Smoke solver implements the basic fluid simulation engine. It simulates basic smoke effects but does not simulate fire. The Pyro solver is built on top of the smoke solver and adds fire and more controls.
The high-level effects created by the tools on the Pyro FX shelf tab use the Pyro solver.
Temperature diffusion and viscosity are blurs
Temperature diffusion is a blur on the temperature field. Increasing it will blur the boundaries between high and low temperature areas, and increase the diffusion of temperature from a source out into the system.
Viscosity is a blur on the velocity field. Increasing it will blur velocity variations, such as shredding and vorticles (small pinwheel-type eddies). If you have a look you like but it has a little too much velocity noise, you can try adding a bit of viscosity to blur it out.
Because these controls blur the fields, high diffusion/viscosity values will decrease the temperature/velocity in the system, because you are averaging together the areas of high temperature/velocity (for example, near the source) with the surrounding (usually much larger) areas of inactive space.
Rendering Pyro effects
-
You may want to decrease the division size (that is, increase the resolution) of your containers before rendering.
-
Render Pyro effects using the micropolygon engine (Mantra render node > Properties tab > Render tab > Rendering Engine).
-
Set up your lights' shadow parameters (Light object > Shadow tab), set Shadow type to Depth Map Shadows, Pixel samples to 2×2, and Shadow Quality to 2.
-
To get more detail in the render, you can try decreasing the renderer’s Volume step size (Mantra render node > Properties tab > Sampling tab). This will not make a difference if the reason the render lacks detail is the pyro volume’s container is low resolution.