Go to: Attributes.

transform nodes are dagNodes that are used to group and transform other dagNodes. All dagNodes that are not transform nodes in Maya must exist as a child of some transform node.

Transformation Matrix (DAG)

transform nodes have many attributes that make up the final transformation matrix as represented by the matrix attribute. This breakdown provides animators fine control over the animation of these parameters. Therefore, it is necessary to describe the order in which these attributes are applied to build the final matrix attribute.

Note: matrices are post-multiplied in Maya. For example, to transform a point p from object-space to world-space you would need to post-multiply by the worldMatrix. (p' = p * wm)

              -1                      -1
   matrix = SP * S * SH * SP * ST * RP * RA * R * RP * RT * T
 
(where '*' denotes matrix multiplication and '-1' denotes matrix inversion'
   SP = |  1    0    0    0 |     ST = |  1    0    0    0 |
        |  0    1    0    0 |          |  0    1    0    0 |
        |  0    0    1    0 |          |  0    0    1    0 |
        | spx  spy  spz   1 |          | sptx spty sptz  1 |

S = | sx 0 0 0 | SH = | 1 0 0 0 | | 0 sy 0 0 | | shxy 1 0 0 | | 0 0 sz 0 | | shxz shyz 1 0 | | 0 0 0 1 | | 0 0 0 1 |

RP = | 1 0 0 0 | RT = | 1 0 0 0 | | 0 1 0 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 0 1 0 | | rpx rpy rpz 1 | | rptx rpty rptz 1 |

RA = AX * AY * AZ

AX = | 1 0 0 0 | AY = | cy 0 -sy 0 | | 0 cx sx 0 | | 0 1 0 0 | | 0 -sx cx 0 | | sy 0 cy 0 | | 0 0 0 1 | | 0 0 0 1 |

AZ = | cz sz 0 0 | sx = sin(rax), cx = cos(rax) | -sz cz 0 0 | sy = sin(ray), cx = cos(ray) | 0 0 1 0 | sz = sin(raz), cz = cos(raz) | 0 0 0 1 |

Rotate: If the rotationInterpolation attribute specifies quaternion interpolation, use the following OpenMaya API calls to construct the matrix: Mquaternion q( rx, ry, rz, rw ) R = q.asMatrix()

Otherwise, for Euler-angle rotation use: R = RX * RY * RZ (Note: order is determined by rotateOrder)

RX = | 1 0 0 0 | RY = | cy 0 -sy 0 | | 0 cx sx 0 | | 0 1 0 0 | | 0 -sx cx 0 | | sy 0 cy 0 | | 0 0 0 1 | | 0 0 0 1 |

RZ = | cz sz 0 0 | sx = sin(rx), cx = cos(rx) | -sz cz 0 0 | sy = sin(ry), cx = cos(ry) | 0 0 1 0 | sz = sin(rz), cz = cos(rz) | 0 0 0 1 |

T = | 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 | | tx ty tz 1 |

Node nameParentsClassificationMFn typeCompatible function sets
transformdagNodedrawdb/geometry/transformkTransformkBase
kNamedObject
kDependencyNode
kDagNode
kTransform

Attributes (109)

The following quick index only shows top-level attributes (too many attributes to show them all): displayHandle, displayLocalAxis, displayRotatePivot, displayScalePivot, dynamics, geometry, inheritsTransform, maxRotLimit (3), maxRotLimitEnable (3), maxScaleLimit (3), maxScaleLimitEnable (3), maxTransLimit (3), maxTransLimitEnable (3), minRotLimit (3), minRotLimitEnable (3), minScaleLimit (3), minScaleLimitEnable (3), minTransLimit (3), minTransLimitEnable (3), rotate (3), rotateAxis (3), rotateOrder, rotatePivot (3), rotatePivotTranslate (3), rotateQuaternion (4), rotationInterpolation, scale (3), scalePivot (3), scalePivotTranslate (3), selectHandle (3), shear (3), showManipDefault, specifiedManipLocation, transMinusRotatePivot (3), translate (3), xformMatrix

Long name (short name)TypeDefaultFlags
displayHandle (dh) boolfalseoutputinputconnectablestorable
Boolean indicating whether the selection handle for this transform should be displayed.
displayLocalAxis (dla) boolfalseoutputinputconnectablestorable
Boolean indicating whether the local rotation axis for this transform should be displayed.
displayRotatePivot (drp) boolfalseoutputinputconnectablestorable
Boolean indicating whether the rotate pivot point for this transform should be displayed.
displayScalePivot (dsp) boolfalseoutputinputconnectablestorable
Boolean indicating whether the scale pivot point for this transform should be displayed.
dynamics (dyn) boolfalseinputconnectable
When connected, this attribute indicates that this transform is part of a dynamics simulation.
geometry (g) Genericn/ainputconnectable
Geometry attribute used for positional constraints.
inheritsTransform (it) booltrueoutputinputconnectablestorable
Attribute that controls whether this transform inherits transformations from its parent transform. If this value is false then the transform will act as though it is in world-space. In other words, transformations to its parent will not affect the world-space position of this transform and the parentMatrix attribute on this transform will return the identity matrix. This is primarily used when grouping objects with their construction history to prevent double transformations on the output object.
maxRotLimit (mxrl) double3outputinputconnectablestorable
Rotate maximum. Rotation values greater than this value will be clamped to this value.
maxRotXLimit (xrxl) angle (double)45degoutputinputconnectablestorable
Maximum rotation X.
maxRotYLimit (xryl) angle (double)45degoutputinputconnectablestorable
Maximum rotation Y.
maxRotZLimit (xrzl) angle (double)45degoutputinputconnectablestorable
Maximum rotation Z.
maxRotLimitEnable (xrle) compoundn/aoutputinputconnectablestorable
Enable rotate maximum.
maxRotXLimitEnable (xrxe) boolfalseoutputinputconnectablestorable
Enable rotate maximum X.
maxRotYLimitEnable (xrye) boolfalseoutputinputconnectablestorable
Enable rotate maximum Y.
maxRotZLimitEnable (xrze) boolfalseoutputinputconnectablestorable
Enable rotate maximum Z.
maxScaleLimit (mxsl) double3outputinputconnectablestorable
Scale maximum. Scale values greater than this value will be clamped to this value.
maxScaleXLimit (xsxl) double1outputinputconnectablestorable
Scale maximum X.
maxScaleYLimit (xsyl) double1outputinputconnectablestorable
Scale maximum Y.
maxScaleZLimit (xszl) double1outputinputconnectablestorable
Scale maximum Z.
maxScaleLimitEnable (xsle) compoundn/aoutputinputconnectablestorable
Enable scale maximum.
maxScaleXLimitEnable (xsxe) boolfalseoutputinputconnectablestorable
Enable scale maximum X.
maxScaleYLimitEnable (xsye) boolfalseoutputinputconnectablestorable
Enable scale maximum Y.
maxScaleZLimitEnable (xsze) boolfalseoutputinputconnectablestorable
Enable scale maximum Z.
maxTransLimit (mxtl) double3outputinputconnectablestorable
Translate maximum. Translation values greater than this value will be clamped to this value.
maxTransXLimit (xtxl) distance (double)1cmoutputinputconnectablestorable
Maximum translation X.
maxTransYLimit (xtyl) distance (double)1cmoutputinputconnectablestorable
Maximum translation Y.
maxTransZLimit (xtzl) distance (double)1cmoutputinputconnectablestorable
Maximum translation Z.
maxTransLimitEnable (xtle) compoundn/aoutputinputconnectablestorable
Enable translate maximum.
maxTransXLimitEnable (xtxe) boolfalseoutputinputconnectablestorable
Enable translate maximum X.
maxTransYLimitEnable (xtye) boolfalseoutputinputconnectablestorable
Enable translate maximum Y.
maxTransZLimitEnable (xtze) boolfalseoutputinputconnectablestorable
Enable translate maximum Z.
minRotLimit (mnrl) double3outputinputconnectablestorable
Rotate minimum. Rotation values less than this value will be clamped to this value.
minRotXLimit (mrxl) angle (double)-45degoutputinputconnectablestorable
Minimum rotation X.
minRotYLimit (mryl) angle (double)-45degoutputinputconnectablestorable
Minimum rotation Y.
minRotZLimit (mrzl) angle (double)-45degoutputinputconnectablestorable
Minimum rotation Z.
minRotLimitEnable (mrle) compoundn/aoutputinputconnectablestorable
Enable rotate minimum.
minRotXLimitEnable (mrxe) boolfalseoutputinputconnectablestorable
Enable rotate minimum X.
minRotYLimitEnable (mrye) boolfalseoutputinputconnectablestorable
Enable rotate minimum Y.
minRotZLimitEnable (mrze) boolfalseoutputinputconnectablestorable
Enable rotate minimum Z.
minScaleLimit (mnsl) double3outputinputconnectablestorable
Scale minimum. Scale values less than this value will be clamped to this value.
minScaleXLimit (msxl) double-1outputinputconnectablestorable
Scale minimum X.
minScaleYLimit (msyl) double-1outputinputconnectablestorable
Scale minimum Y.
minScaleZLimit (mszl) double-1outputinputconnectablestorable
Scale minimum Z.
minScaleLimitEnable (msle) compoundn/aoutputinputconnectablestorable
Enable scale minimum.
minScaleXLimitEnable (msxe) boolfalseoutputinputconnectablestorable
Enable scale minimum X.
minScaleYLimitEnable (msye) boolfalseoutputinputconnectablestorable
Enable scale minimum Y.
minScaleZLimitEnable (msze) boolfalseoutputinputconnectablestorable
Enable scale minimum Z.
minTransLimit (mntl) double3outputinputconnectablestorable
Translate minimum. Translation values less than this value will be clamped to this value.
minTransXLimit (mtxl) distance (double)-1cmoutputinputconnectablestorable
Minimum translation X.
minTransYLimit (mtyl) distance (double)-1cmoutputinputconnectablestorable
Minimum translation Y.
minTransZLimit (mtzl) distance (double)-1cmoutputinputconnectablestorable
Minimum translation Z.
minTransLimitEnable (mtle) compoundn/aoutputinputconnectablestorable
Enable translate minimum.
minTransXLimitEnable (mtxe) boolfalseoutputinputconnectablestorable
Enable translate minimum X.
minTransYLimitEnable (mtye) boolfalseoutputinputconnectablestorable
Enable translate minimum Y.
minTransZLimitEnable (mtze) boolfalseoutputinputconnectablestorable
Enable translate minimum Z.
rotate (r) double3outputinputconnectablestorable
Rotation.
rotateX (rx) angle (double)0.0degoutputinputconnectablestorablekeyable
Rotate X.
rotateY (ry) angle (double)0.0degoutputinputconnectablestorablekeyable
Rotate Y.
rotateZ (rz) angle (double)0.0degoutputinputconnectablestorablekeyable
Rotate Z.
rotateOrder (ro) enum0outputinputconnectablestorable
This attribute controls the order in which rx, ry, rz are applied in the transformation matrix. Valid values for this attribute are 0=xyz, 1=yzx, 2=zxy, 3=xzy, 4=yxz, 5=zyx.
rotateAxis (ra) double3outputinputconnectablestorable
Extra rotation to adjust the local axis prior to applying the rotate attribute.
rotateAxisX (rax) angle (double)0.0degoutputinputconnectablestorable
Rotate axis X.
rotateAxisY (ray) angle (double)0.0degoutputinputconnectablestorable
Rotate axis Y.
rotateAxisZ (raz) angle (double)0.0degoutputinputconnectablestorable
Rotate axis Z.
rotatePivot (rp) double3outputinputconnectablestorable
Point about which to rotate.
rotatePivotX (rpx) distance (double)0.0cmoutputinputconnectablestorable
Rotate pivot X.
rotatePivotY (rpy) distance (double)0.0cmoutputinputconnectablestorable
Rotate pivot Y.
rotatePivotZ (rpz) distance (double)0.0cmoutputinputconnectablestorable
Rotate pivot Z.
rotateQuaternion (rq) double4outputinputconnectablestorable
Quaternion-based rotation (q=Xi+Yj+Zk+W).
rotateQuaternionX (rqx) double0.0outputinputconnectablestorable
X channel of quaternion-based rotation (q=Xi+Yj+Zk+W). This attribute is only valid if the object is driven by quaternion animation curves. It is not used to control the object's rotation, but can be used to query the rotation in quaternion space. To use this attribute, connect it to rotateX's associated paramCurve's ".rawValue" attribute.
rotateQuaternionY (rqy) double0.0outputinputconnectablestorable
Y channel of quaternion-based rotation (q=Xi+Yj+Zk+W). This attribute is only valid if the object is driven by quaternion animation curves. It is not used to control the object's rotation, but can be used to query the rotation in quaternion space. To use this attribute, connect it to rotateY's associated paramCurve's ".rawValue" attribute.
rotateQuaternionZ (rqz) double0.0outputinputconnectablestorable
Z channel of quaternion-based rotation (q=Xi+Yj+Zk+W). This attribute is only valid if the object is driven by quaternion animation curves. It is not used to control the object's rotation, but can be used to query the rotation in quaternion space. To use this attribute, connect it to rotateZ's associated paramCurves ".rawValue" attribute.
rotateQuaternionW (rqw) double0.0outputinputconnectablestorable
W channel of quaternion-based rotation (q=Xi+Yj+Zk+W). This attribute is only valid if the object is driven by quaternion animation curves. To use this attribute, connect it to one is the rotation animCurve's ".quaternionW" attributes.
rotatePivotTranslate (rpt) double3outputinputconnectablestorable
Rotate pivot correction. Used when moving the rotate pivot point without affecting the overall transformation matrix.
rotatePivotTranslateX (rptx) distance (double)0.0cmoutputinputconnectablestorable
Rotate translation X.
rotatePivotTranslateY (rpty) distance (double)0.0cmoutputinputconnectablestorable
Rotate translation Y.
rotatePivotTranslateZ (rptz) distance (double)0.0cmoutputinputconnectablestorable
Rotate translation Z.
rotationInterpolation (roi) enum1outputconnectable
This attribute is deprecated and not being used at all.
scale (s) double3outputinputconnectablestorable
Scale.
scaleX (sx) double1.0outputinputconnectablestorablekeyable
Scale X.
scaleY (sy) double1.0outputinputconnectablestorablekeyable
Scale Y.
scaleZ (sz) double1.0outputinputconnectablestorablekeyable
Scale Z.
scalePivot (sp) double3outputinputconnectablestorable
Point around which to scale.
scalePivotX (spx) distance (double)0.0cmoutputinputconnectablestorable
Scale pivot X.
scalePivotY (spy) distance (double)0.0cmoutputinputconnectablestorable
Scale pivot Y.
scalePivotZ (spz) distance (double)0.0cmoutputinputconnectablestorable
Scale pivot Z.
scalePivotTranslate (spt) double3outputinputconnectablestorable
Scale pivot correction. Used to moving the scale pivot point without affecting the overall transformation matrix.
scalePivotTranslateX (sptx) distance (double)0.0cmoutputinputconnectablestorable
Scale translation X.
scalePivotTranslateY (spty) distance (double)0.0cmoutputinputconnectablestorable
Scale translation Y.
scalePivotTranslateZ (sptz) distance (double)0.0cmoutputinputconnectablestorable
Scale translation Z.
selectHandle (hdl) double3outputinputconnectablestorable
Selection handle position for this node in object-space coordinates.
selectHandleX (hdlx) distance (double)0.0cmoutputinputconnectablestorable
Selection handle X.
selectHandleY (hdly) distance (double)0.0cmoutputinputconnectablestorable
Selection handle X.
selectHandleZ (hdlz) distance (double)0.0cmoutputinputconnectablestorable
Selection handle Z.
shear (sh) double3outputinputconnectablestorable
Shear.
shearXY (shxy) double0.0outputinputconnectablestorable
Shear XY.
shearXZ (shxz) double0.0outputinputconnectablestorable
Shear XZ.
shearYZ (shyz) double0.0outputinputconnectablestorable
Shear YZ.
showManipDefault (smd) enum0outputinputconnectablestorable
This attribute indicates the default manipulator that should be shown when this object is selected and the show manipulator tool is active. Valid values are 0=no default manipulator, 1=translation, 2=rotation, 3=scale. 4=transform, 5=global default, 6=smart, 7=specified
specifiedManipLocation (sml) generic typed dataNULLinputconnectablehidden
When showManipDefault is set to specified, the node that is connected to this attribute will be used to determine the type of manipulator to show
transMinusRotatePivot (tmrp) double3outputconnectable
Attribute to extract the offset of the translation from the rotate pivot. The offset is in the same transformation space as the translate attribute which is parent-space. This value is typically used in expressions where it is subtracted from a position before setting the translation attribute. This causes the object to move so that the rotate pivot point is positioned at the desired position.
transMinusRotatePivotX (tmrx) distance (double)0.0cmoutputconnectable
Translation minus rotate pivot X.
transMinusRotatePivotY (tmry) distance (double)0.0cmoutputconnectable
Translation minus rotate pivot Y.
transMinusRotatePivotZ (tmrz) distance (double)0.0cmoutputconnectable
Translation minus rotate pivot Z.
translate (t) double3outputinputconnectablestorable
Translation.
translateX (tx) distance (double)0.0cmoutputinputconnectablestorablekeyable
Translate X.
translateY (ty) distance (double)0.0cmoutputinputconnectablestorablekeyable
Translate Y.
translateZ (tz) distance (double)0.0cmoutputinputconnectablestorablekeyable
Translate Z.
xformMatrix (xm) matrixidentityoutputconnectable
Local transformation matrix. Contains the same information as the matrix attribute on dagNode but it is stored in a format that can be interpolated easily.