MaterialBindingAPI (physics purpose)#
Binds a physics material to a collision shape. The producer resolves the binding onto every material consumer; the consumer additionally walks purposes and ancestors for stages that were not produced that way.
Applies to:
Gprim,XformableRead only when listed in
usd-schemas.
What USD population writes#
On a prim with PhysicsCollisionAPI, PhysicsRigidBodyAPI, OmniPhysicsBodyAPI or OmniPhysicsDeformableBodyAPI, and on collider GeomSubsets, the producer computes the USD-resolved physics-purpose binding (direct, inherited or collection-based) and writes it to material:binding:physics, overriding any direct binding on the prim, but only if the bound Material carries a physics schema. On every other in-scope prim the authored material:binding[:*] relationships are copied unresolved. A prim that only authors material:binding:physics towards a physics material gets a row of its own for that reason.
Columns#
Raw fallback is the USD schema value. Producer writes is what ovstage population puts in the column for a USD stage. Parser default applies on the consumer when the column is absent, in stage units. diverges means writing the raw fallback literally parses differently from omitting the column (the parser default): USD population may well publish that very value for an unauthored attribute, so the marker is about the column being present, not about its value.
Column |
Type |
Units |
Raw fallback |
Producer writes |
Parser default |
If absent |
|---|---|---|---|---|---|---|
|
uint64 array, RELATIONSHIP_PATH_ID |
the USD-resolved physics-purpose bound Material path, when it carries a physics schema (column created even without the API) |
The consumer falls back to material:binding on the same prim, then walks ancestors trying both. With none, the shape has no material slot: the scene default material applies and density resolves to PhysicsMassAPI.default_density. |
|||
|
uint64 array, RELATIONSHIP_PATH_ID |
not written |
See material:binding:physics. |
Interactions#
PhysicsCollisionAPI: Only shapes consume the binding. The Material prim itself is a separate prim_type component (not yet written); it gets a row because PhysicsMaterialAPI is in the producer’s physics set.prim: Resolved bindings are not published at instance-proxy paths; a consumer must resolve proxy to _protoPath to prototype (open producer gap).