Skip to main content

physx-usd-schemas

Codeless PhysX USD schemas for authoring and validation with a stock OpenUSD runtime.

This package ships two USD schema modules as pure-Python subpackages (no compiled C++ bindings):

  • physx_usd_schemas.PhysxSchema -- PhysX simulation schemas (rigid body, collision, joints, vehicles, particles, ...)
  • physx_usd_schemas.OmniUsdPhysicsDeformableSchema -- Omni deformable-body simulation schemas
  • physx_usd_schemas.PhysicsSchemaTools -- Schema utility helpers (e.g. units_db)

Importing physx_usd_schemas registers all bundled schemas with any stock usd-core runtime, so you can author or validate physics-annotated USD files without the full Omniverse runtime.

This wheel supplies the NVIDIA physics schema extensions -- the Physx* API schemas and the OmniPhysics* deformable schemas. The official pxr.UsdPhysics core physics schemas come from usd-core (OpenUSD), which is why usd-core is required alongside this wheel.

Installation

pip install physx-usd-schemas usd-core

Usage

Register all schemas at once (recommended)

Importing physx_usd_schemas registers all bundled schemas automatically -- no explicit call is needed:

import physx_usd_schemas  # registers all schemas on import
from pxr import Usd

stage = Usd.Stage.CreateInMemory()
prim = stage.DefinePrim("/World/Box", "Cube")
prim.ApplyAPI("PhysxRigidBodyAPI")
prim.ApplyAPI("PhysxCollisionAPI")
print(prim.GetAppliedSchemas())

physx_usd_schemas.register_all() is also available for explicit use and is safe to call again.

Register individual schemas

from physx_usd_schemas import PhysxSchema
from physx_usd_schemas import OmniUsdPhysicsDeformableSchema

PhysxSchema.register()
OmniUsdPhysicsDeformableSchema.register()

Use the pure-Python schema API

The schema modules expose a pure-Python API that mirrors the compiled bindings:

from pxr import Usd
import physx_usd_schemas  # registers all schemas on import
from physx_usd_schemas import PhysxSchema

stage = Usd.Stage.CreateInMemory()
prim = stage.DefinePrim("/World/Box", "Cube")
api = PhysxSchema.PhysxRigidBodyAPI.Apply(prim)
api.CreateLinearDampingAttr(0.1)

Discover schema resource paths

If you need the raw plugInfo.json directory paths for manual registration:

import physx_usd_schemas
from pxr import Plug

paths = physx_usd_schemas.schema_paths()
Plug.Registry().RegisterPlugins([str(p) for p in paths])

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

physx_usd_schemas-25.11.1-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

File details

Details for the file physx_usd_schemas-25.11.1-py3-none-any.whl.

File metadata

File hashes

Hashes for physx_usd_schemas-25.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a00e4062b28f5a23cbacdfb9dcddb6f3cf59418f082e2df8f9c3d0359d88da37
MD5 84e8b1a1f72843746b9c69635e963718
BLAKE2b-256 69d11ec944dcf81f806448bde3c3a538b79046b7dfd526059c9fdb2deff0619f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page