GeoConstrain

The GeoConstrain node allows you to constrain geometry, cameras, lights, and more, to other prims in your scene.

- Set a Mask to define the prim you want to constrain, and a Target Path to define a different prim you want to constrain to.

- Set a Point, choosing whether you want to target a specific face or vertex, or just constrain to the origin of the target prim.

- Choose the Constraint Type from: Look At, Parent, Transformation, Translation, Rotation, or Scale. See details about these below.

Learn more about the workflow at Constraining Prims.

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The previous stage in the scene you want to affect.

Control (UI)

Knob (Scripting)

Default Value

Function

GeoConstrain

Mask mask_patterns Default - Injected/ All Roots

Specifies the mask pattern to match the prim names to affect.

You can use standard glob-style wildcards, such as '*', '?', to create masks or use individual prim names separated by spaces. For example, /GeoCube 1 /GeoCard3 applies the effect to only those prims.

Default - Injected/All Roots - selects the default prim(s) for the node. The default will be the injected mask prim paths if there is an upstream node with this. Otherwise the default mask for this node type is evaluated.

All roots - select the top level Xform(s) in your scene.

Last modified - selects whatever the last node modified was.

All Cameras - selects all Cameras in your scene graph.

All Lights - select all lights in your scene graph.

All Meshes - selects all meshes in your scene graph.

Custom - sets a custom selection of prims that exist in your scene graph.

Inject Mask inject_mask off When enabled the mask in this node is injected into the node directly below it if that node has the default path mask set.

Target Path

target_path

N/A

Define the path of a different prim you want to constrain to.

Point

target

Origin

Choose what to target.

Origin - the origin of the target object.

Vertex - a fixed vertex number on the target mesh.

Face - a fixed face number on the target mesh.

Selection - a vertex or face selection on the target.

Time time_mode Relative

Allows specification of how much time offset is desired for the the target point or the time to use for the target point.

Relative - allows targeting the past or future of the target point by specifying a time offset from the current time.

Absolute - allows targeting the target point at a particular time by specifying a given time to use

Time time_offset 0 A time offset for the constraint, allowing targeting the past or future of the target point
Constraint
Type constraint LookAt

The type of constraint:

Look At - Allows your constrained prim to always face and look at the target prim you are constraining to.

Parent - Modifies the prim’s transformation as if the target was the parent hierarchically. Allows your constrained prim to match the translation, rotation and scale of the target prim and allows you to set whether you want that transformation to be absolute or relative to the constrained prims existing location in world space, using the maintain offset knob.

Transformation - Matches the location, rotation and scale of the prim to the those of the target. Acts similarly to the Parent constraint but is a quick way to constrain via translation or rotation.

Translation - Matches the location transformations of the prim to that of the target.

Rotation - Matches the rotation transformations of the prim to that of the target .

Scale - Matches the scale transformations of the prim to that of the target.

Orientation Axis (Look At only) constraint_orient_axis +Z Orientation axis of the effect. Applies to following types of constraint: LookAt. Also has controls for enabling and disabling the X Y Z axes rotation.

Rotate X

constraint_rotate_x

on

Determines whether the constraint occurs around the X axis.

Rotate Y

constraint_rotate_y

on

Determines whether the constraint occurs around the Y axis.

Rotate Z

constraint_rotate_z

on

Determines whether the constraint occurs around the Z axis.

Translate (Parent and Transformation only) constraint_apply_translate on Enables or disables the translation for the constraint for Parent and Transformation Types only.
Rotate (Parent and Transformation only) constraint_apply_rotate on Enables or disables the rotation for the constraint for Parent and Transformation Types only.
Scale (Parent and Transformation only) constraint_apply_scale off Enables or disables the Scale for the constraint for Parent and Transformation Types only.
Strength (Look At only) constraint_strength 1 Strength of the effect. Applies to following types of constraint: LookAt.
Maintain Offset Frame constraint_maintain_offset off, 0 When enabled, the prim maintains the relative offset between itself and the target at the specified offset frame.
Maintain Offset Frame (Set to Current Frame) constraint_set_maintain_offset_frame N/A Set the frame to use to the current frame for maintain offset calculation.

Extra Transform

Coordinate System coordinate_system Point

Coordinate system to use:

Point - coordinate system at the target point.

Prim - coordinate system of the target prim.

World - world coordinate system.

Snap geosnap_operation N/A

Choose what a selection in the Viewer or pivot point is snapped to in the Viewer:

Geo to Set your geometry to a vertex selection within the scene.

Geo to Set your geometry to a vertex selection within the scene in a frame range.

Geo to Snaps your geometry by using a custom script.

Pivot Point to Set your pivot point to a vertex selection within the scene in a frame range.

Pivot Point to Set your geometry to a vertex selection within the scene in a frame range.

Pivot Point to Set your geometry to the selected prim’s bounding box within the scene. Click knob to select which part of the bounding box to snap to.

Pivot Point to Snaps your pivot point by using a custom script.

(Snap) T geosnap_translate on Sets the translation to the selection within the scene.
(Snap) R geosnap_rotate off Sets the rotation to the selection within the scene.
(Snap) S geosnap_scale off Sets the scale to the selection within the scene.

Transform Data

file_menu

N/A

Select to import or export a channel file:

Import chan file - import a channel file and transform the object according to the transformation data in the channel file. Channel files contain a set of Cartesian coordinates for every frame of animation in a given shot. You can create and export them using Nuke or 3D tracking software, such as 3D-Equalizer, Maya, or Boujou.

Export chan file - export the translation parameters that you’ve applied to the object as a channel file. This is a useful method of sharing setups between artists.

Translate

translate

0, 0, 0

Lets you translate the object along the x, y, and z axes. You can also adjust translate values by clicking and dragging the object in the 3D Viewer.

Rotate

rotate

0, 0, 0

Lets you rotate the object around the x, y, and z axes. You can adjust rotate values by holding down Ctrl/Cmd and dragging in the 3D Viewer.

Scale

scaling

1, 1, 1

Lets you scale the object on the x, y, and z axes.

Uniform Scale

uniform_scale

1

Lets you scale the object simultaneously on the x, y, and z axes.

Skew

skew

0, 0, 0

Lets you skew the object on the x, y, and z axes.

Local Matrix

Specify Matrix

use_matrix

off

Enable this control to specify matrix values for the object you’re transforming as an alternative to setting transform, scale, skew and pivot values above.

Matrix

matrix

N/A

The matrix displays values from the object’s transform, rotate, scale, skew, and pivot controls.

Check specify matrix and copy or drag-and-drop matrix values from another object to apply those values, for example, if you wanted to align objects in a scene.