PhysicsMeshCollisionAPI#

Chooses how a Mesh collider is approximated for PhysX. Its single token column selects the descriptor kind and which cooking API’s columns are consulted; without the API a Mesh is a plain triangle mesh.

  • Applies to: Gprim

  • Requires on the same prim: PhysicsCollisionAPI

  • Read only when listed in usd-schemas.

What USD population writes#

Every declared attribute of an applied collision API is published at its resolved value, so physics:approximation lands as none when unauthored. The API is part of the producer’s physics schema set; applying it to a non-Mesh Gprim publishes the column but the consumer ignores it there.

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

physics:approximation

uint64, TOKEN_ID

none

none

resolved USD value (authored, else raw fallback)

none

none: a TriangleMeshPhysxShapeDesc with SDF cooking disabled (sdfResolution 0). The same result as not applying the API. Accepted tokens: none, convexHull, convexDecomposition, boundingSphere, boundingCube, meshSimplification, sphereFill, sdf. Any other token also resolves to none (the parser’s safe fallback; the consumer’s routing site logs and rejects an unsupported combination).

Interactions#

  • PhysicsRigidBodyAPI: Silent promotion: none or meshSimplification on a collider whose rigid body has physics:rigidBodyEnabled true and physics:kinematicEnabled false is rewritten to convexHull before the descriptor is built, because PhysX rejects a non-SDF triangle mesh as a dynamic simulation shape. The column keeps its authored value; only the descriptor changes.

  • Mesh: Meaningful only on a Mesh. Cube, Sphere, Capsule, Cylinder, Cone and Plane dispatch by prim type before the approximation is consulted.

  • PhysxConvexHullCollisionAPI: Consulted only for convexHull (including the promoted case).

  • PhysxConvexDecompositionCollisionAPI: Consulted only for convexDecomposition.

  • PhysxTriangleMeshCollisionAPI: Consulted for none and sdf.

  • PhysxTriangleMeshSimplificationCollisionAPI: Consulted only for meshSimplification.

  • PhysxSphereFillCollisionAPI: Consulted only for sphereFill.

  • PhysxSDFMeshCollisionAPI: Consulted only for sdf, and only when that API is applied with a positive sdfResolution; otherwise the sdf mesh cooks as a plain triangle mesh.