A small Python-based OpenUSD pipeline utility that demonstrates how to:
- load USD stages programmatically
- inspect and traverse prims
- modify prim attributes
- adjust transforms
- author material-based variants
- export new USD artifacts
This project moves beyond using Omniverse or Isaac Sim interactively and demonstrates programmatic USD pipeline control in Python.
It is designed to show recruiter-relevant OpenUSD engineering skills for Digital Twin, simulation, and robotics workflows.
- Create a sample USD stage
- Load an existing USD file
- Inspect stage prims
- Modify
/World/MyCube - Change cube size and translation
- Author a
colorvariant set with:bluered
- Verify variants programmatically
- Export processed USD files into
output/
project_05_openusd_pipeline_tool/
├── docs/
├── images/
│ ├── full_script_01.png
│ ├── full_script_02.png
│ └── full_script_03.png
├── input/
├── output/
├── src/
│ └── pipeline_tool.py
└── README.md
Create a fresh sample stage and process it:
python3 src/pipeline_tool.py --input-stage fresh_demo.usda --create-sample
**Process an existing stage:**
python3 src/pipeline_tool.py --input-stage recruiter_demo.usda
The tool generates outputs such as:
*_modified.usda *_with_variants.usda
The tool authors a color variant set on /World/MyCube and preserves authored variant structure by exporting the root layer rather than flattening only the composed stage result.
Python 3 OpenUSD (pxr)