PhysicsRigidBodyAPI#
Makes an Xformable prim a rigid body. Enumerated by usd-schemas CONTAINS PhysicsRigidBodyAPI. Colliders are the prim itself if it is a Gprim with PhysicsCollisionAPI, plus descendant Gprims with PhysicsCollisionAPI.
Applies to:
XformableRead only when listed in
usd-schemas.Uses blocks:
prim,stage_units
What USD population writes#
Every declared attribute is published at its resolved value; relationships only when authored (an authored empty target list is an empty row). The producer also resolves the physics material binding onto this prim (see MaterialBindingAPI) and creates five units-aware PhysxRigidBodyAPI columns when they are unauthored, whether or not PhysxRigidBodyAPI is applied (see that component).
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 |
|---|---|---|---|---|---|---|
|
bool8 |
none |
true |
resolved USD value (authored, else raw fallback) |
true |
Dynamic body. False produces a static body that ignores every PhysxRigidBodyAPI column. |
|
bool8 |
none |
false |
resolved USD value (authored, else raw fallback) |
false |
Not kinematic. A kinematic body with a non-zero velocity is promoted to a surface-velocity body. |
|
bool8 |
none |
false |
resolved USD value (authored, else raw fallback) |
false |
Body starts awake. |
|
float32[3], VECTOR |
length/s |
(0, 0, 0) |
resolved USD value (authored, else raw fallback) |
(0, 0, 0) |
Zero initial linear velocity. |
|
float32[3], VECTOR |
deg/s (deg_to_rad) |
(0, 0, 0) |
resolved USD value (authored, else raw fallback) |
(0, 0, 0) |
Zero initial angular velocity. |
|
bool8 |
none |
the nested customData value physics -> localSpaceVelocities when present on any prim the physics selector matched |
consumer setting outputVelocitiesLocalSpace |
Velocities are interpreted per the consumer-wide setting. When true, both velocities are rotated into world space and the linear one is also scaled by the prim’s world scale. |
|
|
uint64 array, RELATIONSHIP_PATH_ID |
not written |
Body joins the default scene. A non-empty list whose targets resolve to no PhysicsScene drops the body. |
Interactions#
prim: World translation and rotation, composed from omni:xform up the chain (or omni:fabric:worldMatrix when present), become the body pose.PhysicsScene: No scene relationship is required; see PhysicsScene for the consumer’s synthetic default.PhysxRigidBodyAPI: The producer creates sleepThreshold, stabilizationThreshold, maxDepenetrationVelocity, maxLinearVelocity and maxContactImpulse columns on every rigid body when unauthored. Without PhysxRigidBodyAPI in usd-schemas the consumer ignores them.