isurf
This node creates iso-surface from input particles and supports four most popular particle meshing methods. ISurf can also transfer uvw data from particle onto the output mesh. As input it supports particles, particle groups, voxel grid and PhysX PBD liquid.
[Inputs]
#Particle Stream - This pin requires a particle stream to be connected. Connection is usually not required if any of the attributes is connected.
#Input (Grid) – Connect voxel grid to generate mesh based on smoke, fire or temperature.
#Input (PhysX) – Connect PhysX Simulation to generate mesh based on PBD Liquid particles.
Enabled - Enable or disable node evaluation.
ISurf Shape Group - ISurf node outputs a particle that will belong to this group. Particle will not be visible in the viewport and it will not affect the position of the shape.
PBD Phases List – This option is visible only when PhysX input pin is connected. The ISurf node can be applied selectively to specific liquid phases. If no phase is specified, the force will affect all liquid phases by default.
Input Particle Group
This rollout is hidden when PhysX input pin is connected.
Enable RegEx - Enable this option to mesh particle groups as defined with the regular expression.
Parameters
Meshing Mode - There are several methods to create iso surface and each method will be covered below. Zhu-Bridson will generate the smoothest surface, while Anisotropic is the best for meshing many water particles although it`s the slowest option.
Grid Spacing - Iso surface meshing is done on a regular grid where each grid cell calculates contribution for each particle. Smaller spacing will result in more detailed mesh but it`ll take considerable more memory and time to compute.
Radius - Particle influence radius. This parameter is unique for all particles. You should take care that radius value is bigger than Grid Spacing.
Grid Spacing Scale – Available when Grid pin is connected. Use this option to set ISurf meshing grid spacing relative to the voxel grid spacing. Value of 1.0 mean that the mesh spacing will be equal to the voxel grid spacing.
Grid Channel – Available when Grid pin is connected. Select which channel you want to use to generate mesh.
Channel Threshold – Available when Grid pin is connected. Channel values that are lower than threshold will be skipped and not used to create mesh.
Material ID - Particle shape material ID.
UVW 1 Map Channel - ISurf can write up to two UV channels to mesh on per-particle basis. Values present on UVW 1 pin will be written to this channel.
UVW 1 Map Channel - Values present on UVW 2 pin will be written to this channel.
|
|
|
|
|
|
Union of Spheres |
Metaballs |
Zhu-Bridson |
Anisotropic |
Union of Spheres
Treats each particle as perfect sphere. Resulting mesh won`t be thin and smooth as other modes.
Metaballs
This is a standard iso surface generation method.
Threshold - Iso surface threshold. Smaller threshold will produce more relaxed surface.
Zhu-Bridson
More advanced method than metaballs that tends to create a smoother surface.
Threshold - Iso surface threshold. Smaller threshold will produce more relaxed surface.
Anisotropic
The most advanced and the slowest method that allows particles to be stretched to create the smoothest surface of all available methods. This meshing mode is perfect for smooth liquids surface.
Threshold - Iso surface threshold. Smaller threshold will produce more relaxed surface.
Min. Neighbours - Particle will be stretched only if it has at least this many neighbours.
Lambda - Smaller value will result in surface with more disconnected areas.
Max Stretch - Maximum particle stretch amount.
Data Transfer
ISurf can retrieve velocities from any particle system and UVW data from NodeWorks particles, then bake them onto the resulting mesh. However, velocities are always generated as they are required for motion blur and filtering, while UVW is generated on demand.
Radius Scale – When transferring particle data to the mesh, this value will multiply the Radius value to transfer data across a broader range of voxels. In most cases, this value can remain at 1.0, but as soon as you use smoothing, you may need to increase it to obtain correct velocities or UVWs across the surface.
UVW – Enable this option to transfer mapping coordinates from particles to the mesh. In NodeWorks, you must create a custom channel for the particles and assign UVW values to it. Enter the name of this custom channel in the text box.
Channel – Mapping channel that will hold UVW coordinates.
Display Velocity – This is useful for verifying if velocities are properly written to the mesh. Issues may arise with high smoothing values but can be resolved by increasing the Radius Scale value..
Filtering
Filtering options allow you to smooth the entire mesh or selectively target specific areas based on particle velocities using the Filtering Mask. Without the mask, the entire water surface would be smoothed, even in areas where detail is needed. Since the most detail is typically found in regions of high liquid velocity, applying a velocity-based filter mask helps retain detail in those areas.
Enabled – Check this option to enable smoothing.
Mode – Choose between three filtering options: Mean, Gaussian and Median. Each option will result in smoother surface but at the expense of details.
Kernel Radius – Higher values will result in a smoother surface. The mean filter is the slowest one, and high values can significantly impact meshing speed.
Use Mask – Enable the Mask option to vary the filter strength based on velocity, which will help to preserve detail in areas of high velocity.
Mask Alpha – Blend between smoothed and original values using this mask, which can be animated. This is useful for generating a completely smooth water surface before object impact or in similar situations. In regions where the mask or alpha value is zero, no smoothing will be applied.
Mask Min. Velocity – Minimum velocity value where mask strength will be the strongest.
Mask Max. Velocity – Maximum velocity value where mask strength will be the weakest
Mask Smooth Enable – Enable this option to apply smoothing to the mask itself. If there is an abrupt transition between the mask and the unsmoothed mesh, use this option to create a gradual transition.
Mask Mode – Enable this option to apply smoothing to the mask itself. If there is an abrupt transition between the mask and the unsmoothed mesh, use this option to create a gradual transition
Display Mask – Displays the smoothing mask directly on the mesh as a color gradient where red values represent the strongest mask value and blue is the weakest. Enabling this option will automatically enable NodeWorks Vertex Color display option.
Boundaries are used to mesh only a portion of particles or just to generate liquid surface.
Enable – Press this option to enable the Boundaries feature. If you press this option for the first time, ISurf will automatically create a Bounding Box helper object and add it to the list.
Boundaries
Enabled – Check this option if you want to use Bounding Box helper.
Create Bounding Box – Click on this button to create Bounding Box helper object in the scene and add it to the ISurf.
Remove Boundaries – With this option enabled, ISurf will mesh only the water surface, which is useful when rendering pools or large bodies of water.
Flatten Surface – This option will create gradual transition from simulation to the fixed water level.
Water Level – Level of water body – this is the level along the positive Z axis.
Blend Distance % – Distance as percentage from the bounding box boundary.