Go to: Related nodes. Attributes.

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

This node is abstract

Node name Parents MFn type Compatible function sets
nBase particle kNBase kBase
kNamedObject
kDependencyNode
kDagNode
kShape
kParticle
kNBase

Related nodes

field, spring, nCloth, nRigid

Attributes (80)

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

Long name (short name) Type Default Flags
inputMesh (imsh) Generic n/a outputinputconnectablestorable
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) Generic n/a outputinputconnectablestorablehidden
Input for cached position data
velocities (vels) Generic n/a outputinputconnectablestorablehidden
Input for cached velocity data
internalState (inst) Generic n/a outputinputconnectablestorablehidden
Input for cached internal dynamic state data
playFromCache (pfc) bool false outputinputconnectablestorablekeyable
When enabled, it reads back position from the vector array input
cacheArrayData (chad) genericArray empty outputinputconnectablehidden
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) vectorArray empty outputinputconnectablestorablehidden
Start positions
startVelocities (sves) vectorArray empty outputinputconnectablestorablehidden
Start velocities
thickness (thss) float 0.1 outputinputconnectablestorablekeyable
Defines the thickness of each input/output mesh
thicknessMap (thmp) float 0.1 outputinputconnectablestorable
Thickness map for cloth/object
thicknessPerVertex (thpv) doubleArray empty outputinputconnectablestorable
Per-vertex thickness for cloth/object
bounce (boce) float 0.0 outputinputconnectablestorablekeyable
Defines the self-collision bounce for each input/output mesh
bounceMap (bomp) float 0.0 outputinputconnectablestorable
Bounce map for cloth/object
bouncePerVertex (bpv) doubleArray empty outputinputconnectablestorable
Per-vertex bounce for cloth/object
friction (fron) float 0.1 outputinputconnectablestorablekeyable
Defines the self-collision friction for each input/output mesh
frictionMap (frmp) float 0.0 outputinputconnectablestorable
Friction map for cloth/object
frictionPerVertex (fpv) doubleArray empty outputinputconnectablestorable
Per-vertex friction for cloth/object
damp (adng) float 0.0 outputinputconnectablestorablekeyable
Defines the motion-averaging damping for this mesh
dampMap (admp) float 0.0 outputinputconnectablestorable
damping map for cloth
dampPerVertex (dpv) doubleArray empty outputinputconnectablestorable
Per-vertex damping for cloth/object
stickiness (stck) float 0.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorable
Stickiness map for cloth/object
stickinessPerVertex (skpv) doubleArray empty outputinputconnectablestorable
Per-vertex stickiness for cloth/object
collideStrength (clst) float 1.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorable
CollideStrength map for cloth/object
collideStrengthPerVertex (cspv) doubleArray empty outputinputconnectablestorable
Per-vertex collideStrength for cloth/object
collisionFlag (cofl) enum 2 outputinputconnectablestorablekeyable
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) enum 0 outputinputconnectablestorablekeyable
Controls the type(s) of collisions that are processed.
maxSelfCollisionIterations (msci) integer 4 outputinputconnectablestorablekeyable
Maximum number of self collision iterations per subcycle.
maxIterations (mxit) integer 10000 outputinputconnectablestorablekeyable
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) float 1.0 outputinputconnectablestorablekeyable
Base mass for cloth/object
massMap (mamp) float 1.0 outputinputconnectablestorable
Mass map for cloth/object
massPerVertex (mpv) doubleArray empty outputinputconnectablestorable
Per-vertex mass for cloth/object
restLengthScale (rlsc) float 1.0 outputinputconnectablestorablekeyable
Allows the rest length to change with the object size
active (actv) bool 1 outputinputconnectablestorable
Tell the solver whether or not to solve this object
collide (cold) bool 1 outputinputconnectablestorablekeyable
Tell the solver if this object participates in collisions
selfCollide (scld) bool 1 outputinputconnectablestorablekeyable
Tell the solver if this object collides with its own geometry
collisionLayer (cll) float 0.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
How much does the wind diffuse around this object
windShadowDistance (wsds) float 0.0 outputinputconnectablestorablekeyable
The distance over which the wind shadow drops off behind this object
airPushDistance (apds) float 0.0 outputinputconnectablestorablekeyable
The distance over which the wind created by the motion of this object affects other objects.
airPushVorticity (apvy) float 0.0 outputinputconnectablestorablekeyable
The distance over which the wind created by the motion of this object affects other objects.
pushOut (pou) float 0.0 outputinputconnectablestorablekeyable
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) float 10.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
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) bool 0 outputinputconnectablestorablekeyable
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) enum 0 outputinputconnectablestorablekeyable
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) float 1.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorable
Field Magnitude map for cloth/object
fieldMagnitudePerVertex (fmpv) doubleArray empty outputinputconnectablestorable
Per-vertex field magnitude for cloth/object
fieldDistance (fdi) float 1.0 outputinputconnectablestorablekeyable
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) compound n/a arrayoutputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
fieldScale_FloatValue (fscfv) float 0.0 outputinputconnectablestorablekeyable
Ramp value at the sibling position
fieldScale_Interp (fsci) enum 0 outputinputconnectablestorablekeyable
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) enum 0 outputinputconnectablestorablekeyable
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) float 1.0 outputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
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) float 2.0 outputinputconnectablestorablekeyable
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) compound n/a arrayoutputinputconnectablestorablekeyable
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) float 0.0 outputinputconnectablestorablekeyable
Position of ramp value on normalized 0-1 scale
pointFieldDropoff_FloatValue (pfdofv) float 0.0 outputinputconnectablestorablekeyable
Ramp value at the sibling position
pointFieldDropoff_Interp (pfdoi) enum 0 outputinputconnectablestorablekeyable
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) enum 2 outputinputconnectablestorable
What type of thickness map to use: per-vertex, texture or none.
bounceMapType (bmt) enum 2 outputinputconnectablestorable
What type of bounce map to use: per-vertex, texture or none.
frictionMapType (fmt) enum 2 outputinputconnectablestorable
What type of friction map to use: per-vertex, texture or none.
stickinessMapType (skmt) enum 2 outputinputconnectablestorable
What type of stickiness map to use: per-vertex, texture or none.
collideStrengthMapType (csmt) enum 2 outputinputconnectablestorable
What type of collideStrength map to use: per-vertex, texture or none.
dampMapType (dmt) enum 2 outputinputconnectablestorable
What type of damp map to use: per-vertex, texture or none.
massMapType (mmt) enum 2 outputinputconnectablestorable
What type of mass map to use: per-vertex, texture or none.
fieldMagnitudeMapType (fmmt) enum 2 outputinputconnectablestorable
What type of fieldMagnitude map to use: per-vertex, texture or none.
nextState (nxst) Generic n/a inputconnectable
Nsolver returns state for next step here
currentState (cust) Generic n/a outputconnectable
Geometry and material properties coverted to nData
startState (stst) Generic n/a outputconnectable
Geometry and material properties coverted to nData
nucleusId (nuid) Generic n/a outputconnectablehidden
Internal Id that identifies a Nucleus object to other members of the Nsystem
localSpaceOutput (lsou) bool 0 outputinputconnectablestorablekeyable
If true then output is transformed from world to local space.
displayColor (dcl) float3 outputinputconnectablestorable
Color for interactive display of thickness.
displayColorR (dcr) float 1.0 outputinputconnectablestorablekeyable
display Red value
displayColorG (dcg) float 0.8 outputinputconnectablestorablekeyable
display Green value
displayColorB (dcb) float 0.0 outputinputconnectablestorablekeyable
display Blue value