Home Modeling 

Volumes

Overview

Houdini supports a volume primitive at the geometry level, alongside other primitives such as polygons and NURBS surfaces. A volume is a box with a position, size, and orientation, subdivided into a 3D grid of points, with a value stored at each point.

Different types of volumes store different types of information at the points:

  • Scalar field - stores a single numeric value at each point. This is useful to represent smoke, where the value at each point represents the density of the smoke at that location.

  • Sign distance field (SDF) - used to represent fluids. Stores a number at each point representing the distance to the fluid’s surface, with the sign of the number (positive or negative) indicating whether the point is inside or outside the fluid.

  • Vector field - stores a vector at each point. A common use for this type of a field is a velocity field for a gas simulation, which each point’s vector value represents the direction/velocity of the gas at that position.

How to use volumes

  • You can create a scalar volume with the Iso Surface node. Set the Implicit function to an expression representing the density, set the number of Divisions, and turn on Build volume.

  • You can import data from a fluid or gas simulation as a volume primitive. See how to import and export simulation data.

  • You can manipulate or combine volumes with the Volume Mix surface node. When you connect two volume inputs, you can use the Mix method parameter to choose how to mix the values of the two volumes. When you connect one volume, you can set Mix method to User and set the Value to an expression where $V represents the current value at each point and the result is the new value.

  • To learn how to shade and render volumes, see volumetric rendering.

  • The Iso Surface node can also convert a volume to a surface by creating a surface wherever the value of the field is 0, as in a sign distance field.