ovstage Physics Population Domain#
What ovphysx reads from an ovstage Stage, per prim type and applied API schema, and what
ovstage population writes for a USD stage. Each column records the USD fallback, what the
producer writes, and what the parser assumes when the column is absent, so that a Stage
populated without USD parses exactly like one populated from USD. The Python module
ovphysx.population and the C++ header ovphysx/population/Population.hpp are generated from
the same contract and write these columns for you.
Structural blocks#
prim: Structural columns on every physics-domain prim: the type token, the applied-schema list, and the local transform.stage_units: Length, mass and up-axis metadata on the root prim, read once per Stage by the consumer.
Prim types#
Capsule: Capsule geometry (cylinder of the given height capped by two hemispheres of the given radius, along axis).Cone: Cone geometry along axis.Cube: Axis-aligned box geometry.Cylinder: Cylinder geometry along axis.Material: UsdShade Material prim.Mesh: Polygonal mesh geometry.PhysicsCollisionGroup: A named set of colliders plus the list of groups it does not collide with.PhysicsDistanceJoint: Keeps the distance between the two local frame origins inside [minDistance, maxDistance]; either bound is optional.PhysicsFixedJoint: Welds two bodies (or a body and the world) with no degrees of freedom.PhysicsJoint: Base joint between two rigid bodies (or one body and the world).PhysicsPrismaticJoint: Slider joint: one translational degree of freedom along a local axis, optionally limited in stage length units.PhysicsRevoluteJoint: Hinge joint: one rotational degree of freedom about a local axis, optionally limited in degrees.PhysicsScene: A simulation scene.PhysicsSphericalJoint: Ball joint: three rotational degrees of freedom about a common point, optionally bounded by an elliptical cone given as two half-angles in degrees.PhysxPhysicsGearJoint: Couples the angular velocities of two revolute (hinge) joints by a fixed ratio.PhysxPhysicsRackAndPinionJoint: Couples the angular velocity of a revolute (hinge) joint to the linear velocity of a prismatic joint by a fixed ratio in degrees per length unit.Plane: Infinite plane geometry.Sphere: Sphere geometry.Xform: A transform-only prim.
Applied API schemas#
MaterialBindingAPI: Binds a physics material to a collision shape.PhysicsArticulationRootAPI: Marks the root of a reduced-coordinate articulation.PhysicsCollisionAPI: Makes a Gprim a collision shape.PhysicsDriveAPI: Force- or acceleration-mode PD drive on one joint axis, applied as PhysicsDriveAPI:. PhysicsFilteredPairsAPI: Suppresses collision between this prim and the listed prims.PhysicsJointStateAPI: Initial joint-space position and velocity of one axis, applied as PhysicsJointStateAPI:. PhysicsLimitAPI: Per-axis limit of a D6 joint (a prim typed exactly PhysicsJoint), applied as PhysicsLimitAPI:. PhysicsMassAPI: Explicit mass properties on a body or a shape.PhysicsMaterialAPI: Makes a prim a physics material and creates a PxMaterial for it.PhysicsMeshCollisionAPI: Chooses how a Mesh collider is approximated for PhysX.PhysicsRigidBodyAPI: Makes an Xformable prim a rigid body.PhysxArticulationAPI: PhysX tuning of a reduced-coordinate articulation, applied on the same prim as PhysicsArticulationRootAPI.PhysxCollisionAPI: PhysX contact tuning for a collision shape.PhysxContactReportAPI: Registers a rigid body (or every link of an articulation) for contact reporting.PhysxConvexDecompositionCollisionAPI: Convex decomposition cooking parameters for a Mesh collider with physics:approximation convexDecomposition.PhysxConvexHullCollisionAPI: Convex hull cooking parameters for a Mesh collider with physics:approximation convexHull.PhysxDrivePerformanceEnvelopeAPI: Actuator performance envelope of one joint drive (maximum actuator velocity, velocity-dependent resistance, speed-effort gradient), applied as PhysxDrivePerformanceEnvelopeAPI:alongside PhysicsDriveAPI: . PhysxJointAPI: PhysX tuning shared by every joint type: joint friction, a joint-level armature seed and a joint-level maximum joint velocity.PhysxJointAxisAPI: Per-axis PhysX properties of an articulation joint (armature, maximum joint velocity, static, dynamic and viscous friction), applied as PhysxJointAxisAPI:. PhysxLimitAPI: PhysX tuning of one joint limit (restitution, bounce threshold, soft-limit spring), applied as PhysxLimitAPI:. PhysxMaterialAPI: PhysX tuning for a physics material: combine modes and compliant contact.PhysxPhysicsDistanceJointAPI: Spring behaviour of a distance joint: enable flag, stiffness and damping of the spring that acts when the distance leaves [minDistance, maxDistance].PhysxRigidBodyAPI: PhysX tuning for a dynamic rigid body.PhysxSDFMeshCollisionAPI: Signed-distance-field cooking parameters for a Mesh collider with physics:approximation sdf.PhysxSceneAPI: PhysX tuning for a PhysicsScene prim: solver, broadphase, flags, friction thresholds, iteration bounds and GPU memory budgets.PhysxSphereFillCollisionAPI: Sphere fill cooking parameters for a Mesh collider with physics:approximation sphereFill.PhysxSplinesSurfaceVelocityAPI: Surface velocity that follows a BasisCurves prim under the body instead of a constant vector.PhysxSurfaceVelocityAPI: Conveyor-belt surface velocity on a rigid body: contacts against the body behave as if its surface moved with the given linear and angular velocity while the body itself stays put.PhysxTriangleMeshCollisionAPI: Triangle mesh cooking parameter (weld tolerance) for a Mesh collider with physics:approximation none or sdf.PhysxTriangleMeshSimplificationCollisionAPI: Quadric mesh simplification cooking parameters for a Mesh collider with physics:approximation meshSimplification.PhysxTriggerAPI: Marks a collision shape as a trigger volume.
Compositions#
articulation_fixed_base: Multi-prim test composition: a two-link reduced-coordinate articulation.articulation_floating: Multi-prim test composition: a two-link reduced-coordinate articulation.conveyor_cube: Multi-prim test composition: one kinematic Cube rigid body carrying PhysxSurfaceVelocityAPI, the conveyor-belt pattern.d6_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a D6 joint (a prim typed exactly PhysicsJoint) with a twist (rotX) limit, drive and PhysX limit tuning whose local frames meet halfway between them.distance_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a PhysicsDistanceJoint (a native PxDistanceJoint) with min/max distance, the PhysX distance spring and PhysX limit tuning whose local frames meet halfway between them.fixed_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a PhysicsFixedJoint (all six axes locked) whose local frames meet halfway between them.gear_joint_pair: Multi-prim test composition: two Cube rigid bodies (B translated +3 in x), each hinged to the world by its own PhysicsRevoluteJoint, and a PhysxPhysicsGearJoint between the bodies that references the two hinges and couples their angular velocities.material_bound_cube: Multi-prim test composition: a Material prim carrying PhysicsMaterialAPI and PhysxMaterialAPI, bound as the physics material of a Cube rigid body through material:binding:physics.physics_scene: Convenience composition: one PhysicsScene prim, optionally with PhysxSceneAPI.prismatic_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a PhysicsPrismaticJoint along local X with a linear drive and PhysX limit tuning whose local frames meet halfway between them.rack_and_pinion_joint_pair: Multi-prim test composition: a pinion Cube rigid body hinged to the world by a PhysicsRevoluteJoint, a rack Cube rigid body (translated +3 in x) on a PhysicsPrismaticJoint to the world, and a PhysxPhysicsRackAndPinionJoint between the bodies that references the hinge and the prismatic joint and couples angular to linear velocity.revolute_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a PhysicsRevoluteJoint about local X with an angular drive and PhysX limit tuning whose local frames meet halfway between them.rigid_body_capsule: Convenience composition: one Capsule prim that is both the body and its only collider.rigid_body_cone: Convenience composition: one Cone prim that is both the body and its only collider (a PxConvexCoreGeometry with the default runtime settings).rigid_body_cube: Convenience composition: one Cube prim that is both the body and its only collider.rigid_body_cube_pair: Multi-prim proof composition: two Cube rigid bodies side by side, each its own collider, authored one PrimBatch per prim.rigid_body_cylinder: Convenience composition: one Cylinder prim that is both the body and its only collider (a PxConvexCoreGeometry with the default runtime settings).rigid_body_sphere: Convenience composition: one Sphere prim that is both the body and its only collider.spherical_joint_pair: Multi-prim test composition: two Cube rigid bodies one unit apart (B translated +3 in x, half extents 0.5) joined by a PhysicsSphericalJoint with a swing cone limit and PhysX cone tuning whose local frames meet halfway between them.static_plane_collider: Convenience composition: one Plane prim with a collider and no rigid body, the usual ground plane (a PxRigidStatic with a PxPlaneGeometry).
Findings#
Recorded findings: every producer/consumer divergence the contract records, with the compositions whose parity test asserts it as a canary.