Particle Fluid Surface surface node
Generates a polygonal surface around the particles from a particle fluid simulation.
Connect geometry containing the particle field from a particle fluid simulation to Input 1 of this node to generate a surface around the particle field. Any set of points may be used as an input to this SOP, provided the “pscale” point attribute is defined in the input. If it is not, a default “pscale” value of 0.1 is used for all inputs points.
Optionally, volume primitives may be subtracted from the surface prior to polygonization using the second input.
See the Particle Fluid Solver dynamics help for examples of how to use this SOP.
Parameters
Surface
Use this tab to specify basic surface parameters.
Step Size | The polygon size to use when polygonizing the surface. |
Point Radius Scale | This SOP generates geometry using an implicit function similar to the one used when generating geometry around metaballs. Namely, each particle in the input has associated with it a radius of influence in which it can affect the surface. Initially, this radius is established by each particle’s “pscale” attribute. This parameter scales that radius of influence. Increasing this parameter causes each point on the generated surface to be sampled from a larger set of a particles. This means that the resulting surface may appear smoother, but will also have less detail. Similarly, decreasing this parameter causes each point on the generated surface to be sampled from a smaller set of particles, potentially resulting in more detail at the cost of making the surface less smooth. |
Method | Average Position, or Metaball. |
Surface Distance | Controls the thickness of the surface around the particle field. Larger values here create a surface which lies farther away from the fluid particles. Smaller values may force the fluid surface to wrap the particles more tightly, but may also cause the surface to lie inside of the particle field. This parameter is scaled internally by the Point Radius Scale parameter. |
Surface Tightness | Increasing this parameter has the effect of tightening the surface around the fluid particles. |
Kernel | Specifies the interpolating metaball kernel. |
Weight | Specifies the weight of each metaball. |
Exclude Lone Particles | When this option is enabled, particles with no neighbor’s within their support radii are excluded from the surfacing calculation. |
Bounding Box
Use this tab to specify a bounding box in which the surface should be generated.
Override Bounding Box | Only generate surface polygons inside of the explicitly specified bounding box. |
Minimum Bound | The minimum boundaries of the user-defined bounding box. |
Maximum Bound | The maximum boundaries of the user-defined bounding box. |
Collision Volumes
Use this tab to specify volume primitives to be subtracted from the fluid surface. This can be used to ensure that the generated surface does not penetrate other objects in the scene.
Subtract Collision Volumes | When this option is enabled, volume primitives specified in Input 2 are subtracted from the fluid surface. |
Collision Offset | The distance from the collision volume at which subtraction occurs. |
Attributes
This tab is used to transfer point attributes from the input particle field to the generated surface.
Tip | Use this tab to transfer the velocity attribute |
Attributes | Specifies the list of point attributes to transfer from the particles to the fluid surface. |
Compute Normals | Computes normals based on the gradient of the fluid density. |
Speed Stretching
This tab is used to produce the effect of the fluid surface stretching backwards along its velocity vector.
Note | This feature is incompatible with the Exclude Lone Particles parameter found in the Surface tab. |
Enable Speed Stretching | When this parameter is enabled, the SOP stretches the surface in the opposite direction of each particle’s velocity vector. |
Particle Duplicates | Speed stretching is accomplished by making copies of a particle along its velocity vector. This parameter controls the number of copies of each particle that are used. |
Scale Stretch Length | When this parameter is enabled the distance at which particles are trailed behind input particles is scaled on a per-particle basis by the particle scale of each input particle. This is useful when inputs to the SOP have varying particle scales. |
Stretch Fraction | Each input particle is stretched according to the length of its velocity vector scaled by this parameter. |
Maximum Stretch Length | The maximum distance that any particle may be stretched. |
Particle Size Ratio | Setting this parameter to anything other than one will cause the duplicated stretch particles to differ in size from the original particle. This controls the ratio in size of the smallest stretch particle (which is positioned farthest away from the original particle) to the original particle. |
Filtering
Filtering can be used to smooth out small details in the generated surface, while also tightening the surface around the input particles.
Tip | Setting Method in the Surface tab to “Metaball” generates a surface that encloses the input particles. Filtering can then be used to refine this surface to make it appear smoother and more fluid-like. |
Enable Filtering | Enables/disables the filtering feature. | ||
Filter Steps | Filtering is an iterative process. This parameter controls the number of filter iterations to perform. Increasing the number of filter steps further smooths out details in the generated surface and, depending on the Filter Tightness parameter, may cause the surface to further shrink around its input particles. More detailed geometry (surfaces with smaller Step Size parameters) will require more steps to achieve the same effect as less detailed surfaces. | ||
Filter Width | When this SOP generates a surface, it computes surface density values on a grid with cell sizes specified by the Step Size parameter. Filtering is achieved by blending together values from each grid cell and some number of adjacent cells. This parameter controls the number of grid cells involved in each blend operation. | ||
Filter Tightness | Increasing this parameter causes the filtering operation to “shrink” the generated surface. This effect can be used to move the generated surface closer to the input particle field.
| ||
Filter Attributes | When this parameter is enabled, attributes transferred to the surface also have their values filtered. |
Inputs
| Particle Fluid Field | The particle geometry to generate a surface around. |
| Collision Volumes | Volume primitives to subtract from the fluid surface. |
Outputs
| Output | The fluid surface. |
Examples
The following examples use this node:
PressureExample
$HFS/mozilla/documents/examples/nodes/dop/particlefluidsolver/PressureExample.otl
PressureExample
$HFS/mozilla/documents/examples/nodes/dop/particlefluidsolver/PressureExample.otl
WorkflowExample
$HFS/mozilla/documents/examples/nodes/dop/particlefluidsolver/WorkflowExample.otl
WorkflowExample
$HFS/mozilla/documents/examples/nodes/dop/particlefluidsolver/WorkflowExample.otl
