PhysxCollisionAPI#
PhysX contact tuning for a collision shape. Offsets use a value sentinel instead of the authored bit because ovstage reports every column as authored.
Applies to:
GprimRequires on the same prim:
PhysicsCollisionAPIRead only when listed in
usd-schemas.
What USD population writes#
Every declared attribute is published at its resolved value. The only derivation is contactOffset on a Plane collider (0.02 / metersPerUnit when unauthored). For every other shape the raw -inf fallbacks of contactOffset and restOffset reach the consumer, which treats them as unset through its value sentinel. The producer documents the non-plane -1 auto sentinel and the Newton contactMargin/contactGap cascade as unimplemented.
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 |
|---|---|---|---|---|---|---|
|
float32 |
length |
|
when unauthored: 0.02 / metersPerUnit on a Plane collider only; every other shape keeps -inf |
-1.0 |
-1, meaning the PhysX layer computes the offset from shape size. Writing the raw fallback -inf is equivalent to omitting the column. |
|
float32 |
length |
|
resolved USD value (authored, else raw fallback) |
0.0 |
0. Committed only when restOffset < contactOffset. |
|
float32 |
length |
0.0 |
resolved USD value (authored, else raw fallback) |
0.0 |
0. |
|
float32 |
length |
0.0 |
resolved USD value (authored, else raw fallback) |
0.0 |
0. |