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 name Parents MFn type Compatible function sets
characterOffset node kCharacterOffset kBase
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) Type Default Flags
inRootTranslate (rti) double3 outputinputconnectablestorable
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.0cm outputinputconnectablestorable
Root node's x-translate value, prior to offset calculation.
inRootTranslateY (rtiy) distance (double) 0.0cm outputinputconnectablestorable
Root node's y-translate value, prior to offset calculation.
inRootTranslateZ (rtiz) distance (double) 0.0cm outputinputconnectablestorable
Root node's z-translate value, prior to offset calculation.
inRootRotate (rri) double3 outputinputconnectablestorable
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.0deg outputinputconnectablestorable
Root node's x-rotate value, prior to offset calculation.
inRootRotateY (rriy) angle (double) 0.0deg outputinputconnectablestorable
Root node's y-rotate value, prior to offset calculation.
inRootRotateZ (rriz) angle (double) 0.0deg outputinputconnectablestorable
Root node's z-rotate value, prior to offset calculation.
rootRotateOrder (rror) enum 0 outputinputconnectablestorable
The root node's rotate order, which is needed to correctly calculate the output rotation for the root.
rootJointOrient (rjo) double3 outputinputconnectablestorable
Root node's joint orient value.
rootJointOrientX (rjox) angle (double) 0.0deg outputinputconnectablestorable
Root node's joint x-orient value.
rootJointOrientY (rjoy) angle (double) 0.0deg outputinputconnectablestorable
Root node's joint y-orient value.
rootJointOrientZ (rjoz) angle (double) 0.0deg outputinputconnectablestorable
Root node's joint z-orient value.
rootParentMatrix (rpm) matrix identity outputinputconnectablestorable
The root node's parent matrix
rootParentInverseMatrix (rpim) matrix identity outputinputconnectablestorable
The root node's parent matrix, inverted
applyControlParentTransform (acpx) bool false outputinputconnectablestorable
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) bool true outputinputconnectablestorablekeyable
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) double3 outputinputconnectablestorable
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.0cm outputinputconnectablestorablekeyable
Root node's x-translate offset value.
offsetRootTranslateY (rtfy) distance (double) 0.0cm outputinputconnectablestorablekeyable
Root node's y-translate offset value.
offsetRootTranslateZ (rtfz) distance (double) 0.0cm outputinputconnectablestorablekeyable
Root node's z-translate offset value.
initialOffsetRootTranslate (itf) double3 outputinputconnectablestorable
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.0cm outputinputconnectablestorable
The initial x-coordinate of whatever's driving the translation offset.
initialOffsetRootTranslateY (itfy) distance (double) 0.0cm outputinputconnectablestorable
The initial y-coordinate of whatever's driving the translation offset.
initialOffsetRootTranslateZ (itfz) distance (double) 0.0cm outputinputconnectablestorable
The initial z-coordinate of whatever's driving the translation offset.
rotateControlScale (rcs) double3 outputinputconnectablestorable
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) double 1.0 outputinputconnectablestorable
The rotate control object's x-scale value.
rotateControlScaleY (rcsy) double 1.0 outputinputconnectablestorable
The rotate control object's y-scale value.
rotateControlScaleZ (rcsz) double 1.0 outputinputconnectablestorable
The rotate control object's z-scale value.
rotateControlParentMatrix (rcpm) matrix identity outputinputconnectablestorable
The rotate control object's parent matrix
offsetRootRotate (rrf) double3 outputinputconnectablestorable
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.0deg outputinputconnectablestorablekeyable
Root node's x-rotate offset value.
offsetRootRotateY (rrfy) angle (double) 0.0deg outputinputconnectablestorablekeyable
Root node's y-rotate offset value.
offsetRootRotateZ (rrfz) angle (double) 0.0deg outputinputconnectablestorablekeyable
Root node's z-rotate offset value.
offsetRootRotateOrder (rfor) enum 0 outputinputconnectablestorable
The order in which the rotatation offsets are to be be applied.
offsetRootRotatePivot (rpf) double3 outputinputconnectablestorable
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.0cm outputinputconnectablestorablekeyable
Root node's x-translate offset value.
offsetRootRotatePivotY (rppfy) distance (double) 0.0cm outputinputconnectablestorablekeyable
Root node's y-translate offset value.
offsetRootRotatePivotZ (rppfz) distance (double) 0.0cm outputinputconnectablestorablekeyable
Root node's z-translate offset value.
outRootTranslate (rto) double3 outputconnectable
Root node's final translate value, having been modified by the rotate and translate offset values.
outRootTranslateX (rtox) distance (double) 0.0cm outputconnectable
Root node's final x-translate value.
outRootTranslateY (rtoy) distance (double) 0.0cm outputconnectable
Root node's final y-translate value.
outRootTranslateZ (rtoz) distance (double) 0.0cm outputconnectable
Root node's final z-translate value.
outRootRotate (rro) double3 outputconnectable
Root node's final rotate value, having been modified by the rotate and translate offset values.
outRootRotateX (rrox) angle (double) 0.0deg outputconnectable
Root node's final x-rotate value.
outRootRotateY (rroy) angle (double) 0.0deg outputconnectable
Root node's final y-rotate value.
outRootRotateZ (rroz) angle (double) 0.0deg outputconnectable
Root node's final z-rotate value.