Smoke simulation is used to simulate the fluid movement of air and generate animated voxel textures representing the density, heat, and velocity of other fluids or suspended particles (i.e. smoke) which can be used for rendering.


Example of smoke simulation.

Smoke and fire are emitted into a Domain from a mesh object or particle system. Smoke movement is controlled by airflow inside the domain, which can be influenced by smoke collision objects. Smoke will also be affected by scene gravity and force fields. Airflow inside the domain can affect other physics simulations via the smoke flow force field.


At least a Domain Object object and one Flow object are required to create a smoke simulation. A basic workflow looks like this:

  1. Create a Domain Object that defines the bounds of the simulation volume.
  2. Define a Flow object or objects which will emit smoke and fire.
  3. Set Collision objects to make the smoke interact with objects in the scene.
  4. Assign a Volumetric material to the domain object.
  5. Save the blend-file.
  6. Bake the simulation.


There is a Quick Smoke operator which will automatically create a domain object with a basic smoke/fire material. It can be found in 3D View ‣ Object ‣ Quick Effects ‣ Quick Smoke, or in the Spacebar search box.


Blender’s smoke simulation is based on the paper Wavelet Turbulence for Fluid Simulation and associated sample code.