GeoInstance
The GeoInstance node creates a number of instances of an object, allowing you to duplicate a prim multiple times. An instance is a reference to another object rather than a copy of it, so if the original is modified, the instances are also modified. GeoInstance has three Instance Modes:
• reference - creates a number of reference instances from the source object. You can modify an individual instance using its unique path in the Scene Graph, giving you full control of each instance.
• instanceable reference - similar to the reference mode, but computationally cheaper. You can use instanceable reference mode for small groups of referenced prims, such as cars and crowd scenes.
• point instancer - creates a single Scene Graph location containing all instances, which is computationally cheaper than instanceable reference mode, but the instances cannot be modified individually by downstream nodes. This mode is mostly useful for particles or other geometry with thousands of parts as you can only modify the whole instance at once.
GeoInstance includes options to control what happens to the source object and the number of instances created. The name of instances created is {name}_{index} by default, which adds a number after the source prim name, such as GeoRevolve1_1 and GeoRevolve1_2.
The transform controls affect all the instances in the scene and are applied to each instance from the previous instance's position. The second instance is transformed and then the third instance is transformed by the same amount, but from the position of the second instance, and so on. For example, with a Count of 3 instances and Rotate x value of 30 in the Properties panel, the first instance is not affected, the second instance is rotated 30, and the third instance is rotated 60.
|
|
Three instances of a cube geometry. |
The same three instances with a Rotate x |
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 |
GeoInstance |
|||
Mask |
mask_patterns |
{lastmodified} |
Specifies the mask pattern to match the prim names to affect. The default mask, {lastmodified}, instances 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, /GeoCube 1 /GeoCard3 instances 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. |
Instance Mode |
instance_mode |
reference |
Specifies the type of instances to create: • reference - creates a number of reference instances from the source object. You can modify an individual instance using its unique path in the Scene Graph, giving you full control of each instance. • instanceable reference - similar to the reference mode, but computationally cheaper. You can use instanceable reference mode for small groups of referenced prims, such as cars and crowd scenes. • point instancer - creates a single Scene Graph location containing all instances, which is computationally cheaper than instanceable reference mode, but the instances cannot be modified individually. This mode is useful for particles or other geometry with thousands of parts as you can only modify the whole instance at once. |
Original |
original_mode |
deactivate |
Determines what happens to the original objects specified in the Mask control: • deactivate - the source prims are deactivated, as if they were never in the scene. • activate - the source prims are activated, which can be useful to override inherited deactivation. • hide - the source prims are hidden in the scene, but can still be referenced as normal. • show - the source prims are shown in the scene, which can be useful to override an inherited hidden state. • include - the source prims are included in the instance Count replacing the first instance, so one fewer instances is created. |
Count |
count |
2 |
Specifies the number of instances to create from the objects in the Mask control. |
Path |
instances_path |
none |
Specifies the Scene Graph path under which the instances are created. The referenced node name is used if Path is left blank. |
Parent Type |
instances_parent_prim_type |
Xform |
Sets the type of prim to create if there are missing ancestors in the path. Note: The default, None, may cause some referenced objects to behave as if they don't exist. |
Naming |
names |
{name}_{index} |
Specifies the naming convention for the instances in the Scene Graph. The default, {name}_{index}, creates instances named from the Mask control and the index number of the instance. For example, if GeoCube1 is instanced with a Count of 3: • GeoCube1_1 • GeoCube1_2 • GeoCube1_3 You can also use the following tokens to create your own naming convention: • {name} - the name of the original object. • {index} - the 1-based index of the new object. • {count} - the total count. • {srcindex} - the index in the list of the source objects. • {srccount} - the count of source objects. |
|
file_menu |
N/A |
Select to import or export a channel file: • Import chan file - import a channel file and transform the instanced objects 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 instanced objects 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 instanced objects are snapped to a new position depending on the points selected. • Geo to Selection (position, orientation) - the instanced objects are snapped to a new position and orientation depending on the points selected. • Geo to Selection (position, orientation, size) - the instanced objects are 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 |
Lets you translate the instanced objects 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 instanced objects 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 instanced objects on the x, y, and z axes. |
Uniform Scale |
uniform_scale |
1 |
Lets you scale the instanced objects simultaneously on the x, y, and z axes. |
Skew |
skew |
0, 0, 0 |
Lets you skew the instanced objects on the x, y, and z axes. |
Pivot Translate |
pivot_translate |
0, 0, 0 |
When you make changes to a 3D object’s position, scaling, skewing, and rotation, these occur from the location of the object’s origin point or pivot. The pivot translate and rotate x, y, and z controls allow you to move and rotate the pivot point as required - you can even move it outside of the object. Subsequent transformations applied then occur relative to the new pivot point location and rotation. You can hold down Ctrl/Cmd and drag the pivot point to a new location in the 3D Viewer.
|
Pivot Rotate |
pivot_rotate |
0, 0, 0 |
|
Local Matrix |
|||
Specify Matrix |
use_matrix |
off |
Enable this control to specify matrix values for the instanced objects 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 instanced 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. |