Import or Create USD Objects in Your Scene

Using USD files in your pipeline allows you to organize large scenes more effectively and edit objects non-destructively, so you never lose upstream work. USD is also a versatile format that most VFX software packages support, making it easy to work between stages in production, from texture painting, through look development and into compositing.

Nuke imports the entire contents of your USD file using the GeoImport node, and depending on how many layers are inside the file, this can mean importing a large amount of data into your scene in one go. Or you can reference part of the file using the GeoReference node if you know the object's path you want to import.

Creating simple geometry such as cards, cubes, and spheres is the same as the classic 3D workflow. You add nodes, such as GeoCard or GeoCube, to the Node Graph from the left-hand toolbar or by pressing Tab in the Node Graph and typing the node name you need.

GeoImport vs. GeoReference: Which Node to Use?

GeoImport brings an entire scene into Nuke, including any lights, cameras, and materials in the scene. GeoImport does not allow you to change the object's path in the scene graph, so importing the same file more than once has no effect because the objects are overwritten with the same data.

If you want to import the same object multiple times, use the GeoReference node to create a reference to the required object or use GeoInstance to copy objects already in the scene graph.

See GeoInstance for more details on instancing objects.

Import an Entire Scene

GeoImport brings an entire scene into Nuke, including any lights, cameras, and materials in the scene. In Nuke's USD-based 3D system, importing the same file twice does not duplicate the objects inside because USD only allows objects with unique paths to exist in the scene.

For example, importing a .usd file containing an object described by the path /geom/char/Char/Ship/Ship_001/Ship_Mesh imports the ship mesh, but importing it again in another GeoImport node does not create another Ship_Mesh because the path already exists. For more information on paths and masks, see Using Paths and Masks to Control the Scene.

If you want to import another Ship_Mesh from the same file, use the GeoReference node. See Reference an Object Using a File Path or Prim Path for more information.

To import a USD file:

Now that you have your USD objects in Nuke, you can work on the scene to achieve the final result you're aiming for using Nuke's 3D toolset.

Reference an Object Using a File Path or Prim Path

As mentioned previously, in Nuke's USD-based 3D system, importing the same file twice does not duplicate the objects inside because USD only allows objects with unique paths to exist in the scene. This is where the GeoReference node can help you because it allows you to change the path of an object when you bring it into Nuke.

GeoReference doesn't duplicate objects, it creates a light-weight reference to an object often referred to as an instance in other applications, such as Katana. You can use the File Path control to reference a file on disk or the Prim Path control to reference an object already in the scene graph:

Reference an Object Using a File Path

Referencing an object using a file path creates an instance from a specified USD file and gives it a new path, effectively duplicating the object. The object does not have to exist in the scene because you specify a file from which the object is referenced.

To reference an object using the File Path and Prim Path:

Now that you have your USD objects in Nuke, you can work on the scene to achieve the final result you're aiming for using Nuke's 3D toolset.

Reference an Object Using a Prim Path

Referencing an object using only a prim path creates an instance from an existing object and gives it a new path, effectively duplicating the object.

To reference an object using only the Prim Path:

Now that you have your USD objects in Nuke, you can work on the scene to achieve the final result you're aiming for using Nuke's 3D toolset.

Create Primitive Geometry Using Nuke Nodes

Sometimes you just need simple reference geometry or a card for projection workflows and Nuke's USD-based 3D system ships with similar nodes to the classic 3D system for these tasks. Creating geometry such as cubes, spheres, and cards is the same as the classic 3D workflow. You add nodes, such as GeoCube or GeoCard, to the Node Graph from the left-hand toolbar or by pressing Tab in the Node Graph and typing the node name you need.

To create a Nuke primitive:

Import, Create, and Inspect Node Reference

Here's a handy reference guide to the nodes described in this topic. To help us develop the future of 3D compositing workflows in Nuke, visit https://community.foundry.com/discuss/nuke3d

GeoImport

Import USD or Alembic objects from external files into Nuke.

GeoReference

Creates a reference to another object in the scene.

GeoCard

Creates a card object in the scene.

GeoCube

Creates a cube object in the scene.

GeoInstance

Creates instances of an object, allowing you to duplicate prims.

GeoRevolve

Creates a cylinder or sphere object in the scene.

GeoViewScene

Displays the stage passing through the node in read-only text form.