GeoTransform

The GeoTransform node applies transforms to objects in a 3D scene, including translate, rotate, scale, and skew. The Mask property controls the objects that are affected by the node, which allows you to transform the entire scene or only certain objects. The default mask, {lastmodified}, applies the transform to whatever was changed by the previous node. A simple way to think of it is that {lastmodified} affects the node above, which is just the GeoRevolve node in the video example. You can enter as many object paths as required, such as /GeoCube1 and /GeoRevolve1, and then adjust the transform controls to affect just those objects. You can also use simple expressions, such as /GeoC* to affect anything with a path beginning "GeoC" or /* (forwardslash asterisk) to affect everything in the scene.

In larger scenes you can use the Scene Graph or eye dropper in the Properties panel to select objects to transform. To use the Scene Graph, navigate to the object you want to transform and drag the path into the GeoTransform Mask control. You can drag as many individual objects as you like into the Mask control as long as each path is separated by a space or you can multi-select objects and drag them into the Mask control all at once.

To use the eye dropper, click the dropper icon in the Properties panel and then click the required object in the 3D Viewer to add it to the Mask control. To make multiple selections, hold Ctrl/Cmd+Shift and click the required objects in the 3D Viewer.

GeoTransform also includes two optional inputs, look and axis, to control transforms automatically:

If the look input is connected, the transformed 3D object is automatically rotated to point towards the look object, even if it is moved. You can change the axis on which the object rotates to look at the camera on the Look tab.

If the axis input is connected, the transform controls on the Axis node override the corresponding controls on the GeoTransform node.

Tip:  GeoTransform's classic 3D system equivalent is the TransformGeo node.

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The previous stage in the scene you want to translate, rotate, scale, or skew. The Mask control determines which objects in the scene are affected, by default {lastmodified}.

look

An optional input where you can connect a 3D object that the transformed 3D object should face. If a look input exists, the transformed 3D object is automatically rotated to point towards the look input whenever the look input is moved.

This can be useful, for example, if you have a 2D matte painting mapped to a Card in your scene. The look input ensures that the plane of the painting always faces the camera, regardless of the camera position, and maintains the illusion depicted by the painting.

axis

An optional Axis node input. This links the position, rotation, scale, and skew of the transformed 3D object(s) to the Axis node, so that the transformation controls on the Axis node override the corresponding controls on the GeoTransform node.

If you’ve worked with other 3D applications, you may know the Axis node as a “null” or “locator” object.

Control (UI)

Knob (Scripting)

Default Value

Function

GeoTransform Tab

Mask

mask_patterns

{lastmodified}

Specifies the mask pattern to match the prim names to affect. The default mask, {lastmodified}, applies the transform to whatever was changed by the previous node. A simple way to think of it is that {lastmodified} affects the node above. You can use standard glob-style variables, such as /*, to create masks or use individual prim names separated by spaces. For example, /GeoCube1 /GeoCard3 applies the transform to only those prims.

Tip:  You can also use the cog menu, the Viewer picker, or drag and drop paths from the Scene Graph to create masks.

file_menu

N/A

Select to import or export a channel file:

Import chan file - import a channel file and transform the input 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 input object as a channel file. This is a useful method of sharing setups between artists.

snap_menu

N/A

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

Geo to Selection (position) - the object is snapped to a new position depending on the points selected.

Geo to Selection (position, orientation) - the object is snapped to a new position and orientation depending on the points selected.

Geo to Selection (position, orientation, size) - the object is snapped to a new position, orientation, and size depending on the points selected.

Pivot Point to Selection (position) - the pivot point is snapped to a new position depending on the points selected.

Pivot Point to Selection (position, orientation) - the pivot point is snapped to a new position and orientation depending on the points selected.

Pivot Point to Selection (orientation) - the pivot point is snapped to a new position, orientation, and size depending on the points selected.

Transform Order

xform_order

SRT

Sets the operation order for scale (S), rotation (R), and translation (T). The possible operation combinations are SRT, STR, RST, RTS, TSR, TRS.

Rotation Order

rot_order

ZXY

Sets the order of rotation. The possible axial combinations are ZXY, XYZ, XZY, YXZ, YZX, ZXY, ZYX.

Translate

translate

0,0,0

Translates the selection along the x, y, and z axes. You can also adjust translate values by clicking and dragging the axis in the 3D Viewer.

Rotate

rotate

0,0,0

Rotates the selection 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

Scales the selection on the x, y, and z axes.

Uniform Scale

uniform_scale

1

Scales the selection simultaneously on the x, y, and z axes.

skew

skew

0,0,0

Skews the selection on the x, y, and z axes.

Pivot Translate

pivot_translate

0,0,0

Translates the pivot point and transform handles along the x, y, and z axes without affecting the objects in the scene. You can also translate the pivot point by holding down Ctrl/Cmd and dragging the axis in the 3D Viewer.

Pivot Rotate

pivot_rotate

0,0,0

Rotates the pivot point and transform handles along the x, y, and z axes without affecting the objects in the scene. You can also rotate the pivot point by holding down Ctrl/Cmd and dragging the axis in the 3D Viewer.

Local Matrix

Specify Matrix

useMatrix

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.

Prim Transform Order

xform_op_order

Prepend

Determines when transforms should be applied to the objects specified in the Mask control:

Prepend - applies the transforms from this node before any other transforms applied to the object.

Append - applies the transforms from this node after any other transforms applied to the object.

Look Tab - controls on this tab are only enabled when the look input is connected.

Look Axis

look_axis

+Z

Defines the axis around which the 3D object is rotated to face the look input.

Rotate X

look_rotate_x

on

Determines whether the rotation occurs around the X axis. Note that for the rotation to truly "look at" the look input, all three of these options must be activated.

Rotate Y

look_rotate_y

on

Determines whether the rotation occurs around the Y axis. Note that for the rotation to truly "look at" the look input, you have to set all three of these options.

Rotate Z

look_rotate_z

on

Determines whether the rotation occurs around the Z axis. Note that for the rotation to truly "look at" the look input, you have to set all three of these options.

Look Strength

look_strength

1

Determines to what extent the 3D object rotates to the new orientation. The smaller the value, the less the object is rotated. Setting the value to 0 produces no rotation.

Use Quaternions

look_use_quaternions

off

Uses an alternate scheme to calculate the look rotation. This option may be useful to smooth out erratic rotations along the look axis.