Skip to content

novaphy.OpenUsdImporter

OpenUSD scene importer. Loads a USD stage from disk and produces a UsdStageData snapshot ready for SceneBuilderEngine.build_from_openusd.

The importer is intentionally conservative: it parses standard UsdPhysics schema attributes (rigid bodies, masses, primitive shape APIs) and the prim hierarchy / animation tracks. PhysX / MuJoCo schema extensions and custom solver schemas are not yet resolved.

Constructor

OpenUsdImporter(min_supported_version: float = 21.08)

Parameters:

Parameter Description
min_supported_version Minimum USD library version (year + month, e.g. 21.08) accepted by the importer. Stages reporting an older runtime will be rejected on import.

Methods

Method Description
import_file(usd_path) -> UsdStageData Parse a .usd / .usda / .usdc file from disk.

Properties

Property Description
min_supported_version Read-only echo of the value passed to the constructor.

Example

import novaphy

importer = novaphy.OpenUsdImporter(min_supported_version=21.08)
stage = importer.import_file("scene.usda")

print("up axis :", stage.up_axis)
print("units   :", stage.meters_per_unit, "m / USD unit")
print("prims   :", len(stage.prims))

engine = novaphy.SceneBuilderEngine()
result = engine.build_from_openusd(stage)

Notes

  • OpenUsdImporter requires NovaPhy to be built with NOVAPHY_WITH_USD=ON (the default for first-party wheels). It is unavailable in lean builds that drop the OpenUSD runtime.
  • Animation samples are surfaced via UsdPrim.tracks; there is no separate top-level animation track list on the stage.

See Also