Go to: Related nodes. Attributes.

The nBase node implements a base object which interacts with the nucleus dynamics solver.

This node is abstract

Node nameParentsMFn typeCompatible function sets
nBaseparticlekNBasekBase
kNamedObject
kDependencyNode
kDagNode
kShape
kParticle
kNBase

Related nodes

field, spring, nCloth, nRigid

Attributes (88)

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

Long name (short name)TypeDefaultFlags
inputMesh (imsh) Genericn/aoutputinputconnectablestorable
Input Geometr(y/ies) for soft body. This should be connected from the local/object-space version of the geometry. Valid inputs are polygons, nurbs surfaces, nurbs curves, and lattices.
positions (poss) Genericn/aoutputinputconnectablestorablehidden
Input for cached position data
velocities (vels) Genericn/aoutputinputconnectablestorablehidden
Input for cached velocity data
internalState (inst) Genericn/aoutputinputconnectablestorablehidden
Input for cached internal dynamic state data
playFromCache (pfc) boolfalseoutputinputconnectablestorablekeyable
When enabled, it reads back position from the vector array input
cacheArrayData (chad) genericArrayemptyoutputinputconnectablehidden
Input for arbitrary cached data If there is any data for this frame (i.e. playFromCache is true) nodes derived from nBaseShape may, if they want to, and if this attr is connected. look through the available data and choose which channels they might want to read. Currently, this is used for nParticle caching. Individual cached channels will still work for nCloth
startPositions (spns) vectorArrayemptyoutputinputconnectablestorablehidden
Start positions
startVelocities (sves) vectorArrayemptyoutputinputconnectablestorablehidden
Start velocities
thickness (thss) float0.1outputinputconnectablestorablekeyable
Defines the thickness of each input/output mesh
thicknessMap (thmp) float0.1outputinputconnectablestorable
Thickness map for cloth/object
thicknessPerVertex (thpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex thickness for cloth/object
bounce (boce) float0.0outputinputconnectablestorablekeyable
Defines the self-collision bounce for each input/output mesh
bounceMap (bomp) float0.0outputinputconnectablestorable
Bounce map for cloth/object
bouncePerVertex (bpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex bounce for cloth/object
friction (fron) float0.1outputinputconnectablestorablekeyable
Defines the self-collision friction for each input/output mesh
frictionMap (frmp) float0.0outputinputconnectablestorable
Friction map for cloth/object
frictionPerVertex (fpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex friction for cloth/object
damp (adng) float0.0outputinputconnectablestorablekeyable
Defines the motion-averaging damping for this mesh
dampMap (admp) float0.0outputinputconnectablestorable
damping map for cloth
dampPerVertex (dpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex damping for cloth/object
stickiness (stck) float0.0outputinputconnectablestorablekeyable
Defines how well this object will stick to other nThings If the total stickiness of the things interacting is 2.0 or more, they will stick and stay stuck. Sickiness will have the effect of increaing friction and reducing bounce.
stickinessMap (skmp) float0.0outputinputconnectablestorable
Stickiness map for cloth/object
stickinessPerVertex (skpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex stickiness for cloth/object
collideStrength (clst) float1.0outputinputconnectablestorablekeyable
This controls the strength of the push used to resolve collisions. For most purposes the default of 1.0 is best. The collide strength is most useful for disabling collisions at the vertex level: By setting the collide strength to zero on some components of the object one can locally turn off the collisions. This can be simpler and more efficient than using collide exclude constraints. As well it can be animated and there is a degree of softness to the collision effect... one can gradually enable collisions over time which can avoid popping behavior in some situations. For a value of zero there will be no collision and for values less than one collisions may fail. Values larger than one will result in strong bounces that while perhaps useful in some situations could result in instabilities. Negative values would impart a push through a surface instead of colliding.
collideStrengthMap (csmp) float0.0outputinputconnectablestorable
CollideStrength map for cloth/object
collideStrengthPerVertex (cspv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex collideStrength for cloth/object
collisionFlag (cofl) enum2outputinputconnectablestorablekeyable
Controls the elements of the object that collide. Thickness is added to the collisions, so if vertex is selected the collisions are with spheres around each vertex. If edge is use then collisions are with cylinders around the edges as well as with spheres at the vertices. If face is selected then the entire surface is collided with. Note that the resulting collision surface for face, when thickness is applied is the sum of vertex edge and face collisions, so the effective borders of the mesh will be rounded and extended.
selfCollisionFlag (scfl) enum0outputinputconnectablestorablekeyable
Controls the type(s) of collisions that are processed.
maxSelfCollisionIterations (msci) integer4outputinputconnectablestorablekeyable
Maximum number of self collision iterations per subcycle.
maxIterations (mxit) integer10000outputinputconnectablestorablekeyable
Defines the maximum number of iterations used to compute various dynamic properties like drag, damping, stretch and bend. Higher iterations take longer, and the primary use of this attribute is to keep things from locking up should high iteration values be requested. High values on dynamic attributes, high resolution geometry or large times steps can all increase the attempted number of iterations.
pointMass (pmss) float1.0outputinputconnectablestorablekeyable
Base mass for cloth/object
massMap (mamp) float1.0outputinputconnectablestorable
Mass map for cloth/object
massPerVertex (mpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex mass for cloth/object
restLengthScale (rlsc) float1.0outputinputconnectablestorablekeyable
Allows the rest length to change with the object size
localForce (lfcr) float3outputinputconnectablestorablekeyable
Defines a force vector that pushes in a similar fashion to gravity.
localForceX (lfcx) float0.0outputinputconnectablestorablekeyable
Defines the x component of the force.
localForceY (lfcy) float0.0outputinputconnectablestorablekeyable
Defines the y component of the force.
localForceZ (lfcz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the force.
localWind (lwnr) float3outputinputconnectablestorablekeyable
This velocity is added into the the current wind velocity for this object.
localWindX (lwnx) float0.0outputinputconnectablestorablekeyable
Defines the x component of the wind.
localWindY (lwny) float0.0outputinputconnectablestorablekeyable
Defines the y component of the wind.
localWindZ (lwnz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the wind.
active (actv) bool1outputinputconnectablestorable
Tell the solver whether or not to solve this object
collide (cold) bool1outputinputconnectablestorablekeyable
Tell the solver if this object participates in collisions
selfCollide (scld) bool1outputinputconnectablestorablekeyable
Tell the solver if this object collides with its own geometry
collisionLayer (cll) float0.0outputinputconnectablestorablekeyable
Layer for collision with other objects. Objects with the same layer value intercollide in a normal fashion, while if the layer values are different the object with the lower value will appear more massive for the purpose of the collision. If the difference is one or more then the object with the lower value will push but not be pushed. This is useful for layered clothing, where one could assign a lower collision layer for the shirt than for as coat. This will make it easier for the solver to simulate the coat without interpentration errors. Note that one can also use the collision layer to keep some objects from intercolliding altogether, optimizing the performance. The attribute collisionLayerRange on the solver works with collison layer to determine collision exclusion. For example if one does not wishes to collide a shirt with the body and a coat with the shirt, but not collide the coat to the body, one can do so by making the collision layer 0 on the body, 1 on the shirt and 2 on the coat and setting the collisionLayerRange to 1.5. The difference between the coat(2) and the body (0) is 2, which is greater than 1.5 thus they will not collide, while the coat and the shirt are only different by 1, so they will collide.
windShadowDiffusion (wsdi) float0.0outputinputconnectablestorablekeyable
How much does the wind diffuse around this object
windShadowDistance (wsds) float0.0outputinputconnectablestorablekeyable
The distance over which the wind shadow drops off behind this object
airPushDistance (apds) float0.0outputinputconnectablestorablekeyable
The distance over which the wind created by the motion of this object affects other objects.
airPushVorticity (apvy) float0.0outputinputconnectablestorablekeyable
The distance over which the wind created by the motion of this object affects other objects.
pushOut (pou) float0.0outputinputconnectablestorablekeyable
A force to push out other objects to the nearest point on this objects surface. This can be useful when dealing with objects that are in collision at the start frame. As well this can be animated to help fix a bad state at certain frames. It is even possible to use this in a limited sense instead of collisions, but it can fail for fast moving collisions. At a force value of 1 it pushes objects completely out in one step. Lower values will take more steps but may be smoother. The push amount takes into account the collide width values. Points further from the surface than the pushOutRadius value will be ignored. If the value of pushOut is positive then the push is towards the positive normal side of the surface. Negative values push to the opposite of the normal side of the surface.
pushOutRadius (por) float10.0outputinputconnectablestorablekeyable
This defines the max distance from the surface that pushOut will affect. Thus objects more than this distance from this object will not be affected by the push out.
crossoverPush (cop) float0.0outputinputconnectablestorablekeyable
This is a force applied to other objects along the contour where they crossover this object. Because it only works at the point of crossover it may take several steps for the surface to pop out into a good state. If collisions are enabled for this object on may wish to combine this with the trappedCheck toggle because that will disable collisions for crossed over objects. It can also be used to clean up interpenetration at the start frame, although the collisions should be disabled when doing so. This handles sharp edges better than the pushOut attribute, but requires that the surfaces be crossing at some point and can take more steps. It also may shift or rotate meshes more than the pushOut in some cases. Lower values will take longer to resolve the collision, but can create smoother results.
trappedCheck (tpc) bool0outputinputconnectablestorablekeyable
This tracks collision crossovers and attempts to push the crossed over points back. It assumes that the surface is in a good state at the start and attempts to preserve that relative state. It is very useful in cases where cloth can get caught between passive objects than interpenetrate (for example an elbow passing through a chest). Rather than get stuck on the wrong side this allows the cloth to push back to the correct side when the passive objects later separate.
forceField (ffd) enum0outputinputconnectablestorablekeyable
This controls a force field from the the surface of this object that pushes on particles or vertices. The force is between vertices of other objects and the nearest point on surface of this object. The Along Normal method will push the point along the surface normal for positive Field Magnitude values and in the opposite direction for negative magnitudes. Single Sided behaves in a similar fashion, but has no effect when the point being pushed is on the side of the surface opposite the normal. Double Sided pushes away from the surface regardless of which side the point is on if the magnitude is positive, and attracts to the surface for negative magnitudes. One control magnitude at different distances using the Field Scale attribute.
fieldMagnitude (fma) float1.0outputinputconnectablestorablekeyable
This defines the strength of attraction of particles or vertices to the nearest point on this object's surface. Negative values repel and and positive ones attract. The value of this is multipled by the Field Scale.
fieldMagnitudeMap (fmmp) float0.0outputinputconnectablestorable
Field Magnitude map for cloth/object
fieldMagnitudePerVertex (fmpv) doubleArrayemptyoutputinputconnectablestorable
Per-vertex field magnitude for cloth/object
fieldDistance (fdi) float1.0outputinputconnectablestorablekeyable
This defines the range of the Field Scale attribute. The left side of the Field Scale will affect the force at zero distance from the the surface, while the right side will scale the force at the field distance. Values beyond this distance clamp to the value at the right side of the ramp. If one has a field scale ramp that goes to zero at the right side then the field distance defines the maximum extent of the field.
fieldScale (fsc) compoundn/aarrayoutputinputconnectablestorablekeyable
Field Scale allows one to control the strength of the field based on distance. This multiplies the Field Magnitude value. The left side of the ramp is the strength at a distance of zero with the right side representing the value at the Field Distance. Distances beyond the Field Distance value get clamped to the value at the righthand side of the ramp. If the righthand value is zero then the field will have no effect beyond the Field Distance.
fieldScale_Position (fscp) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
fieldScale_FloatValue (fscfv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
fieldScale_Interp (fsci) 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.

pointForceField (pff) enum0outputinputconnectablestorablekeyable
This controls a force field between vertices or particles. The Thickness Relative setting scales the Point Field Distance by the collision thickness or radius setting where a value of 1.0 represents the thickness. If the setting is instead Worldspace then the Point Field Distance is in worldspace and not relative to the thickness.
pointFieldMagnitude (pfma) float1.0outputinputconnectablestorablekeyable
This defines the strength of attraction of points on other objects to points on this object. Negative values repel and and positive ones attract. The value of this is multipled by the Point Field Scale.
selfAttract (sfat) float0.0outputinputconnectablestorablekeyable
This controls the self attraction magnitude of the point force field. This is the degree to which points on this object attract or repel each other. Positive values attract and negative values repel. This can be used to simulate effects like water, especially when the Point Field Scale is adjusted to simulate attraction at near distances and repulsion at very near distances.
pointFieldDistance (pfdi) float2.0outputinputconnectablestorablekeyable
This defines the range of the Point Field Scale attribute. The left side of the Field Scale will affect the force at zero distance from the the surface, while the right side will scale the force at the field distance. Values beyond this distance clamp to the value at the right side of the ramp. If one has a field scale ramp that goes to zero at the right side then the field distance defines the maximum extent of the field. This distance is either in worldspace or is relative to the point collision radius, depending on the Point Force Field setting.
pointFieldDropoff (pfdo) compoundn/aarrayoutputinputconnectablestorablekeyable
Point Field Dropoff allows one to control the strength of the point field based on distance. This multiplies the Point Field Magnitude and Self Attract values. The left side of the ramp is the strength at a distance of zero with the right side representing the value at the Field Distance. Distances beyond the Field Distance value get clamped to the value at the righthand side of the ramp. If the righthand value is zero then the field will have no effect beyond the Field Distance.
pointFieldDropoff_Position (pfdop) float0.0outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
pointFieldDropoff_FloatValue (pfdofv) float0.0outputinputconnectablestorablekeyable
Ramp value at the sibling position
pointFieldDropoff_Interp (pfdoi) 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.

thicknessMapType (tmt) enum2outputinputconnectablestorable
What type of thickness map to use: per-vertex, texture or none.
bounceMapType (bmt) enum2outputinputconnectablestorable
What type of bounce map to use: per-vertex, texture or none.
frictionMapType (fmt) enum2outputinputconnectablestorable
What type of friction map to use: per-vertex, texture or none.
stickinessMapType (skmt) enum2outputinputconnectablestorable
What type of stickiness map to use: per-vertex, texture or none.
collideStrengthMapType (csmt) enum2outputinputconnectablestorable
What type of collideStrength map to use: per-vertex, texture or none.
dampMapType (dmt) enum2outputinputconnectablestorable
What type of damp map to use: per-vertex, texture or none.
massMapType (mmt) enum2outputinputconnectablestorable
What type of mass map to use: per-vertex, texture or none.
fieldMagnitudeMapType (fmmt) enum2outputinputconnectablestorable
What type of fieldMagnitude map to use: per-vertex, texture or none.
nextState (nxst) Genericn/ainputconnectable
Nsolver returns state for next step here
currentState (cust) Genericn/aoutputconnectable
Geometry and material properties coverted to nData
startState (stst) Genericn/aoutputconnectable
Geometry and material properties coverted to nData
nucleusId (nuid) Genericn/aoutputconnectablehidden
Internal Id that identifies a Nucleus object to other members of the Nsystem
localSpaceOutput (lsou) bool0outputinputconnectablestorablekeyable
If true then output is transformed from world to local space.
displayColor (dcl) float3outputinputconnectablestorable
Color for interactive display of thickness.
displayColorR (dcr) float1.0outputinputconnectablestorablekeyable
display Red value
displayColorG (dcg) float0.8outputinputconnectablestorablekeyable
display Green value
displayColorB (dcb) float0.0outputinputconnectablestorablekeyable
display Blue value