This project demonstrates foundational OpenUSD scene construction inside NVIDIA Omniverse.
It showcases how to build a modular, non-destructive USD scene using proper layering, instancing, and real-time rendering.
This project follows a production-style USD pipeline where assets are stored externally and referenced into the scene rather than embedded locally.
- OpenUSD scene graph organization
- Asset referencing workflow
- Instanceable assets (native instancing)
- PointInstancer usage for large-scale repetition
- Layered USD composition (layout, lighting, materials, physics)
- Basic physics setup (colliders + rigid bodies)
- Real-time rendering using RTX
The scene is organized under:
/World
/Environment
/Pipes
/Platforms
/Crates
/FastenersPI
| Layer | Purpose |
|---|---|
| layout.usda | Scene layout and transforms |
| lighting.usda | All lighting (DomeLight + DistantLight) |
| materials.usda | Material definitions |
| physics.usda | Physics scene and colliders |
This separation ensures a clean, non-destructive workflow.
Assets used in this project are referenced from a local asset library and are not included in this repository.
Example asset paths:
- /assets/crates/
- /assets/fasteners/
This mirrors real-world USD pipeline workflows where assets are managed centrally and referenced into scenes.
Crates are referenced as reusable assets and marked instanceable to improve performance and enforce consistency.
Fasteners (bolts) are generated using UsdGeom.PointInstancer, demonstrating scalable asset distribution.
- Ground and platform colliders added
- Rigid body testing performed
- Verified collision behavior
- DomeLight for ambient illumination
- DistantLight for directional lighting
- Rendered in RTX Real-Time 2.0
All images were rendered using NVIDIA Omniverse RTX Real-Time 2.0.
- NVIDIA Omniverse Composer
- OpenUSD (Pixar USD)
- Python (for PointInstancer setup)
Dartayous Hunter Digital Twin Engineer (NVIDIA-focused)



