Skip to content

Deformable Body Physics in USD - #111

Open
sschirm wants to merge 1 commit into
PixarAnimationStudios:mainfrom
aousd:physics-deformables
Open

Deformable Body Physics in USD#111
sschirm wants to merge 1 commit into
PixarAnimationStudios:mainfrom
aousd:physics-deformables

Conversation

@sschirm

@sschirm sschirm commented Jun 23, 2026

Copy link
Copy Markdown

Description of Proposal

Summary

This proposal extends UsdPhysics with a basic, interoperable, backwards-compatible set of abstractions for deformable body dynamics — the elastic deformation of volumes, surfaces (e.g. cloth, shells), and curves (e.g. hair, rods). It mirrors the design philosophy of the 2021 rigid body schema (real-world material quantities, unit independence, properties on materials, adding APIs to existing classes over introducing new prims) and interoperates with rigid bodies so both can coexist in a stage.

Problem statement

USD has expressed rigid body physics since 2021, but there is no standard way to represent deformable content — the materials, simulation geometry, rest shape, collision, embedding, and attachment data needed to simulate it. This proposal defines those abstractions so deformable content can be exchanged across DCCs and simulators, the way rigid bodies are today.

Scope

In scope (new UsdPhysics types — see the proposal for the full list and details):

  • A shared UsdPhysicsBodyAPI (rigid body refactor, backwards compatible).
  • Deformable materials and simulation APIs for volume, surface, and curve deformables.
  • Deformable bodies, simulation geometry, and rest shape.
  • Collision and graphics geometries, and bind poses for geometry embedding.
  • Material assignment and mass distribution.
  • Kinematic deformables, attachments, and element collision filtering.

Out of scope (left for future extensions):

  • Plastic deformation.
  • Per-point / per-element kinematic state.
  • Direct rotational coupling in attachments.
  • Continuous (primvar-driven) material variation.

Reference links

Design rationale, risks, and alternatives considered are documented inline in the proposal's Design Notes.

Supporting Materials

The proposal includes .usda examples throughout and embeds illustrative figures under proposals/physics_deformables/images/.

Contributing

@sschirm sschirm changed the title Proposal to add Deformables schemas to UsdPhysics Deformable Body Physics in USD Jun 23, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sschirm
sschirm force-pushed the physics-deformables branch from 4d520c2 to 5d89c0e Compare June 23, 2026 10:00
mzamoramora-nvidia added a commit to mzamoramora-nvidia/newton that referenced this pull request Jun 23, 2026
The docs and CHANGELOG linked a personal fork of the deformables
proposal. Point them at the file in the canonical AOUSD proposal
(PixarAnimationStudios/OpenUSD-proposals#111, on the aousd
physics-deformables branch), and flag the CHANGELOG entry as experimental
pre-release coverage of a proposed, non-registered schema.
@sschirm

sschirm commented Jun 29, 2026

Copy link
Copy Markdown
Author

Two Suggested Changes Regarding Material Stiffnesses

stiffness_modulus_reference.pdf

Stretch, shear, bend and twist stiffness units and nomenclature

Newton Cable Sim developer pointed out that the proposal either has stretch, shear, bend and twist stiffness attributes units wrong (force/area) or their naming is misleading. There are two options to address this:

  1. Use correct stiffness units according to energy density equation (see attached PDF)
    In this variant, the geometric thickness is ignored (thickness would then only matter to translate volumetric density to masses).
    The stiffnesses can likely be consumed directly by the simulator. They are probably more familiar to developers and content creators.

  2. Rename to stretchModulus, shearModulus, bendModulus, twistModulus and keep current force/area units.
    In this variant, effective stiffness values get scaled by the geometric thickness according to specified rules (see attached PDF), leveraging the thickness attribute further. It might be nice to tweak thickness and having stiffnesses reasonably scaled. As opposed to variant A) , the assumption of a circular cross-section for curve deformables has to be maintained (which is already the case for mass distribution).

While 1) is more direct, more familiar, and avoids the circular cross-section assumption, 2) is more aligned with the current reliance on the geometric thickness specification. For completeness I would like to mention that another Newton Deformables developer, also provided the feedback that the value of the thickness scaling mechanism is questionable. The developer would have preferred to have separate density definitions with corresponding units for surfaces and curves, making "thickness" redundant. This suggestion seems to go against inheriting the PhysicsMaterial density, which should maintain its volumetric interpretation.

Young's Modulus and Poisson's Ratio fallback attributes

LightWheel developers provided another but related feedback. They like the ability to specify per deforming-mode stiffnesses through isotropic material properties (Young's and Poisson's) also for surfaces and curves, as we used to propose as well. We steered away from this IIRC for two reasons:

  1. We clarified and simplified the deformable material hierarchy by introducing a PhysicsVolumeDeformableMaterialAPI. All deformable materials become independent and only inherit from PhysicsMaterial. Young's and Poisson's became unavailable to PhysicsSurfaceDeformableMaterialAPI and PhysicsCurvesDeformableMaterialAPI.

  2. We found it less practical for implementations to map Young's and Poisson's parameters to deforming-mode stiffnesses.

LightWheels main argument is, if I understand correctly, that isotropic material properties are often easily available, while structural stiffnesses might be harder to find.

Minimally we could provide the mapping of Young's and Poisson's to structural stiffnesses in the documentation (see attached PDF), or

  1. Reintroduce common PhysicsDeformableMaterialAPI with Young's and Poisson's, and either keep PhysicsVolumeDeformableMaterialAPI as an alias or remove again.

  2. Inline Young's and Poisson's in the surface and curves deformable materials.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants