Physics Best Practices#

USDPhysics and Rigid Bodies#

Simulators can use a variety of physics runtimes. Popular engines like PhysX, MuJoCo, Gazebo and Drake all offer ways to make your 3D assets interact, collide, bounce, fall and slide. It isn’t always clear which physics runtime will be used by a consumer, and as such, SimReady assets are designed around the Pixar USDPhysics schema, so that customers can extend the asset as needed for their particular simulation runtime use case.

Typical USDPhysics Components#

In order for a SimReady asset to be considered to have Rigid Body Physics as a capability, it needs the following metadata applied:

  • A USDPhysics Collider applied to the geometry prims to define the collision shape of the asset. It is worth noting that if the creator adds this attribute within the Omniverse platform, the asset gets assigned both USDPhysics and extended USDPhysX APIs that are specific to only the Omniverse PhysX simulation runtime.

  • A USDPhysics Mass applied to each geometry prim within the asset. This value is set in kilograms and determines how heavy the asset is.

  • A USDPhysics Physical material applied that describes the static and dynamic friction of an asset along with its density and restitution values.

A creator can also add a USDPhysics Rigid Body to the asset’s root prim to indicate that it should participate in physics as a rigid body, but this connects the asset to a particular simulation runtime through additional, specific APIs (e.g. PhysX inside of Omniverse).

Accessing RBD Properties within Omniverse#

Physics Rigid Body Property Panel#

Image of the RootNode XForm

Image of the Omniverse Property Panel for the <ASSET>.usd rootNode XForm#

As has been stated earlier, once a Rigid Body Schema is applied to the root node of the SimReady 3D asset, it will retrieve the USD Colliders on each geometry prim within it. You can consider this as a global physics control for each SimReady asset.

Physics Rigid Body Collider Preset#

Each mesh prim within an asset should have the USDPhysics Collider applied as well as include the application of a Physics material. These physics elements will be passed up the composition to the Rigid Body to help define how the asset will behave in simulation.

Image of /RootNode/container_f15_inst/containerf15/container_bottom

Image of USD Physics Collider controls inside of Omniverse#

Physics Material Properties#

The Physics Material Property panel will greatly affect how your SimReady asset responds to collisions. You’ll spend most of your time dialing in these parameters to simulate specific material types.

Physics Material Property Panel