Skip to main content

Exporting USD from Houdini

Tested with Houdini Core 21.0.631 (Py3.11).

Overview

The goal is to produce a single, self-contained USD file with all geometry, materials, and textures using relative paths. The general workflow is:

  1. Open or import your source file
  2. Build the scene (geometry and materials)
  3. Add lights
  4. Set units
  5. Set color management
  6. Export USD

1. Open File

  1. In the main menu go to File → Set Project... and choose a location that contains your texture folder.
  2. In the Stage network, import your source asset using one of the methods below.

USD, OBJ, or FBX (no embedded textures)

Press Tab, search for Combine, and add a SubLayer node.

  • Inside the SubLayer node: Composition → Sublayer File 1 → File — select your file.

SubLayer node file settings

OBJ or FBX at the Geometry level (no textures)

  1. Press Tab → Geometry and add a Geometry node. Enter it.
  2. Inside the Geometry node, press Tab → File and select your OBJ or FBX.
  3. Add a Null node and connect the File node into it.
  4. Return to Stage, press Tab → SOP Import, and point it at the Null.

Inside the Geometry node you can also add a USD Export SOP to pre-configure the output path ($JOB/YourFileName.usd).

Geometry-level USD Export SOP

FBX with textures

Go to File → Import → Filmbox FBX... and use these import settings:

  • Material Options → Import Materials As: Principled Shaders
  • General Options → File Paths: Convert to Relative

FBX import options

OBJ with textures

Go to File → Import → Geometry..., select your OBJ, and click Accept.

Then navigate to obj → Subnetwork → Material Network and redirect any texture paths to your project's texture folder.


2. Build Scene

Geometry

Add any additional geometry as needed (e.g. a ground plane or reference cube).

Materials

  1. In the Stage network, press Tab → Materials → Material Library and add a Material Library node.
  2. Enter the Material Library node.
  3. Press Tab → MaterialX → USD MaterialX Builder and enter it.
  4. Press Tab → MaterialX → Texture 2D → MtlX Image to add texture nodes.
  5. Connect and configure as desired.
tip

Apply materials only to the meshes that require them.

Assign Materials

Back in Stage, press Tab → Materials → Assign Material and connect your material assignments.


3. Add Lights

caution

Lights will appear significantly darker in Miris than they do in the Houdini viewport. If you want an effective Intensity of 1 and Exposure of 1, try starting with Intensity: 70, Exposure: 3.5 and adjust from there.

Dome Light (HDRI)

  1. Press Tab → Lights → Dome Light.
  2. Base Properties → Texture — select your HDRI file ($JOB/[texture folder]/[hdri]).
  3. Adjust Intensity and Exposure.
  4. Transform → Rotate — set to (-90, 0, 0).

Dome Light settings

Distant Light

  1. Press Tab → Lights → Distant Light.
  2. Adjust Rotation, Intensity, and Exposure as desired.
note

Disabling light visibility to camera is not yet documented. If needed, experiment with the light's Render Visibility settings.


4. Set Units

  1. Go to Edit → Preferences → Hip File Options.
  2. Set Unit Length (m): 1.
  3. Click Apply, then Accept.

Hip File Options — Unit Length


5. Color Management

  1. In the Display Options, set Color Correction to:
    • Gamma: 2.2
    • Lut: (empty)
    • Apply to Background Image: ☑ enabled

Display Options — Color Correction

  1. Go to Edit → OCIO Settings... and confirm your OCIO configuration.

OCIO Settings dialog


6. Save USD

  1. In the Stage network, press Tab → Managers → USD ROP.
  2. Set Output File to $JOB/<YourFileName.usd>.
  3. Set Save Style to Flatten Stage (Collapse All Sublayers and References).
  4. Under Output Processing → Use Relative Paths, enable ☑ Enable.
  5. Click Save to Disk.

USD ROP save settings