PhysX Limitations

This section provides a table of known limitations with the physX engine and workarounds.

PhysX Engine Limitations

Feature

Description of Limitation

Recommended Workaround

IsaacSim GPU RL Perf Impact

Perf Impact Reason

Custom Geometry GPU pipeline contact reports

Custom geometry contact data is not made available via the tensor API GPU contact information getters.

Use GPU native collision approximation like convex hull, SDF tri-mesh, base geoms like sphere/box/capsule. Disable custom geometry cylinders and cones in physics stage settings.

Yes

Contacts are generated by CPU custom geometry callbacks

Custom Geometry collision against GPU Features

Custom geometry does not collide with GPU features (particles and deformable bodies), and may have poor collision quality against SDF tri-mesh colliders.

Use GPU native collision approximation like convex hull, SDF tri-mesh, base geoms like sphere/box/capsule. Disable custom geometry cylinders and cones in physics stage settings.

Yes

Contacts are generated by CPU custom geometry callbacks

Particles and deformable body contact reports

Particles and deformable body do not support contact reports

NA

No

Simulation-resume determinacy

Replaying a simulation from an in-contact simulation state saved out in the middle of a simulation run can be nondeterministic. The PhysX SDK is using internal contact state that can persist over multiple simulation steps and that cannot currently be serialized and recovered from USD data.

Restart simulations from the beginning to achieve determinism.

No

NA

Conveyor Belts / Kinematics with nonzero velocity

  • Deformable bodies and particles do not support conveyor belts and will not contact/fall through.

  • Collision behavior between conveyor belts and SDF tri-mesh dynamics is inadequate

Do not use the conveyor belt feature with particles, deformable bodies, or SDF tri-mesh collision geometry. Use rigid bodies with non-SDF collision geometry instead.

Yes

The conveyor belt feature will trigger a CPU code path, so it is best to avoid for maximum GPU pipeline performance.

Isosurface

Isosurface may be leaking memory

Do not use isosurface feature if memory leaks are an issue. It is a render-only feature and does not affect underlying fluid simulation.

Yes

Memory leak will lead to out of memory (OOM)

Deformable Bodies and Particles static friction

Static friction is not supported.

NA

No

Deformable Bodies and Particle Friction Combine Mode

Friction combine mode is not supported. Any interaction is using the dynamic friction set on the particle/deformable actor.

NA

No

Particles simulation

Particles can roll off flat collision surfaces that are perpendicular to gravity due to solver ghost forces.

NA

No

Articulation Tendons

The simulation fidelity and behavior can be inadequate. Articulation joint incoming force reported will be excessively high when using nonzero TGS velocity iterations.

Fixed tendons: Use joint drives + positon targets instead that mimic the tendon constraints. Spatial tendons: Apply external forces to the links to mimic the spatial tendons. Force sensing: Use TGS with zero velocity iterations.

No

GPU Convex Hull Vertex/Face Limit

For performance/memory footprint, the SDK limits GPU-compatible convex hulls to 64 vertices and faces. This can lead to poor approximation quality to the asset collider tri-mesh.

Use convex decomposition or SDF tri-meshes to capture details better. Be aware that a convex decomposition with the same set of vertices as a single convex hull may not produce the exact same behavior because contact detection runs on each convex independently.

Yes

Switching to convex decomposition or SDF will have a simulation perf impact due to higher computational cost.

Spherical Articulation Joints on links with nonidentity center-of-mass transform (cmasslocalpose)

Joint limits and drives for spherical articulation joints may not respond correctly in certain joint state ranges if the articulation joint is setup on a link with nonidentity mass frame setup (cmasslocalpose)

If possible, transform asset such that prim and mass frame coincide such that an identity transform can be used for the mass frame.

No

TGS Velocity Iterations

  • With the current release (2023.1), the PhysX SDK no longer silently converts velocity iterations exceeding four to position iterations. Omniverse Physics will issue a corresponding warning to the log. This changing of iteration counts can affect physics behavior.

  • manually converting the velocity iterations >4 to position iterations in assets to recover the behavior before the fix

  • try setting zero or very few velocity iterations

  • try the PGS solver

No

D6 Joint Drive

D6 Joint Drive does not behave exactly as expected when the TGS solver is employed.

If there are drive behavior issues then use PGS instead.

No

D6 Joint Drive

D6 Joint Drive does not work well with a combination of TGS and velocity iterations.

When TGS is employed it is recommended to focus computational effort on position iterations and to have zero velocity iterations.

No

Articulation Link Force Sensors

The force sensors are deprecated and will be removed in a future version. They reported incorrect/implausible values for many use cases.

Use contact force reports or link incoming joint force instead.

No

Articulation Joint Solver Forces

The joint solver force reporting is deprecated and will be removed in a future version. The reported forces were incorrect/implausible.

Use link incoming joint force reporting instead.

No

Particle Cloth

Particle cloth will be deprecated when replaced with surface deformable bodies when they are ready. We don’t have an ETA for this yet.

Do not use particle cloth.

No

Articulation Loop-closing using D6 Joints

We have seen issues with loop-closures using D6 Joints where the simulation goes unstable, mainly using GPU simulation.

Try increasing simulation time steps per second on the scene (i.e. decrease the simulation time step), try increasing articulation solver iterations, and try PGS and TGS solvers.

No

Articulation joint friction

There are reports of differing effective joint friction between PGS and TGS solver.

The friction model may not be suitable for all applications,see details in the API documentation.

A more common velocity-proportional dynamic friction model can be implemented using a joint drive with zero target velocity and a suitable damping parameter.

No