Physics Extensions#
Omniverse Physics Extensions Overview#
Omniverse Physics consists of many extensions. The omni.physx.bundle extension groups together the most useful extensions and also gathers the changelog.
For building custom Omniverse applications with physics simulation it is important to know what is required from the simulation. There are in general four categories of extensions:
Runtime Extensions
The Stage Update Extension
UX Extensions
Other extensions
The omni.physx.bundle includes the extensions from the first three categories. The following sections describe each extension category.
Runtime Extensions#
The runtime extensions represent the minimum set of extensions required for physics simulation. They have no dependencies on Kit and depend only on USD and Carbonite. These minimal dependencies permit headless mode physics simulation.
- The main extensions are:
omni.physx.foundation - Handles GPU PhysX device allocation.
omni.physx.cooking - Handles PhysX SDK cooking, including caching. See section for mesh cooking: Generate Mesh Colliders (Cooking).
omni.physx - Core extension connecting USD and PhysX SDK.
omni.physx.fabric - Optional extension that adds support for fabric output rather then USD output. For more details see: Fabric
omni.physics.tensors and omni.physx.tensors - Optional extensions that adds support for interacting with the simulation in a data-oriented way.
Stage Update Extension#
For kit-based apps, you may use the stage update extension to connect Kit StageUpdate with omni.physx. This will ensure that omni.physx attaches to stages opened by Kit application and that simulation is executed automatically when Kit timeline is played.
UX Extensions#
Recommended extensions to work with physics, this set of extensions belongs to omni.physx.bundle and enable physics authoring, debugging and other features.
- The recommended set of extensions:
omni.physx.cct - Adds support for character controller, contains UX parts and control parts, runtime is part of omni.physx.
omni.physx.commands - Adds Kit commands to omni.physx utility functions.
omni.physx.graph - Adds support for physics OmniGraph nodes.
omni.physx.supportui - Adds supporting functionality for physics, authoring toolbar, status window, collision authoring, rigid body gizmo.
omni.physx.vehicle - Adds support for vehicle UI, runtime is part of omni.physx.
omni.physx.ui - Adds support for UI, namely preferences, settings, debug view, debug window.
omni.usdphysics.ui - Adds support for UsdPhysics UI, namely joints manipulation.
omni.kit.property.physx - Adds support for physics properties display and core authoring through add button.
Other Extensions#
- Other useful extensions that are not part of the bundle, but are useful as standalone features:
omni.physx.forcefields - Adds support for forcefields, leveraging Fabric for rigid bodies force application.
omni.physx.zerogravity - Adds Zero Gravity feature, physics based authoring.
omni.physx.pvd - Adds support for OVD, debugging output for physics simulation.