Go to: Related nodes. Attributes.

The jointCluster node provides a high-level way to control a cluster node's percentage values around a joint. JointClusters are one way to create smooth bending behavior on skin as joints rotate.

            --- clusterHandle1 (parented to J1)
           |
           |      u       l
           V______u_______l________  <---- clusterHandle2 (parented to J2)
                  u       l        \
          J1      u       l      J2 \
           _______u_______l______    \
         upper    u       l    lower  \
         value    u       l     value  \
                upper   lower      \    \
                bound   bound       \    \
The attributes most of interest to control the behavior are:
Node name Parents MFn type Compatible function sets
jointCluster cluster kJointCluster kBase
kNamedObject
kDependencyNode
kGeometryFilt
kWeightGeometryFilt
kClusterFilter
kJointCluster

Related nodes

lattice, cluster, nonLinear, blendShape, skinCluster, boneLattice, wrap, wire, ffd, jointFfd, sculpt, jointLattice, flexorShape, deformFunc, deformSquash, deformTwist, deformBend, deformWave, deformFlare, deformSine, baseLattice, clusterHandle

Attributes (48)

bindPose, boneLength, childEnabled, childJointBindPose, childJointClusterXforms, childJointMidplaneAxis, childJointPostCompensationMatrix, childJointPostMatrix, childJointPreCompensationMatrix, childJointPreMatrix, childJointWeightedCompensationMatrix, childJointWeightedMatrix, childjointMidplaneAxisX, childjointMidplaneAxisY, childjointMidplaneAxisZ, clusterFlexorSet, convertedTo2, distanceList, distances, enableAutoPercentUpdate, jointMidplaneAxis, jointMidplaneAxisX, jointMidplaneAxisY, jointMidplaneAxisZ, lastLowerBound, lastUpperBound, lowerBound, lowerDropoffType, lowerEnabled, lowerValue, nextJointBindPose, nextJointClusterXforms, nextJointMidplaneAxis, nextJointPostCompensationMatrix, nextJointPostMatrix, nextJointPreCompensationMatrix, nextJointPreMatrix, nextJointWeightedCompensationMatrix, nextJointWeightedMatrix, nextjointMidplaneAxisX, nextjointMidplaneAxisY, nextjointMidplaneAxisZ, redoLowerWeights, redoUpperWeights, upperBound, upperDropoffType, upperEnabled, upperValue

Long name (short name) Type Default Flags
redoLowerWeights (rlw) Message n/a outputconnectablehidden
Message attribute used internally to indicate that lower bone weights are dirty.
redoUpperWeights (ruw) Message n/a outputconnectablehidden
Message attribute used internally to indicate that the upper bone weights are dirty.
childJointClusterXforms (cjx) compound n/a arrayoutputinputconnectablehidden
The bundled cluster transforms for the child joint.
childJointPreMatrix (cpr) matrix identity outputinputconnectablehidden
WorldSpace matrix above cluster weighted matrix for child joint.
childJointWeightedMatrix (cjw) matrix identity outputinputconnectablehidden
Cluster weighted matrix for child joint.
childJointPostMatrix (cpo) matrix identity outputinputconnectablehidden
WorldSpace matrix below cluster weighted matrix for child joint.
childJointPreCompensationMatrix (cjpr) matrix identity arrayoutputinputconnectablehidden
WorldSpace matrix above next joints weighted matrix comp (-bs)
childJointWeightedCompensationMatrix (cjwc) matrix identity arrayoutputinputconnectablehidden
Cluster weighted matrix compensation
childJointPostCompensationMatrix (cjps) matrix identity arrayoutputinputconnectablehidden
WorldSpace matrix below child joint's handle.
bindPose (bp) matrix identity outputinputconnectablehidden
The matrix of the clustered joint, at the time it was bound.
nextJointBindPose (njb) matrix identity outputinputconnectablehidden
The matrix of the joint after the clustered joint, at the time it was bound.
childJointBindPose (cjb) matrix identity arrayoutputinputconnectablehidden
The matrix of the child of the clustered joint at the time it was bound.
childEnabled (che) bool 0 arrayoutputinputstorable
Whether or not the lower part is enabled.
jointMidplaneAxis (jma) double3 outputinputconnectablestorablehidden
Axis that averages the bindPose axes above and below this joint. Used when a joint has more than one child joint.
jointMidplaneAxisX (jmx) distance (double) 0.0cm outputinputconnectablestorable
X value of the axis that averages the bindPose axes above and below this joint.
jointMidplaneAxisY (jmy) distance (double) 0.0cm outputinputconnectablestorable
Y value of the axis that averages the bindPose axes above and below this joint.
jointMidplaneAxisZ (jmz) distance (double) 0.0cm outputinputconnectablestorable
Z value of the axis that averages the bindPose axes above and below this joint.
nextJointClusterXforms (njx) compound n/a outputinputconnectablehidden
The bundled cluster transforms for the next joint.
nextJointPreMatrix (npr) matrix identity outputinputconnectablehidden
WorldSpace matrix above cluster weighted matrix for next joint.
nextJointWeightedMatrix (njw) matrix identity outputinputconnectablehidden
Cluster weighted matrix for next joint.
nextJointPostMatrix (npo) matrix identity outputinputconnectablehidden
WorldSpace matrix below cluster weighted matrix for next joint.
nextJointPreCompensationMatrix (njpr) matrix identity outputinputconnectablehidden
WorldSpace matrix above next joint's weighted matrix compensation.
nextJointWeightedCompensationMatrix (njwc) matrix identity outputinputconnectablehidden
Cluster weighted matrix compensation.
nextJointPostCompensationMatrix (njps) matrix identity outputinputconnectablehidden
WorldSpace matrix below next joint's handle.
nextJointMidplaneAxis (njm) double3 outputinputconnectablehidden
Axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisX (nmx) distance (double) 0.0cm outputinputconnectable
X value of the axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisY (nmy) distance (double) 0.0cm outputinputconnectable
Y value of the axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisZ (nmz) distance (double) 0.0cm outputinputconnectable
Z value of the axis that averages the bindPose axes above and below the next joint.
childJointMidplaneAxis (cjm) double3 arrayoutputinputconnectablestorablehidden
Axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisX (cmx) distance (double) 0.0cm outputinputconnectablestorable
X value of the axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisY (cmy) distance (double) 0.0cm outputinputconnectablestorable
Y value of the axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisZ (cmz) distance (double) 0.0cm outputinputconnectablestorable
Z value of the axis that averages the bindPose axes above and below the child joint.
distanceList (dl) compound n/a arrayoutputinputconnectablehidden
List of cached distances to nearest bone, one per input geometry.
distances (cd) float 0.0 arrayoutputinputconnectablehidden
Cached distances to nearest bone for one geometry.
boneLength (bl) float 0.0 outputinputconnectablestorable
% of the length of the bone; used when joint has more than one child.
upperBound (ub) float 10 outputinputconnectablestorablekeyable
% of the length of the bone along which the top joint dropoff occurs.
lastUpperBound (lub) float 0.0 outputinputhidden
former value of the upperBound attribute, for internal use only
upperValue (uv) float 1.0 outputinputconnectablestorablekeyable
Initial dropoff Value in direction of upper joint
lowerBound (lb) float 10.0 outputinputconnectablestorablekeyable
% of the length of the bone along which the next joint dropoff occurs.
lastLowerBound (llb) float 0.0 outputinputhidden
former value of the lowerBound attribute, for internal use only
lowerValue (lv) float 1.0 outputinputconnectablestorablekeyable
Initial dropoff Value in direction of lower joint
upperDropoffType (udt) enum 0 outputinputstorablekeyable
Type of dropoff above joint. Valid values are: 0 = "linear", 1 = "sine", 2 = "exponential", 3 = "none".
lowerDropoffType (ldt) enum 0 outputinputstorablekeyable
Type of dropoff below joint: sinusoidal, linear, exponential Valid values are: 0 = "linear", 1 = "sine", 2 = "exponential", 3 = "none".
upperEnabled (upe) bool 0 outputinputstorable
Whether or not the upper part is enabled.
lowerEnabled (lwe) bool 0 outputinput
Whether or not the lower part is enabled.
clusterFlexorSet (cfs) Message n/a outputinputconnectablehidden
attribute is connected to the flexor set if this is a cluster flexor
enableAutoPercentUpdate (epu) bool 0 outputhidden
enables or disables the automatic percentage update
convertedTo2 (ct2) bool 0 outputinputstorablehidden
whether the percents have been converted to 2.0 style. This value should not be modified by the user. Doing so will cause your percents to be modified the next time the file is read.