Go to: Related nodes. Attributes.

The nParticle node applys dynamic motion to a deformable mesh.
 This can be used to simulate cloth behavior, as well as other
 deformable dynamic shapes, such as metal.

Node nameParentsMFn typeCompatible function sets
nParticlenBasekNParticlekBase
kNamedObject
kDependencyNode
kDagNode
kShape
kParticle
kNBase
kNParticle

Related nodes

field, spring, nBase, nRigid

Attributes (87)

Attribute quick index omitted (too many attributes to show them all).

Long name (short name)TypeDefaultFlags
numSubdivisions (nsub) integer2outputinputconnectablestorable
Number of subdivisions for each input/output mesh pairing.
scalingRelation (srl) enum0outputinputconnectablestorable
This defines the way dynamic attributes such as bend, stretch and tension are defined relative to object scale and cv density. If Link is specified then stretch and bend are fixed values applied at each link. Thus if a mesh has more cvs it will appear to be more stretchy and bendable, even thought the amount of stretch and bend is the same on a per link basis. With Object Space the mesh will bend and stretch the same amount regardless of the resolution of the mesh. Note that this can result in significantly greater compute times for the high resolution mesh, as the individual links need to be stiffer, which requires more calculation( on top of having more links to compute ). World Space is similar to ObjectSpace, except that the stiffness of the mesh is now fixed in worldspace. Thus scaling a mesh up will make it appear to be a larger sheet made of the same material, which appears proportionately less stiff. For example a small piece of paper may bend little under gravity, but a large sheet would flop.
inputAttract (iatt) float0.0outputinputconnectablestorablekeyable
Defines how attacted the cloth is to the current position of the input mesh.
inputAttractDamp (iadm) float0.5outputinputconnectablestorablekeyable
Defines how springy the effect of Input Mesh Attract is. At a value of zero input mesh attract will behave like a spring connection from the input mesh to the output dynamic mesh. The cloth will tend to wiggle about the input mesh position. As the Input Attract Damp is increased to 1 the cloth mesh will still move to the input mesh position but not have the momentum to travel past it, so will no longer occillate about the input position.
ignoreSolverGravity (igsg) bool0outputinputconnectablestorablekeyable
Turn off the effect of the gravity that is defined on the solver node.
ignoreSolverWind (igsw) bool0outputinputconnectablestorablekeyable
Turn off the effect of the wind that is defined on the solver node.
windSelfShadow (wssh) bool0outputinputconnectablestorablekeyable
Allow the object to shadow parts of itself from the wind.
drag (drg) float0.01outputinputconnectablestorablekeyable
Defines the drag affecting this nBase system
solverDisplay (svds) enum0outputinputconnectablestorable
Interactive display of internal solver info.
collideWidthScale (cwds) float1.0outputinputconnectablestorablekeyable
This defines the collision thickness relative to the radius value. If the collide width scale is 1.0 then the collision width will be the same as the radius. If it is 0.5 then the collision width will be half the radius value.
selfCollideWidthScale (scws) float1.0outputinputconnectablestorablekeyable
Allows the thickness of each input/output mesh to be scaled for self collision. This value is defined relative to the CollisionWidth, so if SelfCollideWidthScale is 1.0 then the width for self collision will be the same as the collision width. If it is 2.0 then it will be twice the collision width. It can often be useful to the make the self collision width greater than that for collision with other objects, especially when using vertex self collisions.
emissionOverlapPruning (eopr) float0outputinputconnectablestorablekeyable
This kills newly emitted particles before they appear in the simulation based on how they overlap with existing particles. This value scales the collision radius used to determine overlap. At a value of 1.0 it guarantees no self collisions with other particles on emission.
enableSPH (esph) bool0outputinputconnectablestorablekeyable
Use SPH to get liquidlike behavior
parallelSPH (psph) bool0outputinputconnectable
Use parallel algorithm for SPH
recomputePairsSPH (rpsp) bool0outputinputconnectable
Recompute Pairs in inner loop for SPH
incompressibility (incp) float1.0outputinputconnectablestorablekeyable
This determines now much particles will resist being compressed, if SPH is enabled
viscosity (visc) float0.1outputinputconnectablestorablekeyable
viscosity, if SPH is enabled
restDensity (rdns) float2outputinputconnectablestorablekeyable
the amount of overlap that particles attempt to achieve, with SPH enabled
radiusScaleSPH (rsph) float1outputinputconnectablestorablekeyable
how much to scale the radius for all of the above
threshold (thr) double0.1outputinputconnectablestorablekeyable
The threshold determines how smooth a blobby particle surface is. The threshold is the density beyond which is inside the surface. Each particle has a density of one in the center falling off to zero at the edge. The density of the particles sum where they overlap creating the overal density field. Note that at densities greater than 1.0 individual particles will disappear and only show up when overlapping other particles.
radius (ra) float0.2outputinputconnectablestorablekeyable
This determines the overall size of particles.
radiusScale (rdc) compoundn/aarrayoutputinputconnectablestorablekeyable
Radius Scale multiplies the radius value of the particles.
radiusScale_Position (rdcp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
radiusScale_FloatValue (rdcfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
radiusScale_Interp (rdci) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

radiusScaleInput (rci) enum0outputinputconnectablestorable
This determines what attribute is used to index into the color ramp.
radiusScaleInputMax (rcix) float1outputinputconnectablestorablekeyable
This defines the range of the RadiusScale ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
radiusScaleRandomize (rsr) double0.0outputinputconnectablestorablekeyable
This is a random size multiplier of the the per particle radius scale values.
massScale (mssc) compoundn/aarrayoutputinputconnectablestorablekeyable
Mass Scale multiplies the mass value of the particles.
massScale_Position (msscp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
massScale_FloatValue (msscfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
massScale_Interp (mssci) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

massScaleInput (msli) enum0outputinputconnectablestorable
This determines what attribute is used to index into the mass scale ramp.
massScaleInputMax (msix) float1outputinputconnectablestorablekeyable
This defines the range of the MassScale ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
massScaleRandomize (msr) double0.0outputinputconnectablestorablekeyable
This is a random size multiplier of the the per particle mass scale values.
pointFieldScale (pfsc) compoundn/aarrayoutputinputconnectablestorablekeyable
Point Field Scale multiplies the point field value of the particles.
pointFieldScale_Position (pfscp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
pointFieldScale_FloatValue (pfscfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
pointFieldScale_Interp (pfsci) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

pointFieldScaleInput (psli) enum0outputinputconnectablestorable
This determines what attribute is used to index into the point field scale ramp.
pointFieldScaleInputMax (psix) float1outputinputconnectablestorablekeyable
This defines the range of the PointFieldScale ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
opacity (op) double1outputinputconnectablestorablekeyable
The shading opacity.
opacityScale (opc) compoundn/aarrayoutputinputconnectablestorablekeyable
Opacity Scale multiplies the opacity value of the particles.
opacityScale_Position (opcp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
opacityScale_FloatValue (opcfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
opacityScale_Interp (opci) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

opacityScaleInput (oci) enum0outputinputconnectablestorable
This determines what attribute is used to index into the opacity ramp.
opacityScaleInputMax (osis) float1outputinputconnectablestorablekeyable
This defines the range of the OpacityScale ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
opacityScaleRandomize (osr) double0.0outputinputconnectablestorablekeyable
This is a random size multiplier of the the per particle opacity scale values.
colorRed (clr) double0.0outputconnectable
The internal per object color.
colorGreen (clg) double0.0outputconnectable
The internal per object color.
colorBlue (clb) double0.0outputconnectable
The internal per object color.
color (cl) compoundn/aarrayoutputinputconnectablestorablekeyable
Color defines a range of color values used to render the particles.
color_Position (clp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
color_Color (clc) float3outputinputconnectablestorablekeyable
Ramp color at the sibling position
color_ColorR (clcr) float0.0outputinputconnectablestorablekeyable
Ramp red channel value at the sibling position
color_ColorG (clcg) float0.0outputinputconnectablestorablekeyable
Ramp green channel value at the sibling position
color_ColorB (clcb) float0.0outputinputconnectablestorablekeyable
Ramp blue channel value at the sibling position
color_Interp (cli) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

colorInput (coi) enum0outputinputconnectablestorable
This determines what attribute is used to index into the color ramp.
colorInputMax (cimx) float1outputinputconnectablestorablekeyable
This defines the range of the Color ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
colorRandomize (colr) double0.0outputinputconnectablestorablekeyable
This randomizes the input values for the color ramp for per particle color values. It requires that the colorInput be set to something other than Constant.
incandescence (inca) compoundn/aarrayoutputinputconnectablestorablekeyable
Incandescence defines a range of incandescence values used to render the particles.
incandescence_Position (incap) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
incandescence_Color (incac) float3outputinputconnectablestorablekeyable
Ramp color at the sibling position
incandescence_ColorR (incacr) float0.0outputinputconnectablestorablekeyable
Ramp red channel value at the sibling position
incandescence_ColorG (incacg) float0.0outputinputconnectablestorablekeyable
Ramp green channel value at the sibling position
incandescence_ColorB (incacb) float0.0outputinputconnectablestorablekeyable
Ramp blue channel value at the sibling position
incandescence_Interp (incai) enum0outputinputconnectablestorablekeyable
Ramp Interpolation controls the way the intermediate values are calculated. The values are:
    None: No interpolation is done; the different colors just show up as different bands in the final texture.

    Linear: The values are interpolated linearly in RGB color space.

    Smooth: The values are interpolated along a bell curve, so that each color on the ramp dominates the region around it, then blends quickly to the next color.

    Spline: The values are interpolated with a spline curve, taking neighboring indices into account for greater smoothness.

incandescenceInput (ini) enum0outputinputconnectablestorable
This determines what attribute is used to index into the incandescence ramp.
incandescenceInputMax (iimx) float1outputinputconnectablestorablekeyable
This defines the range of the Incandescence ramp. For the input "Age" this would be the maximum age in seconds mapped into the ramp. Any older particles would then get the value at the left side of the ramp. For the input particleID this would refer to the maximum particle ID value across the ramp, defined in hundreds of particles. Thus if one had 5000 particles one would need to set this to 50 in order for all particles to have a unique index into the ramp. Input values higher than the max value always clamp to the left side of the ramp.
incandescenceRandomize (icar) double0.0outputinputconnectablestorablekeyable
This randomizes the input values for the incandescence ramp for per particle color values. It requires that the incandescenceInput be set to something other than Off.
internalRadiusRamp (inrr) doubleArrayemptyoutputconnectable
The output Array of per particle radius values based on the radiusScale ramp attribute
internalMassRamp (inmr) doubleArrayemptyoutputconnectable
The output Array of per particle mass values based on the massScale ramp attribute
internalFieldScaleRamp (infs) doubleArrayemptyoutputconnectable
The output Array of per particle field values based on the fieldScale ramp attribute
internalOpacityRamp (inor) doubleArrayemptyoutputconnectable
The output Array of per particle opacity values based on the opacityScale ramp attribute
internalColorRamp (incr) vectorArrayemptyoutputconnectable
The output Array of per particle color values based on the color ramp attribute
internalIncandescenceRamp (inir) vectorArrayemptyoutputconnectable
The output Array of per particle color values based on the incandescence ramp attribute
cacheableAttributes (caat) enum1outputinputconnectablestorable
This specifies which per particle attributes will be included the cache file when this node is cached.
blobbyRadiusScale (brs) double1.0outputinputconnectablestorablekeyable
This determines how much the particle is scaled up for creating a blobby isosurface or output mesh. The actual surface is determined by the blobbyThreshold combined with the density function. The density is defined as 1 at the particle center falling off to zero at the edges. By increasing the radiusScale one can overlap the particles without affecting dynamic behavior. One can make the resulting surface smooth by increasing the radius scale along with the blobbyThreshold.
motionStreak (mstr) double0.0outputinputconnectablestorablekeyable
This elongates particles in the direction of motion when creating the output blobby surface mesh. At a value of zero particles are round densities, while at a value of one they are tubes the length of the particle motion over the last time step. This takes longer to build the surface, but also can partially fake motion blur without requiring a slower render. It also is generally useful for shaping the flow and look of liquids. Note that it only affects output particle meshes and not volume particle renders.
useGradientNormals (ugn) boolfalseoutputinputconnectablestorable
If on, then we create user normals based on the gradient of the particle density. This results in a smoother looking output mesh, especially in regions with thin triangles. This only affects the output particle mesh and not volume particle renders.
meshTriangleSize (mts) double0.5outputinputconnectablestorablekeyable
This determines the general size of triangles for the particle output mesh. The smaller this is the better the particle output mesh will be resolved, but it will also take more memory and time to compute. The maxTriangleResolution determines a maximum number of voxels to subdivide space into when creating the triangles. If the particle system bounds are very large relative to the meshTriangleSize then this will clamp the number of output triangles. It does this by effectively making the triangle size larger so that fewer triangles are needed. Thus as particles fly apart the triangle size will start to get larger when the maxTriangleResolution is exceeded. The maximum total number of voxels used to create the triangles is equal to the cube of the meshTriangleSize, or (size*size*size).
maxTriangleResolution (mtrr) integer100outputinputconnectablestorable
This limits how many voxels are used to created the output triangle mesh. This can be viewed as the resolution on the side of a lattice, so the maximum resolution of the voxel grid used in generating triangles will be the cube of this value. This limit will be hit when the bounds of the particle system combined with the mesh triangle size create a voxel grid with more voxels than this value cubed. After the limit is hit the triangles will start to grow in size as the particle system bounds get larger( rather than, for example, dropping out triangles )
meshSmoothingIterations (msit) integer0outputinputconnectablestorable
This specified how much to smooth the output mesh
meshMethod (mmd) enum0outputinputconnectablestorable
This determines what method is used to mesh the particle isosurface
outMesh (oms) meshNULLoutputconnectablehidden
Output isosurface mesh based on blobby particle density.