|On this page|
Unlike referencing in a file with the Reference LOP, this node is more for performing “surgery” on anonymous in-memory layers to build them into a tree you want to write out. It flattens the prims from the other inputs and directly attaches them in-memory to the tree in the first input, rather than creating a composition arc.
This node is very similar to the Graft Stages node, however instead of attaching the entire contents of a stage from another input, it attaches individual primitives (and any descendants).
This node has a multi-parm to allow you to graft multiple primitives from the second input onto the “main” scene graph tree in the first input.
This can be very useful to grab objects from an imported stage, or changes from an edited stage, and put them in different locations in the current stage.
Where to attach the imported prims
By default, all destination paths are added under the scene graph path you set in Primitive path (this is, this path is prefixed to the destination paths you set for each prim in the multi-parm).
The default is the path of the last modified prim in the first input, which is not very useful. You should change this to be the parent prim under which you want to attach the grafted branches.
For each “source prim” you specify in the multi-parm, you can specify a Destination prim path. This is added to the path in Primitive path.
So, if you are putting all grafted prims in the place, or all under a common ancestor, it can be useful to set Primitive path to the common prefix of all the destination paths, and only specify the suffixes in the Destination prim path for each graft. Or, for full control in the multi-parm, you can set this to
/ and specify full destination paths in the multi-parm.
If you disable Treat Destination Paths as Parents, then prims will not be copied under the destination paths described above but, rather, directly into those paths. For example, if your source path is /geo/sphere and your destination path is /new/ball, you will either end up with /new/ball/sphere or /new/ball depending on the state of the aforementioned parm.
The parent scene graph path of all grafted sub-trees. The Destination prim path of each grafted prim is appended to this path. See “Where to attach each subtree” above.
If the parent prim in Primitive path does not exist, it will be created, and set to be this kind. If the prim already exists, this parameter does nothing.
Parent Primitive Type
If this node generates a path where intermediate prims do not exist yet, it will create them. This controls the type of any intermediate prims this node creates.
Make Destination Primitive Paths Unique
It is possible to set multiple inputs to have the same destination path. If this parameter is off, the trees are merged. If this is on, the node adds increasing numbers on to the end of each destination path until it is unique.
Treat Destination Paths as Parents
Controls whether source prims will be copied as children of the specified destination prim (on), or copied directly into the destination prim (off).
Frame Offset Mode
Controls how/whether to edit time samples on the grafted prims. (To not edit time samples, set this to Offset and Frame Offset to 0.)
Note that this parameter edits the time samples in terms of frames, not seconds.
Match Start Times
Time-shift the animation based on the first time sample. For example, if the current stage (first input) is a shot with frame range 200-300, and you graft from a stage with frame range 100-200, the grafted animation will be shifted by +100 frames.
Adds or subtracts a constant number of frames to the animation, specified in the Frame offset parameter below.
Match and Offset
Combination of the other two options: shifts the animation based on start times, and then also applies a constant offset.
The default is Offset.
When Frame offset mode is Offset or Match and offset, the number of frames (positive or negative) to offset the grafted time samples. Note that this parameter edits the time samples in terms of frames, not seconds.
Number of Source Prims
How many prims to graft.
Whether the node applies this graft in the output.
Source Prim Path
The path to the prim to grab from the second input.
Destination Prim Path
Where to put the grafted prim in the scene graph tree of the first input. This path is added on to the path in the Primitive Path parameter.
Keep the worldspace position of the prim(s) being grafted. This may be useful if the source and destination hierarchies have different transformation stacks.
Keep the material assignment for the prim(s) being grafted. This may be useful if the source prim’s material assignment comes from a parent but it is being grafted under a different parent that has a different material assignment.