|On this page|
Currently, USD does not support constraints. Parametric constraints are probably antithetical to USD’s design mission of being descriptive, immutable, and idempotent.
As a layer above USD, that generates USD, the LOP network can compute dynamic constraints, and "bake" the results as time samples when it writes the USD to disk.
Notes and tips
By default, the rotation is computed to point the Z- axis towards a target while orienting the Y+ axis towards an up vector. This is to match how cameras and lights work.
You cannot use a nested point instance as a source (the thing that looks).
You can use a nested point instance as a target (the thing looked at).
Whether the source (the thing that looks) is a regular primitive, or a point instance. You cannot use a nested point instance as a source.
When Source ▸ Type is "Point Intance", the point instance to use, using
/path[instance_index] syntax (for example,
Where to get the target to look at: a prim from the first input or the second input, or a world space position specified by a parameter.
When Target source is "Position", the world space position to look at. You can use expressions to compute or animate the target position.
When Target source is "First input" or "Second input", whether the thing to look at is a regular primitive, or a point instance. (You can use a nested point instance as a target.)
Specify the frame at which the source and/or target geometry are imported into the embedded sopnet to build the constraints. The default "$FF" expression forces the constraint LOP to be time dependent, which is needed when operating on a non time-dependent network that has time samples driving the source or target primitives. However, for better performance with a non time-dependent network with no time samples, it is recommended to use a static value instead.
Look At Axis
Which axis on the source object to match to the look at vector. You can use this to compensate for the orientation the source object was created in. This can’t be the same as the Look up axis.
Look Up Axis
Which axis on the source object to match to the up vector. You can use this to compensate for the orientation the source object was created in. This can’t be the same as the Look at axis.
How to compute the up vector.
Use the world +X direction as the up vector.
Use the world +Y direction as the up vector.
Use the world +Z direction as the up vector.
Rotate the source prim so its up vector points at a specific prim as it moves along the curve.
Use the vector in the Up vector parameter.
Up Vector Source
When Up Vector is "from primitive", where to get the primitive to point the up vector at (the first or second input).
Up Vector Xform
When Look at mode is "from primitive", the scene graph path of the prim to point the up vector at. (This does not support point instances.)
Angle (in degrees) to rotate around the look at direction.