Go to:
Related nodes. Attributes.
This node implements an orientConstraint. Each constraint has a set
of targets that are connected under the target attribute, a single
constrained object that is connected to the constraint* attributes,
and possibly other information to help compute the correct results.
In the case of the orientConstraint, there is no other information.
The orientConstraint node can have any number of target inputs.
Each target is connected to attributes inside a single element
of the target attribute. For example, the first target object
would be connected elements of target[0], the second target object
would be connected to elements of target[1], etc. The elements of
each target are: targetRotate, targetRotateOrder,
targetParentMatrix, and targetWeight.
The elements of each target are normally connected to the target
objects as follows:
orientConstraint attribute |
connected to |
targetRotate |
rotate |
targetRotateOrder |
rotateOrder |
targetJointOrient |
jointOrient (joints only) |
targetParentMatrix |
parentMatrix[i] |
targetWeight |
set to 1.0 |
The targetWeight attribute is not generally connected to the
target object. Instead, it may be animated by other means to
adjust the weighted average computation for the target orientation.
The orientConstraint node uses these inputs to compute the
world space orientation of each target object. It then computes a
weighted average of the these orientations in quaternion space.
This weighted average is called the target orientation.
The constrained object is connected to the constraint*
attributes. For an orientConstraint, the attributes
constraintRotateOrder, constraintJointOrient, and
constraintParentInverseMatrix are inputs to the orientConstraint.
The attribute constraintRotate is the only output.
The orientConstraint node computes an output rotation value
such that the orientation of the constrained object matches
the target orientation.
Although the all the constraint nodes inherit from transform,
they do not actively use any of the attributes from transform.
Node name | Parents | MFn type | Compatible function sets |
---|
orientConstraint | constraint | kOrientConstraint | kBase kNamedObject kDependencyNode kDagNode kTransform kConstraint kOrientConstraint |
Related nodes
aimConstraint, geometryConstraint, normalConstraint, parentConstraint, pointConstraint, poleVectorConstraint, scaleConstraint, tangentConstraint, lookAt
Attributes (41)
constraintJointOrient, constraintJointOrientX, constraintJointOrientY, constraintJointOrientZ, constraintParentInverseMatrix, constraintRotate, constraintRotateOrder, constraintRotateX, constraintRotateY, constraintRotateZ, interpCache, interpType, lastTargetRotate, lastTargetRotateX, lastTargetRotateY, lastTargetRotateZ, offset, offsetX, offsetY, offsetZ, restRotate, restRotateX, restRotateY, restRotateZ, target, targetJointOrient, targetJointOrientX, targetJointOrientY, targetJointOrientZ, targetParentMatrix, targetRotate, targetRotateCached, targetRotateCachedX, targetRotateCachedY, targetRotateCachedZ, targetRotateOrder, targetRotateX, targetRotateY, targetRotateZ, targetWeight, useOldOffsetCalculation
Long name (short name) | Type | Default | Flags |
---|
|
target
(tg )
| compound | n/a | |
|
| targetRotate
(tr )
| double3 | | | |
| targetRotateX
(trx )
| angle (double) | 0.0deg | | |
| | targetRotateY
(try )
| angle (double) | 0.0deg | | |
| | targetRotateZ
(trz )
| angle (double) | 0.0deg | | |
|
|
| targetRotateOrder
(tro )
| enum | 0 | | |
|
| targetJointOrient
(tjo )
| double3 | | | |
| targetJointOrientX
(tjox )
| angle (double) | 0.0deg | | |
| | targetJointOrientY
(tjoy )
| angle (double) | 0.0deg | | |
| | targetJointOrientZ
(tjoz )
| angle (double) | 0.0deg | | |
|
|
| targetParentMatrix
(tpm )
| matrix | identity | | |
|
| targetWeight
(tw )
| double | 1.0 | | |
|
| targetRotateCached
(ctr )
| double3 | | | |
| targetRotateCachedX
(ctrx )
| angle (double) | 0.0deg | | |
| | targetRotateCachedY
(ctry )
| angle (double) | 0.0deg | | |
| | targetRotateCachedZ
(ctrz )
| angle (double) | 0.0deg | | |
|
|
|
lastTargetRotate
(lr )
| double3 | | |
|
| lastTargetRotateX
(lrx )
| angle (double) | 0.0deg | | |
|
| lastTargetRotateY
(lry )
| angle (double) | 0.0deg | | |
|
| lastTargetRotateZ
(lrz )
| angle (double) | 0.0deg | | |
|
|
constraintParentInverseMatrix
(cpim )
| matrix | identity | |
|
|
constraintRotateOrder
(cro )
| enum | 0 | |
|
|
constraintJointOrient
(cjo )
| double3 | | |
|
| constraintJointOrientX
(cjox )
| angle (double) | 0.0deg | | |
|
| constraintJointOrientY
(cjoy )
| angle (double) | 0.0deg | | |
|
| constraintJointOrientZ
(cjoz )
| angle (double) | 0.0deg | | |
|
|
constraintRotate
(cr )
| double3 | | |
|
| constraintRotateX
(crx )
| angle (double) | 0.0deg | | |
|
| constraintRotateY
(cry )
| angle (double) | 0.0deg | | |
|
| constraintRotateZ
(crz )
| angle (double) | 0.0deg | | |
|
|
offset
(o )
| double3 | | |
|
| offsetX
(ox )
| angle (double) | 0.0deg | | |
|
| offsetY
(oy )
| angle (double) | 0.0deg | | |
|
| offsetZ
(oz )
| angle (double) | 0.0deg | | |
|
|
restRotate
(rsrr )
| double3 | | |
|
| restRotateX
(rrx )
| angle (double) | 0.0deg | | |
|
| restRotateY
(rry )
| angle (double) | 0.0deg | | |
|
| restRotateZ
(rrz )
| angle (double) | 0.0deg | | |
|
|
interpType
(int )
| enum | 1 | |
|
|
interpCache
(inc )
| integer | 0 | |
|
|
useOldOffsetCalculation
(uooc )
| bool | false | |
|