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 nameParentsMFn typeCompatible function sets
transformdagNodekTransformkBase
kNamedObject
kDependencyNode
kDagNode
kTransform

Attributes (120)

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), mentalRayControls (10), 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
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.
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.
scale (s) double3outputinputconnectablestorable
Scale.
scaleX (sx) double1.0outputinputconnectablestorablekeyable
Scale X.
scaleY (sy) double1.0outputinputconnectablestorablekeyable
Scale Y.
scaleZ (sz) double1.0outputinputconnectablestorablekeyable
Scale Z.
shear (sh) double3outputinputconnectablestorable
Shear.
shearXY (shxy) double0.0outputinputconnectablestorable
Shear XY.
shearXZ (shxz) double0.0outputinputconnectablestorable
Shear XZ.
shearYZ (shyz) double0.0outputinputconnectablestorable
Shear YZ.
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.
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.
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.
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.
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.
minTransLimit (mntl) double3outputinputstorable
Translate minimum. Translation values less than this value will be clamped to this value.
minTransXLimit (mtxl) distance (double)-1cmoutputinputstorable
Minimum translation X.
minTransYLimit (mtyl) distance (double)-1cmoutputinputstorable
Minimum translation Y.
minTransZLimit (mtzl) distance (double)-1cmoutputinputstorable
Minimum translation Z.
maxTransLimit (mxtl) double3outputinputstorable
Translate maximum. Translation values greater than this value will be clamped to this value.
maxTransXLimit (xtxl) distance (double)1cmoutputinputstorable
Maximum translation X.
maxTransYLimit (xtyl) distance (double)1cmoutputinputstorable
Maximum translation Y.
maxTransZLimit (xtzl) distance (double)1cmoutputinputstorable
Maximum translation Z.
minTransLimitEnable (mtle) compoundn/aoutputinputstorable
Enable translate minimum.
minTransXLimitEnable (mtxe) boolfalseoutputinputstorable
Enable translate minimum X.
minTransYLimitEnable (mtye) boolfalseoutputinputstorable
Enable translate minimum Y.
minTransZLimitEnable (mtze) boolfalseoutputinputstorable
Enable translate minimum Z.
maxTransLimitEnable (xtle) compoundn/aoutputinputstorable
Enable translate maximum.
maxTransXLimitEnable (xtxe) boolfalseoutputinputstorable
Enable translate maximum X.
maxTransYLimitEnable (xtye) boolfalseoutputinputstorable
Enable translate maximum Y.
maxTransZLimitEnable (xtze) boolfalseoutputinputstorable
Enable translate maximum Z.
minRotLimit (mnrl) double3outputinputstorable
Rotate minimum. Rotation values less than this value will be clamped to this value.
minRotXLimit (mrxl) angle (double)-45degoutputinputstorable
Minimum rotation X.
minRotYLimit (mryl) angle (double)-45degoutputinputstorable
Minimum rotation Y.
minRotZLimit (mrzl) angle (double)-45degoutputinputstorable
Minimum rotation Z.
maxRotLimit (mxrl) double3outputinputstorable
Rotate maximum. Rotation values greater than this value will be clamped to this value.
maxRotXLimit (xrxl) angle (double)45degoutputinputstorable
Maximum rotation X.
maxRotYLimit (xryl) angle (double)45degoutputinputstorable
Maximum rotation Y.
maxRotZLimit (xrzl) angle (double)45degoutputinputstorable
Maximum rotation Z.
minRotLimitEnable (mrle) compoundn/aoutputinputstorable
Enable rotate minimum.
minRotXLimitEnable (mrxe) boolfalseoutputinputstorable
Enable rotate minimum X.
minRotYLimitEnable (mrye) boolfalseoutputinputstorable
Enable rotate minimum Y.
minRotZLimitEnable (mrze) boolfalseoutputinputstorable
Enable rotate minimum Z.
maxRotLimitEnable (xrle) compoundn/aoutputinputstorable
Enable rotate maximum.
maxRotXLimitEnable (xrxe) boolfalseoutputinputstorable
Enable rotate maximum X.
maxRotYLimitEnable (xrye) boolfalseoutputinputstorable
Enable rotate maximum Y.
maxRotZLimitEnable (xrze) boolfalseoutputinputstorable
Enable rotate maximum Z.
minScaleLimit (mnsl) double3outputinputstorable
Scale minimum. Scale values less than this value will be clamped to this value.
minScaleXLimit (msxl) double-1outputinputstorable
Scale minimum X.
minScaleYLimit (msyl) double-1outputinputstorable
Scale minimum Y.
minScaleZLimit (mszl) double-1outputinputstorable
Scale minimum Z.
maxScaleLimit (mxsl) double3outputinputstorable
Scale maximum. Scale values greater than this value will be clamped to this value.
maxScaleXLimit (xsxl) double1outputinputstorable
Scale maximum X.
maxScaleYLimit (xsyl) double1outputinputstorable
Scale maximum Y.
maxScaleZLimit (xszl) double1outputinputstorable
Scale maximum Z.
minScaleLimitEnable (msle) compoundn/aoutputinputstorable
Enable scale minimum.
minScaleXLimitEnable (msxe) boolfalseoutputinputstorable
Enable scale minimum X.
minScaleYLimitEnable (msye) boolfalseoutputinputstorable
Enable scale minimum Y.
minScaleZLimitEnable (msze) boolfalseoutputinputstorable
Enable scale minimum Z.
maxScaleLimitEnable (xsle) compoundn/aoutputinputstorable
Enable scale maximum.
maxScaleXLimitEnable (xsxe) boolfalseoutputinputstorable
Enable scale maximum X.
maxScaleYLimitEnable (xsye) boolfalseoutputinputstorable
Enable scale maximum Y.
maxScaleZLimitEnable (xsze) boolfalseoutputinputstorable
Enable scale maximum Z.
geometry (g) Genericn/ainputconnectable
Geometry attribute used for positional constraints.
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.
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.
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.
displayHandle (dh) boolfalseoutputinputconnectablestorable
Boolean indicating whether the selection handle for this transform should be displayed.
displayScalePivot (dsp) boolfalseoutputinputconnectablestorable
Boolean indicating whether the scale pivot point for this transform should be displayed.
displayRotatePivot (drp) boolfalseoutputinputconnectablestorable
Boolean indicating whether the rotate pivot point for this transform should be displayed.
displayLocalAxis (dla) boolfalseoutputinputconnectablestorable
Boolean indicating whether the local rotation axis for this transform should be displayed.
dynamics (dyn) boolfalseinputconnectable
When connected, this attribute indicates that this transform is part of a dynamics simulation.
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
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.
rotationInterpolation (roi) enum1outputconnectable
This attribute specifies the type of rotation data used when computing the transformation matrix. Valid values are: 0=none (independent Euler-angle rotation values), 1=euler (synchronized Euler-angle curves), 2=quaternion (synchronized quaternion curves). To use this attribute, connect it to one is the rotation animCurve's ".rotationInterpolation" attributes.
mentalRayControls (mrc) compoundn/aoutputinputconnectablestorable
This is a root of following mental ray attributes.
miDeriveFromMaya (dfm) booltrueoutputinputconnectablestorable
If enabled the mental ray 'instance' flags will be derived from Maya attributes and internal settings, otherwise the mental ray attributes will be used to determine the flags.
miHide (hde) boolfalseoutputinputconnectablestorable
Control the mental ray 'hide' instance flag (hide the instance during rendering). Only respected if miDeriveFromMaya if off.
miVisible (vsb) enum2 "Use Inherited"outputinputconnectablestorable
Control the mental ray 'visible' instance flag (primary visibility). Only respected if miDeriveFromMaya if off.
miTrace (trc) enum2 "Use Inherited"outputinputconnectablestorable
Control the mental ray 'trace' instance flag (secondary rays, like reflection, refraction, final gathering). Only respected if miDeriveFromMaya if off.
miShadow (shd) enum2 "Use Inherited"outputinputconnectablestorable
Control the mental ray 'shadow' instance flag (shadow casting). Only respected if miDeriveFromMaya if off.
miCaustic (cst) enum5 "Use Inherited"outputinputconnectablestorable
Control the mental ray 'caustic' instance mode (caustic flags). Only respected if miDeriveFromMaya if off.
miGlobillum (glb) enum5 "Use Inherited"outputinputconnectablestorable
Control the mental ray 'global illumination' instance mode (globillum flags). Only respected if miDeriveFromMaya if off.
miExportGeoShader (mieg) boolfalseoutputinputconnectablestorable
Respect the mental ray custom geometry shader connected to 'miGeoShader' for translation.
miGeoShader (migs) generic typed dataNULLoutputinputconnectablestorable
Port to connect custom mental ray node of type geometry shader.
miProxyRenderable (mrof) booltrueoutputinputconnectablestorable
Sets whether mental ray should render the shape attached to this transform or if it should render the assembly associated with the shape (if any).