Go to: Synopsis. Return value. Related. Flags. MEL examples.

Synopsis

tangentConstraint [-aimVector float float float] [-layer string] [-name string] [-remove] [-targetList] [-upVector float float float] [-weight float] [-weightAliasList] [-worldUpObject name] [-worldUpType string] [-worldUpVector float float float] [target...] object

tangentConstraint is undoable, queryable, and editable.

Constrain an object's orientation based on the tangent of the target curve[s] at the closest point[s] to the object.

A tangentConstraint takes as input one or more NURBS curves (the targets) and a DAG transform node (the object). The tangentConstraint orients the constrained object such that the aimVector (in the object's local coordinate system) aligns in world space to combined tangent vector. The upVector (again the the object's local coordinate system) is aligned in world space with the worldUpVector. The combined tangent vector is a weighted average of the tangent vector for each target curve at the point closest to the constrained object.

Return value

string[]Name of the created constraint node

In query mode, return type is based on queried flag.

Related

aimConstraint, geometryConstraint, normalConstraint, orientConstraint, parentConstraint, pointConstraint, poleVectorConstraint, scaleConstraint

Flags

aimVector, layer, name, remove, targetList, upVector, weight, weightAliasList, worldUpObject, worldUpType, worldUpVector
Long name (short name) Argument types Properties
-aimVector(-aim) float float float createqueryedit
Set the aim vector. This is the vector in local coordinates that points at the target. If not given at creation time, the default value of (1.0, 0.0, 0.0) is used.
-layer(-l) string createedit
Specify the name of the animation layer where the constraint should be added.
-name(-n) string createqueryedit
Sets the name of the constraint node to the specified name. Default name is constrainedObjectName_constraintType
-remove(-rm) edit
removes the listed target(s) from the constraint.
-targetList(-tl) query
Return the list of target objects.
-upVector(-u) float float float createqueryedit
Set local up vector. This is the vector in local coordinates that aligns with the world up vector. If not given at creation time, the default value of (0.0, 1.0, 0.0) is used.
-weight(-w) float createqueryedit
Sets the weight value for the specified target(s). If not given at creation time, the default value of 1.0 is used.
-weightAliasList(-wal) query
Returns the names of the attributes that control the weight of the target objects. Aliases are returned in the same order as the targets are returned by the targetList flag
-worldUpObject(-wuo) name createqueryedit
Set the DAG object use for worldUpType "object" and "objectrotation". See worldUpType for greater detail. The default value is no up object, which is interpreted as world space.
-worldUpType(-wut) string createqueryedit
Set the type of the world up vector computation. The worldUpType can have one of 5 values: "scene", "object", "objectrotation", "vector", or "none". If the value is "scene", the upVector is aligned with the up axis of the scene and worldUpVector and worldUpObject are ignored. If the value is "object", the upVector is aimed as closely as possible to the origin of the space of the worldUpObject and the worldUpVector is ignored. If the value is "objectrotation" then the worldUpVector is interpreted as being in the coordinate space of the worldUpObject, transformed into world space and the upVector is aligned as closely as possible to the result. If the value is "vector", the upVector is aligned with worldUpVector as closely as possible and worldUpMatrix is ignored. Finally, if the value is "none" no twist calculation is performed by the constraint, with the resulting "upVector" orientation based previous orientation of the constrained object, and the "great circle" rotation needed to align the aim vector with its constraint. The default worldUpType is "vector".
-worldUpVector(-wu) float float float createqueryedit
Set world up vector. This is the vector in world coordinates that up vector should align with. See -wut/worldUpType (below)for greater detail. If not given at creation time, the default value of (0.0, 1.0, 0.0) is used.

Flag can appear in Create mode of command Flag can appear in Edit mode of command
Flag can appear in Query mode of command Flag can be used more than once in a command.

MEL examples

// orients the aim vector of cube1 in it's local coordinate space,
// to the tangent vector of curve1 at the closest point to  cube1.
tangentConstraint  curve1 cube1;

// uses the average of the tangents from curve1 and curve2.
tangentConstraint -w .1 curve1 curve2 cube2;

// sets the weight for curve1's effect on cube2 to 10.
tangentConstraint -e -w 10. curve1 cube2;

// removes curve2 from cube2's tangentConstraint
tangentConstraint -e -rm curve2 cube2;

// adds curve3 to cube2's tangent constraint with the default weight
tangentConstraint curve3 cube2;