PhysxMaterialAPI#
PhysX tuning for a physics material: combine modes and compliant contact. Read only when the prim also carries PhysicsMaterialAPI (that API is what enumerates materials) and only when PhysxMaterialAPI is listed in usd-schemas.
Applies to:
TypedRequires on the same prim:
PhysicsMaterialAPIRead only when listed in
usd-schemas.
What USD population writes#
Every declared attribute is published at its resolved value. Token attributes are published as token-id columns (TOKEN_ID semantic); the consumer reads them through the typed TokenId overload. Nothing is rewritten or created by the producer.
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, TOKEN_ID |
none |
average |
resolved USD value (authored, else raw fallback) |
average |
average. Accepted tokens: average, min, max, multiply. An unrecognised token or an invalid token id silently resolves to average. |
|
uint64, TOKEN_ID |
none |
average |
resolved USD value (authored, else raw fallback) |
average |
average. Same tokens and unrecognised-token rule as physxMaterial:frictionCombineMode. |
|
uint64, TOKEN_ID |
none |
average |
resolved USD value (authored, else raw fallback) |
average |
average. Same tokens and unrecognised-token rule as physxMaterial:frictionCombineMode. |
|
bool8 |
none |
false |
resolved USD value (authored, else raw fallback) |
false |
Off: compliant stiffness and damping are force-based. On, they are interpreted as accelerations. |
|
float32 |
force/length (acceleration/length when the acceleration spring flag is set) |
0.0 |
resolved USD value (authored, else raw fallback) |
0.0 |
0.0: compliant contact off; physics:restitution reaches PhysX unchanged. Any positive value switches the material to compliant contact by storing -stiffness as the PhysX restitution. |
|
float32 |
forces/length (accelerations/length when the acceleration spring flag is set) |
0.0 |
resolved USD value (authored, else raw fallback) |
0.0 |
0.0, no compliant damping. |
Interactions#
PhysicsMaterialAPI: physics:restitution and compliantContactStiffness share one PhysX slot: stiffness > 0 replaces the restitution with -stiffness. The scene default material never receives the compliant-contact fields, only the three combine modes.
Notes#
physxMaterial:improvePatchFriction is neither in the current PhysxMaterialAPI schema fallback inventory nor read anywhere by the consumer; it is not a column of this contract.
The runtime CombineMode enum (eAverage=0, eMin, eMultiply, eMax) matches PxCombineMode ordinal for ordinal; token order in the schema (average, min, max, multiply) differs from the enum order, which only matters if a future contract maps tokens to integers.