Go to: Attributes.

This is the generic solver node for different nThings For now nCloth, but later nBases, nRigidBodies....

Node nameParentsClassificationMFn typeCompatible function sets
nucleustransformdrawdb/geometry/dynamics/nucleusMarkerkNucleuskBase
kNamedObject
kDependencyNode
kDagNode
kTransform
kNucleus

Attributes (50)

airDensity, collisionFlag, collisionLayerRange, collisionSoftness, currentTime, enable, evalId, forceDynamics, frameJumpLimit, gravity, gravityDirection, gravityDirectionX, gravityDirectionY, gravityDirectionZ, inputActive, inputActiveStart, inputCurrent, inputPassive, inputPassiveStart, inputStart, lastTime, maxCollisionIterations, outputObjects, planeBounce, planeFriction, planeNormal, planeNormalX, planeNormalY, planeNormalZ, planeOrigin, planeOriginX, planeOriginY, planeOriginZ, planeStickiness, selfCollisionFlag, skipSetup, spaceScale, startFrame, startTime, subSteps, timeScale, timingOutput, usePlane, useTransform, windDirection, windDirectionX, windDirectionY, windDirectionZ, windNoise, windSpeed

Long name (short name)TypeDefaultFlags
airDensity (ady) float1.0outputinputconnectablestorablekeyable
Defines the air density affecting this dynamic system
collisionFlag (cofl) enum4outputinputconnectablestorable
Controls the type(s) of collisions that are processed.
collisionLayerRange (clra) float4.0outputinputconnectablestorablekeyable
This defines how close the collisionLayer value for two objects needs to be in order for them to intercollide. For example if one object has a collisionLayer value of 2 and the other 5, then they will collide as long the collisionLayerRange is greater than 3.
collisionSoftness (clso) float0.0outputinputconnectablestorablekeyablehidden
This defines how much collisions can interpenetrate the thickness
currentTime (cti) time0filmoutputinputconnectablekeyable
This is the current time used for the nucleus solve. By default, it is given an incoming connection from the main time node. This can be replaced with some other connection (e.g. from an expression or param curve), and then the solving is done based on that time value. There must be some incoming connection in order for the solve to take place and connected objects to play back.
enable (ena) booltrueoutputinputconnectablestorablekeyable
Toggle dynamics on/off for all the dynamic nThings using this solver
evalId (eid) time::maxTimeoutputinputhidden
Used to prevent multiple evaluation in one frame Synchronized with aCurrentTime after any evaluation attempt This attribute is usually the same as aLastTime Unless the solver FAILED because the time step is too large Even the solver failed, this attribute will still be synchronize with aCurrentTime
forceDynamics (fdn) boolfalsehidden
By requesting this attribute, all of the input active and passive and relationship things will be evaluated, and all output objects will be computed. It is intended to be used for batch mode and dynamics run-up.
frameJumpLimit (fjlt) integer1outputinputconnectablestorablekeyable
Maximum single step for solver. Solver will not try to compute a result when the current time jumps more than this value.
gravity (grty) float9.8outputinputconnectablestorablekeyable
Defines the gravity affecting this nucleus
gravityDirection (grdi) float3outputinputconnectablestorablekeyable
Defines the gravity direction affecting this nBase system
gravityDirectionX (grdx) float0.0outputinputconnectablestorablekeyable
Defines the x component of the gravity direction.
gravityDirectionY (grdy) float-1.0outputinputconnectablestorablekeyable
Defines the y component of the gravity direction.
gravityDirectionZ (grdz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the gravity direction.
inputActive (niao) Genericn/aarrayoutputinputconnectablestorable
Input nData from active nThings. This should be connected from the output of all the active nThings simulated by this solver Valid inputs are nCloth (nBase, etc)
inputActiveStart (nias) Genericn/aarrayoutputinputconnectablestorable
Input nData from active nThings. This should be connected from the output of all the active nThings simulated by this solver Valid inputs are nCloth (nBase, etc)
inputCurrent (ic) nIdnullptrarrayoutputinputconnectablestorable
Input current position eval from active nObjects. This should be connected from the eval current output of all the active nObjects simulated by this solver. Valid inputs are nCloth, dynamicConstraints, nBase, etc.
inputPassive (nipo) Genericn/aarrayoutputinputconnectablestorable
Input nData from passive nThings. This should be connected from the output of all the passive nThings connected to this solver Valid inputs are polygons, nurbs surfaces, nurbs curves, and lattices.
inputPassiveStart (nips) Genericn/aarrayoutputinputconnectablestorable
Input nData from passive nThings. This should be connected from the output of all the passive nThings connected to this solver Valid inputs are polygons, nurbs surfaces, nurbs curves, and lattices.
inputStart (is) nIdnullptrarrayoutputinputconnectablestorable
Input start eval connection from active nObjects. This should be connected from the eval start output of all the active nObjects simulated by this solver. Valid inputs are nCloth, dynamicConstraints, nBase, etc.
lastTime (lti) time::maxTimeoutputinputhidden
This is the time where the solver's current state is It equals to aCurrentTime - 1 before solve Or aCurrentTime after solve Must be synchronize with `fSolver.currentTime` before `fSolver.solve()` is called Note, this attribute will diverge from aCurrentTime if solver FAILED to update
maxCollisionIterations (mcit) integer4outputinputconnectablestorablekeyable
Maximum number of collision iterations per subStep.
outputObjects (noao) Genericn/aarrayoutputinputconnectable
Output Geometry for soft body.
planeBounce (npbc) float0.0outputinputconnectablestorablekeyable
Defines the plane bounce
planeFriction (npfr) float0.1outputinputconnectablestorablekeyable
Defines the plane friction
planeNormal (npun) float3outputinputconnectablestorablekeyable
Defines the (unit) normal of the plane in the collision system
planeNormalX (npnx) float0.0outputinputconnectablestorablekeyable
Defines the x component of the plane normal.
planeNormalY (npny) float1.0outputinputconnectablestorablekeyable
Defines the y component of the plane normal.
planeNormalZ (npnz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the plane normal.
planeOrigin (npor) float3outputinputconnectablestorablekeyable
Defines the origin of the plane in the collision system
planeOriginX (npox) float0.0outputinputconnectablestorablekeyable
Defines the x component of the plane origin.
planeOriginY (npoy) float0.0outputinputconnectablestorablekeyable
Defines the y component of the plane origin.
planeOriginZ (npoz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the plane origin.
planeStickiness (npst) float0.0outputinputconnectablestorablekeyable
Defines the plane stickiness. If the total stickiness of the interacting things is 2 they will stick thoroughly
selfCollisionFlag (scfl) enum1outputinputconnectablestorable
Controls the type(s) of self-collisions that are processed
skipSetup (sksp) boolfalseoutputinputhidden
Utility var to avoid recursive initialization Check the git history for more info
spaceScale (spsc) float1.0outputinputconnectablestorablekeyable
Pretend that the the object is a scale model, and apply forces internally so that you get the expected behavior for the actual sized model
startFrame (stf) double1.0outputinputconnectablestorablekeyable
The frame at which the solver will initialize and start solving. This attribute gets connected to all the objects controlled by this solver so that the start of the solve is synchronized.
startTime (sti) time1.0filmoutputinputconnectablehidden
The actual time of the start frame at the current frame rate.
subSteps (sstp) integer3outputinputconnectablestorablekeyable
Number of subSteps for each solve step.
timeScale (tisc) float1.0outputinputconnectablestorablekeyable
Scale the timestep that the solver uses.
timingOutput (to) enum0outputinputconnectablestorable
Controls the output of timing information
usePlane (nupl) boolfalseoutputinputconnectablestorablekeyable
Defines whether or not we use a plane in the collision system
useTransform (ustf) booltrueoutputinputconnectablestorablekeyable
This applies the nucleus transform to the solver so that all simulation is done in a local space relative to the tranformation of the nucleus node. For example for a character on a train one could parent the nucleus node to the train and the solve for clothing will behave as if the train were stationary. (Note that one would generally also parent the nCloth and any constraints to the train as well) If this is off then nucleus always solves in worldspace and its transform is ignored.
windDirection (widi) float3outputinputconnectablestorablekeyable
Defines the wind direction affecting this nBase system
windDirectionX (widx) float1.0outputinputconnectablestorablekeyable
Defines the x component of the wind direction.
windDirectionY (widy) float0.0outputinputconnectablestorablekeyable
Defines the y component of the wind direction.
windDirectionZ (widz) float0.0outputinputconnectablestorablekeyable
Defines the z component of the wind direction.
windNoise (wnoi) float0.0outputinputconnectablestorablekeyable
Defines the wind randomization affecting this nBase system
windSpeed (wisp) float0.0outputinputconnectablestorablekeyable
Defines the wind speed affecting this nBase system