Importing USD Meshes and Point Clouds

Universal Scene Description (USD) is an open source file type from Pixar that supports any number of assets organized into virtual sets, scenes, and shots. You can share .usd files freely between applications that support the format and edit them non-destructively in a single scenegraph.

For more information on the USD format, see https://graphics.pixar.com/usd/docs/index.html

You can import meshes and point clouds from USD files (.usd file format) into a Nuke scene. During the import, you can control which items in the USD scene are loaded using the import dialog. You can load all items in a single ReadGeo node or specify certain items as parents, which load in separate ReadGeo nodes along with all their child items. If there is only one item in the USD file, it loads automatically.

Note:  Nuke currently supports .usd and .usda files and can display color, normals, and UV information in the Viewer.

Importing Items from USD Files

1.   Click Image > Read or press R on the Node Graph.

The Read File(s) dialog displays.

2.   Select the .usd file you want to import from the file location, then click Open.

Files containing only one item are loaded automatically into a ReadGeo node in the Node Graph.

Files containing more than one item display a scenegraph load dialog that allows you to create separate ReadGeo nodes from parents in the scenegraph. By default, all items are selected in the scenegraph.

3.   Click in the Load column to load or ignore the items you want to import.

Note:  Unsupported items, such as Camera and Xform, are imported along with supported items, but are grayed-out in the scenegraph.

Parent full load

This item and all its children are included in the ReadGeo node.

Parent partial load

This item and selected children are included in the ReadGeo node.

If you click Create parents as separate nodes, full load and partial load parents and their children are loaded in separate ReadGeo nodes.

Item full load

This item and all its children are included in the ReadGeo node.

Item partial load

This item and selected children are included in the ReadGeo node.

No load

This item and its children are not included in the ReadGeo node.

4.   You can also right-click on an item and choose:

select as parent - select this item and make it a parent. This allows you to create a separate ReadGeo node for this item and any child items.

select as child - select this item and make it a child to the nearest parent item up the tree.

deselect - deselect this item so that it is not imported.

Tip:  Select multiple items by pressing Ctrl/Cmd or Shift while clicking them.

5.   To import your selections, do one of the following:

Click Create all-in-one node to create one ReadGeo node for everything that’s selected, regardless of whether the items are selected as parent or child.

Click Create parents as separate nodes to create one ReadGeo node for each parent item marked with an orange circle in the scenegraph. Each ReadGeo node also contains all child items.

If you want to transform parts of the .usd file independently, you need to set the objects as parents so that they load in their own ReadGeo node. See Transforming Items for more information.

Nuke creates ReadGeo nodes for each parent you chose to import from the scene.

Showing and Hiding Loaded Items

Loaded items in Nuke use similar selection controls to those in the import dialog. You can show and hide supported items by clicking in the Scenegraph > Load column.

For example, clicking the following scenegraph item on and off in the Load column affects part of the casing on the geometry.

Note:  If you want to import items that were not included in the original USD import, click view entire scenegraph and then use the Load column to import the required items.

You also have limited control over how items in the ReadGeo node appear in the 3D Viewer and in rendered output using the standard display and render dropdowns in the Properties panel:

off - hides the geometry.

wireframe - displays/renders only the outlines of the item's geometry.

solid - displays/renders all geometry with a solid color. Some .usd files include color information, which can help to pick out the different items in a scene.

solid+wireframe - displays/renders the geometry as solid color with the item’s geometry outlines.

textured - displays/renders only the surface texture.

textured+wireframe - displays/renders the wireframe plus the surface texture.

Note:  The display dropdown does not affect the rendered output, only the item's appearance in the 3D Viewer. Similarly, the render dropdown does not affect the item's appearance in the 3D Viewer, only the rendered output.

See Applying Materials to Items for more information on how to add materials to your items.

Transforming Items

The controls in the ReadGeoTransform tab affect all the items in the scenegraph. You can use these controls to correct global transforms imported along with the USD items. For example, importing a .usd from Maya might place the scene facing away from Nuke's default camera.

To transform parts of the scene individually, mark the items in the scenegraph as parents during import and then click Create parents as separate nodes to create one ReadGeo node for each parent item. See Importing Items from USD Files for more information.

You can then transform each item separately using the ReadGeo Transform controls or a TransformGeo node.

See Transforming Geometry, Cameras, and Lights for more information.

Applying Materials to Items

You can apply a material to a single scenegraph location using a downstream ApplyMaterial node. Enter a named location in the filter name control or click choose to navigate to the required scenegraph location.

Click OK to apply the material to the selected scenegraph location.

See Materials and Textures for more information.