Go to: Related nodes. Attributes.

As its name suggests, the characterOffset node is designed to add an offset to any transform node in your scene. This allows you to, for example, redirect a character's walk so that it points in a different direction, or spins around a particular point. Typically, the offset will be driven by a control object which provides the necessary input values to the tranformOffset node.

Node nameParentsMFn typeCompatible function sets
characterOffsetnodekCharacterOffsetkBase
kNamedObject
kDependencyNode
kCharacter
kCharacterOffset

Related nodes

character

Attributes (47)

applyControlParentTransform, enable, inRootRotate, inRootRotateX, inRootRotateY, inRootRotateZ, inRootTranslate, inRootTranslateX, inRootTranslateY, inRootTranslateZ, initialOffsetRootTranslate, initialOffsetRootTranslateX, initialOffsetRootTranslateY, initialOffsetRootTranslateZ, offsetRootRotate, offsetRootRotateOrder, offsetRootRotatePivot, offsetRootRotatePivotX, offsetRootRotatePivotY, offsetRootRotatePivotZ, offsetRootRotateX, offsetRootRotateY, offsetRootRotateZ, offsetRootTranslate, offsetRootTranslateX, offsetRootTranslateY, offsetRootTranslateZ, outRootRotate, outRootRotateX, outRootRotateY, outRootRotateZ, outRootTranslate, outRootTranslateX, outRootTranslateY, outRootTranslateZ, rootJointOrient, rootJointOrientX, rootJointOrientY, rootJointOrientZ, rootParentInverseMatrix, rootParentMatrix, rootRotateOrder, rotateControlParentMatrix, rotateControlScale, rotateControlScaleX, rotateControlScaleY, rotateControlScaleZ

Long name (short name)TypeDefaultFlags
inRootTranslate (rti) double3outputinputconnectablestorable
Root node's translate value, prior to offset calculation. Normally, this will be connected to an output from the character node itself. For example, if the character node drives a skeleton with pelvis1 as its root, the pelvis1_translate output values will be routed through inRootTranslate so that they can be modified by the root offset values.
inRootTranslateX (rtix) distance (double)0.0cmoutputinputconnectablestorable
Root node's x-translate value, prior to offset calculation.
inRootTranslateY (rtiy) distance (double)0.0cmoutputinputconnectablestorable
Root node's y-translate value, prior to offset calculation.
inRootTranslateZ (rtiz) distance (double)0.0cmoutputinputconnectablestorable
Root node's z-translate value, prior to offset calculation.
inRootRotate (rri) double3outputinputconnectablestorable
Root node's rotate value, prior to offset calculation. Normally, this will be connected to an output from the character node itself. For example, if the character node drives a skeleton with pelvis1 as its root, the pelvis1_rotate output values will be routed through inRootRotate so that they can be modified by the root offset values.
inRootRotateX (rrix) angle (double)0.0degoutputinputconnectablestorable
Root node's x-rotate value, prior to offset calculation.
inRootRotateY (rriy) angle (double)0.0degoutputinputconnectablestorable
Root node's y-rotate value, prior to offset calculation.
inRootRotateZ (rriz) angle (double)0.0degoutputinputconnectablestorable
Root node's z-rotate value, prior to offset calculation.
rootRotateOrder (rror) enum0outputinputconnectablestorable
The root node's rotate order, which is needed to correctly calculate the output rotation for the root.
rootJointOrient (rjo) double3outputinputconnectablestorable
Root node's joint orient value.
rootJointOrientX (rjox) angle (double)0.0degoutputinputconnectablestorable
Root node's joint x-orient value.
rootJointOrientY (rjoy) angle (double)0.0degoutputinputconnectablestorable
Root node's joint y-orient value.
rootJointOrientZ (rjoz) angle (double)0.0degoutputinputconnectablestorable
Root node's joint z-orient value.
rootParentMatrix (rpm) matrixidentityoutputinputconnectablestorable
The root node's parent matrix
rootParentInverseMatrix (rpim) matrixidentityoutputinputconnectablestorable
The root node's parent matrix, inverted
applyControlParentTransform (acpx) boolfalseoutputinputconnectablestorable
When adding offsets to a transform node, the offset node can look at the parent matrix of the offset control object. In most situations, however, this is undesirable. A typical situation would be when adding offsets to, say, the shoulder of a character. You'd want to parent your offset control object to the character's collar bone so that it follows animation above the shoulder. However, if Apply Control Parent Transform is on, the offset will be applied multiple times, giving an incorrect offset. You should only enable this flag when parenting the control object to something outside of the hierarchy of the object it offsets. In this case, the offset will only be applied once.
enable (nabl) booltrueoutputinputconnectablestorablekeyable
The offset node is enabled only when this attribute is true. This allows you to bypass the offset to view and edit animation without the offset applied to your object.
offsetRootTranslate (rtf) double3outputinputconnectablestorable
Root node's translate offset value. This modifies the outRootTranslate value so that motion can be redirected. For example, if you had cycled animation of a character walking in place and wanted him to do the moonwalk, you could animate the offsetRootTranslateZ value so that the overall motion of the character is a slide backwards while stepping forward.
offsetRootTranslateX (rtfx) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's x-translate offset value.
offsetRootTranslateY (rtfy) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's y-translate offset value.
offsetRootTranslateZ (rtfz) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's z-translate offset value.
initialOffsetRootTranslate (itf) double3outputinputconnectablestorable
The inital position of whatever's driving the translation offset (typically, a control object in the scene). The transaltion offset is calculated relative to this position. If you're offsetting rotation as well, you should leave these values at their default, and instead parent your translation offset control object to your rotation offset control object.
initialOffsetRootTranslateX (itfx) distance (double)0.0cmoutputinputconnectablestorable
The initial x-coordinate of whatever's driving the translation offset.
initialOffsetRootTranslateY (itfy) distance (double)0.0cmoutputinputconnectablestorable
The initial y-coordinate of whatever's driving the translation offset.
initialOffsetRootTranslateZ (itfz) distance (double)0.0cmoutputinputconnectablestorable
The initial z-coordinate of whatever's driving the translation offset.
rotateControlScale (rcs) double3outputinputconnectablestorable
The scale factor of the rotate control object. Needed to correctly calculate the translation offset when the translate control object is parented to the rotate control object.
rotateControlScaleX (rcsx) double1.0outputinputconnectablestorable
The rotate control object's x-scale value.
rotateControlScaleY (rcsy) double1.0outputinputconnectablestorable
The rotate control object's y-scale value.
rotateControlScaleZ (rcsz) double1.0outputinputconnectablestorable
The rotate control object's z-scale value.
rotateControlParentMatrix (rcpm) matrixidentityoutputinputconnectablestorable
The rotate control object's parent matrix
offsetRootRotate (rrf) double3outputinputconnectablestorable
Root node's rotate offset value. This modifies the outRootTranslate and outRootRotate values so that the motion of the character can be redirected. For example, if you wanted to rotate the character to turn 90 degrees at frame 120, you'd keyframe the offsetRootRotateY value to be 90 at this frame.
offsetRootRotateX (rrfx) angle (double)0.0degoutputinputconnectablestorablekeyable
Root node's x-rotate offset value.
offsetRootRotateY (rrfy) angle (double)0.0degoutputinputconnectablestorablekeyable
Root node's y-rotate offset value.
offsetRootRotateZ (rrfz) angle (double)0.0degoutputinputconnectablestorablekeyable
Root node's z-rotate offset value.
offsetRootRotateOrder (rfor) enum0outputinputconnectablestorable
The order in which the rotatation offsets are to be be applied.
offsetRootRotatePivot (rpf) double3outputinputconnectablestorable
The point around which the rotational offset pivots. This modifies the outRootRotate and outRootTranslate values so that motion can be redirected. For example, if you wanted to pivot around the character's foot, you'd move the pivot point to this location and rotate the character around it.
offsetRootRotatePivotX (rppfx) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's x-translate offset value.
offsetRootRotatePivotY (rppfy) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's y-translate offset value.
offsetRootRotatePivotZ (rppfz) distance (double)0.0cmoutputinputconnectablestorablekeyable
Root node's z-translate offset value.
outRootTranslate (rto) double3outputconnectable
Root node's final translate value, having been modified by the rotate and translate offset values.
outRootTranslateX (rtox) distance (double)0.0cmoutputconnectable
Root node's final x-translate value.
outRootTranslateY (rtoy) distance (double)0.0cmoutputconnectable
Root node's final y-translate value.
outRootTranslateZ (rtoz) distance (double)0.0cmoutputconnectable
Root node's final z-translate value.
outRootRotate (rro) double3outputconnectable
Root node's final rotate value, having been modified by the rotate and translate offset values.
outRootRotateX (rrox) angle (double)0.0degoutputconnectable
Root node's final x-rotate value.
outRootRotateY (rroy) angle (double)0.0degoutputconnectable
Root node's final y-rotate value.
outRootRotateZ (rroz) angle (double)0.0degoutputconnectable
Root node's final z-rotate value.