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 nameParentsClassificationMFn typeCompatible function sets
jointClusterclusterdeformerkJointClusterkBase
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)TypeDefaultFlags
redoLowerWeights (rlw) Messagen/aoutputconnectablehidden
Message attribute used internally to indicate that lower bone weights are dirty.
redoUpperWeights (ruw) Messagen/aoutputconnectablehidden
Message attribute used internally to indicate that the upper bone weights are dirty.
childJointClusterXforms (cjx) compoundn/aarrayoutputinputconnectablehidden
The bundled cluster transforms for the child joint.
childJointPreMatrix (cpr) matrixidentityoutputinputconnectablehidden
WorldSpace matrix above cluster weighted matrix for child joint.
childJointWeightedMatrix (cjw) matrixidentityoutputinputconnectablehidden
Cluster weighted matrix for child joint.
childJointPostMatrix (cpo) matrixidentityoutputinputconnectablehidden
WorldSpace matrix below cluster weighted matrix for child joint.
childJointPreCompensationMatrix (cjpr) matrixidentityarrayoutputinputconnectablehidden
WorldSpace matrix above next joints weighted matrix comp (-bs)
childJointWeightedCompensationMatrix (cjwc) matrixidentityarrayoutputinputconnectablehidden
Cluster weighted matrix compensation
childJointPostCompensationMatrix (cjps) matrixidentityarrayoutputinputconnectablehidden
WorldSpace matrix below child joint's handle.
bindPose (bp) matrixidentityoutputinputconnectablehidden
The matrix of the clustered joint, at the time it was bound.
nextJointBindPose (njb) matrixidentityoutputinputconnectablehidden
The matrix of the joint after the clustered joint, at the time it was bound.
childJointBindPose (cjb) matrixidentityarrayoutputinputconnectablehidden
The matrix of the child of the clustered joint at the time it was bound.
childEnabled (che) bool0arrayoutputinputstorable
Whether or not the lower part is enabled.
jointMidplaneAxis (jma) double3outputinputconnectablestorablehidden
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.0cmoutputinputconnectablestorable
X value of the axis that averages the bindPose axes above and below this joint.
jointMidplaneAxisY (jmy) distance (double)0.0cmoutputinputconnectablestorable
Y value of the axis that averages the bindPose axes above and below this joint.
jointMidplaneAxisZ (jmz) distance (double)0.0cmoutputinputconnectablestorable
Z value of the axis that averages the bindPose axes above and below this joint.
nextJointClusterXforms (njx) compoundn/aoutputinputconnectablehidden
The bundled cluster transforms for the next joint.
nextJointPreMatrix (npr) matrixidentityoutputinputconnectablehidden
WorldSpace matrix above cluster weighted matrix for next joint.
nextJointWeightedMatrix (njw) matrixidentityoutputinputconnectablehidden
Cluster weighted matrix for next joint.
nextJointPostMatrix (npo) matrixidentityoutputinputconnectablehidden
WorldSpace matrix below cluster weighted matrix for next joint.
nextJointPreCompensationMatrix (njpr) matrixidentityoutputinputconnectablehidden
WorldSpace matrix above next joint's weighted matrix compensation.
nextJointWeightedCompensationMatrix (njwc) matrixidentityoutputinputconnectablehidden
Cluster weighted matrix compensation.
nextJointPostCompensationMatrix (njps) matrixidentityoutputinputconnectablehidden
WorldSpace matrix below next joint's handle.
nextJointMidplaneAxis (njm) double3outputinputconnectablehidden
Axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisX (nmx) distance (double)0.0cmoutputinputconnectable
X value of the axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisY (nmy) distance (double)0.0cmoutputinputconnectable
Y value of the axis that averages the bindPose axes above and below the next joint.
nextjointMidplaneAxisZ (nmz) distance (double)0.0cmoutputinputconnectable
Z value of the axis that averages the bindPose axes above and below the next joint.
childJointMidplaneAxis (cjm) double3arrayoutputinputconnectablestorablehidden
Axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisX (cmx) distance (double)0.0cmoutputinputconnectablestorable
X value of the axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisY (cmy) distance (double)0.0cmoutputinputconnectablestorable
Y value of the axis that averages the bindPose axes above and below the child joint.
childjointMidplaneAxisZ (cmz) distance (double)0.0cmoutputinputconnectablestorable
Z value of the axis that averages the bindPose axes above and below the child joint.
distanceList (dl) compoundn/aarrayoutputinputconnectablehidden
List of cached distances to nearest bone, one per input geometry.
distances (cd) float0.0arrayoutputinputconnectablehidden
Cached distances to nearest bone for one geometry.
boneLength (bl) float0.0outputinputconnectablestorable
% of the length of the bone; used when joint has more than one child.
upperBound (ub) float10outputinputconnectablestorablekeyable
% of the length of the bone along which the top joint dropoff occurs.
lastUpperBound (lub) float0.0outputinputhidden
former value of the upperBound attribute, for internal use only
upperValue (uv) float1.0outputinputconnectablestorablekeyable
Initial dropoff Value in direction of upper joint
lowerBound (lb) float10.0outputinputconnectablestorablekeyable
% of the length of the bone along which the next joint dropoff occurs.
lastLowerBound (llb) float0.0outputinputhidden
former value of the lowerBound attribute, for internal use only
lowerValue (lv) float1.0outputinputconnectablestorablekeyable
Initial dropoff Value in direction of lower joint
upperDropoffType (udt) enum0outputinputstorablekeyable
Type of dropoff above joint. Valid values are: 0 = "linear", 1 = "sine", 2 = "exponential", 3 = "none".
lowerDropoffType (ldt) enum0outputinputstorablekeyable
Type of dropoff below joint: sinusoidal, linear, exponential Valid values are: 0 = "linear", 1 = "sine", 2 = "exponential", 3 = "none".
upperEnabled (upe) bool0outputinputstorable
Whether or not the upper part is enabled.
lowerEnabled (lwe) bool0outputinput
Whether or not the lower part is enabled.
clusterFlexorSet (cfs) Messagen/aoutputinputconnectablehidden
attribute is connected to the flexor set if this is a cluster flexor
enableAutoPercentUpdate (epu) bool0outputhidden
enables or disables the automatic percentage update
convertedTo2 (ct2) bool0outputinputstorablehidden
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.