Creates one or multiple volumes out of geometry to be used in a fluid simulation
Fluid Source creates one or multiple scalar or vector volumes from either points, primitives, or a volume. These volumes can be directly used in a fluid simulation and are imported using the Source Volume DOP. Any combination of volumes can be created. A set of default combinations is presented as presets. These presets correlate with the Source Volume DOP.
Note
The operations this node provides can easily be recreated using Houdini’s SOP volume operators. Consider this node to be an example of how to achieve or approach certain volume shaping operations.
Note
Where applicable this operator will try to sample the geometry into an SDF before creating the desired volume. If no SDF can be generated (in the case with sampled point attributes) a different method using a similar interface is provided.
Parameters
| Initialize | Configures the Fluid Source according to the selected preset. Helps clarify and visualize how to create a specific set of volumes to be used in a simulation. | ||||||||
| Method | Method used for sampling the incoming geometry which is based on the sampling method, provided a certain set of parameters will be available. Tip Sampling points is great for creating complex volumes, otherwise hard to accomplish using the default SDF sampling operations.
| ||||||||
| Type | Output either a scalar volume with the Name specified as | ||||||||
| Source Attribute | Only available when Method is set to Stamp Points. This parameter specifies the point attribute used for creating the volume. For example, Tip Instead of using a point attribute, consider building your volume using Generate SDF From Points. This only works on all points provided. This will usually result in a more smooth and desirable results. The interpolation used for sampling the points into an sdf is much more accurate then the averaging of point attributes. | ||||||||
| Number of Volumes | The number of volumes to output. All are similar to the first one in terms of shape, but can have a different name assigned. | ||||||||
| Name | The name of the volume. |
Volumes
Global
| Auto Bounds | Automatically scales the volume bounds based on the Edge Location, Feather Length and Sample Distance provided. |
| Output SDF | Set’s the output volume to be an SDF. |
| Invert | Inverts the output volume. |
Settings
| Division Size | Controls the sample resolution of the volume and specifies the voxel size in world units. Lower values will increase the resolution. Higher resolutions allow for finer detail in the appearance of the object. However, doubling the divisions requires eight times the memory. |
| Source Amount | Global volume scale. |
| Padding | Extra padding added to volume bounds. Measured in world units. |
| Border Value | Sets the container’s border value. Some fluid operations (such as collisions) expect negative border conditions to work properly. This value enforces a certain bound value. |
SDF From Geometry
Enabled when Method is set to Build SDF From Geometry. These options control how to build the source volume from an SDF generated out of incoming primitives.
| Minimum Distance | The exact minimum point to surface will be found and used to build the initial SDF. The resulting field is not signed and is used to generate a shell around the geometry. Tip Use Minimum Distance for flat or planar geometry. Note Minimum Distance controls to a great extend what edge sampling options are available. Since the SDF isn’t signed both, the interior and exterior of the object are treated similar. |
| Scale By Source Attribute | Scales the result by the sampled point Source Attribute. |
| Empty Interior | Only available when Minimum Distance is turned off. In that case, Ray Intersect is used to build the SDF and more information is available to distinguish the interior from the exterior of the object. |
| Edge Location | The volume offset measured in world units relative to the sampled edge of the object. With Minimum Distance this is similar to Edge Thickness because the SDF only holds positive values. In that case, the value can only be increased. Without Minimum Distance, an exact new edge position can be calculated, enabling the object to grow or shrink. |
| Out Feather Length | The amount of outwards feather to apply, measured in world units relative to the Edge Location. This softens the volume edge outwards. Using Minimum Distance, this value sets both the inward and outward feather. |
| Edge Thickness | The thickness of the edge in world units. This is only available with Minimum Distance turned off. |
| In Feather Length | The amount of inwards feather to apply measured in world units relative to the Edge Location. It softens the volume edge inwards and is only available with Minimum Distance turned off. |
| Remap Feather Out | Enables the Feather Out Ramp. |
| Remap Feather In | Enables the Feather In Ramp. This is only available with Minimum Distance turned off. |
| Feather Out Ramp | Remaps the outward feather volume values. |
| Feather In Ramp | Remaps the inward feather volume values. This is only available with Minimum Distance turned off. |
Stamp Points
Enabled when Method is set to Stamp Points. These options control how to build a source volume from point geometry using either an SDF approximation or sampled point attributes.
| Generate SDF From Points | Creates a volume with the help of an SDF approximation, sampling all the available points. Using this option does not require a Source Attribute. If disabled, the attribute sampling method will be used. |
| Scale By Source Attribute | This is only available when Generate SDF From Points is enabled. It scales the result by the sampled point Source Attribute. |
| Point Sample Threshold | Number of points to sample information from. The more points used, the smoother the result. The total weight contributed by points to the cell are normalized if it is greater than the threshold. If the weight is less than the threshold, the particle attribute values will not be normalized and hence drop to zero. This means that for every voxel, enough points need to be available to sample from based on the Sample Distance provided. |
| Point Sample Distance | The maximum distance to extrapolate point information from. Higher values result in a bigger volume. |
| Feather | Only available when Generate SDF From Points is turned on. Controls the volume feather based on the volume position defined by Sample Distance. |
| Edge Location | Defines the edge of the volume relative to the Sample Distance provided. A smaller value usually results in a smoother volume. |
Noise
Two types of noise are available:
Turbulence
Cellular
Both can be mixed to create a noise pattern layered on top of the volume.
Tip
Use cellular noise together with turbulence to create broken edges in the source, which is useful for fire simulations.
Tip
Try out the various noise operations on a grid. Use Minimum Distance and a slight edge offset to create a simple volume and start experimenting with the layered noise types.
General Settings
| Use Noise | Enables the use of noise. |
| Turbulence Influence | The amount of influence turbulence noise has on the previously created volume. |
| Cell Influence | How much influence the cellular pattern has on the previously created volume. |
| Pulse Length | How fast the noise moves. Higher values result in slower movement. |
Turbulence Settings
| Mode | Controls how to blend the generated noise on to the volume. Additive adds, and Multiplicative multiplies. In most cases, additive returns a more dynamic source showing larger internal differences. The final result is always pre-multiplied. |
| Sharpness | Controls the contrast of the turbulence pattern generated. If Adaptive Cells are enabled, this value controls to great extend how the cellular pattern looks. Higher values result in more warped cells. |
| Amplitude | Magnitude of turbulence applied. |
| Grain | The amount of influence added bands of Turbulence have, relative to the initial Elements Size. |
| Turbulence | Levels of turbulence to apply relative to the the initial Element Size. For smoother transitions, use lower values. |
| Offset | Offsets turbulence pattern. |
| Element Size | Initialized (base) element size, measured in world units. The value is derived from frequency, ie: 1/FQ. |
Cell Settings
| Mode | Controls how to blend the generated noise on to the volume. Additive adds, and Multiplicative multiplies. In most cases, additive returns a more dynamic source showing larger internal differences. The final result is always pre-multiplied. |
| Invert Cells | Inverts the cellular pattern. |
| Adaptive Cells | Changes the Cell Size based on the generated turbulence pattern. Lower turbulence values result in smaller cells, creating a more organic pattern. This enforces a relationship between the two noise types. |
| Split Distance | Specifies the border width of the cells. |
| Offset | Offsets the cellular pattern. |
| Harshness | Controls the contour of the cells. Lower values result in a sharper cell representation. |
| Cell Size | The global cell size measured in world units. |
| Minimum Distance | Only available when Adaptive Cells is turned on. Controls the minimum cell size. If the pattern becomes too noisy, increase this value. |
| Maximum Distance | Only available when Adaptive Cells is turned on. Controls the maximum cell size. The closer this value is to the Minimum Distance, the more uniformly shaped the cells will become. |
Motion Blur
Blurs the volume based on the amount of Geometry Samples provided. The resulting volumes are averaged.
| Frames to Blur | The amount of frames to blur. |
| Geometry Samples | The amount of samples used over the amount of frames to blur. |
| Blur Offset | Shifts the blur. 0 is center sampled, -1 trails are sampled, and 1 leads are sampled. This value is relative to the amount of Frames to Blur. |
Particles
| Create Particles | Create particles inside the specified SDF. |
| Particle Source | The name of the scalar SDF volume inside of which to create particles. |
| Particle Separation | The distance between generated particles. |
| Jitter Seed | Random seed for creating jitter. |
| Jitter Scale | The amount of jitter to apply to the positional values of the particles. |
| Viscosity | Creates a |
| Density | Creates a |
Partitioning
Uses a point or primitive attribute to create multiple volumes out of a single piece of geometry.
Tip
Use the Cluster Points operator to separate geometry in to similar sized groups of points and use the cluster attribute as the Partition Attribute.
Tip
When a Smoke Object has Instancing turned on, the Source Volume DOP responsible for loading the volumes will automatically look for the partition values assigned.
| Partition Attribute | Attribute used to separate the incoming geometry. All independent groups will be sampled into a separate volume. The volume name is a combination of the Name and partition number. For example, |
SDF Sampling
SDF sampling options are only used if the incoming geometry is of a type primitive. See the Iso Offset help for more information.
Inputs
| Points, Primitives or a Volume | Geometry to sample into one or multiple volumes. |
Examples
| TorusVolume | Load | Launch |
This example demonstrates how you can use the Fluid Source SOP to create a volume for fluid simulations from a torus. | |
Examples that use this node
| Example for | Example name | |
|---|---|---|
| Field Force | fieldforce | Load | Launch |
| ||
| FLIP Solver | DensityViscosity | Load | Launch |
| ||
| FLIP Solver | VariableViscosity | Load | Launch |
| ||
| Gas Up Res | UpresRetime | Load | Launch |
| ||
| Smoke Object | Open CL smoke | Load | Launch |
| ||
| Cluster Points | AnimatedSourcePoints | Load | Launch |
| ||