Skip to main content
`Ctrl`+`K`

# Known Physics Limitations

Known limitations of the underlying PhysX engine that apply to scenes simulated by ovphysx, with recommended workarounds. (Limitations of Kit-only features such as force fields or the asynchronous scene-update mode are omitted, as they are not reachable through ovphysx.)

Feature | Limitation | Recommended workaround
--- | --- | ---
Particle / deformable contact reports | Particles and deformable bodies do not support contact reports. | —
Simulation-resume determinacy | Replaying from an in-contact state saved mid-run can be nondeterministic; internal contact state persists across steps and is not serialized to USD. | Restart simulations from the beginning for determinism.
Conveyor belts (surface velocity) | Deformables and particles do not contact conveyor surfaces (fall through); conveyor vs SDF triangle-mesh dynamics is inadequate. | Use rigid bodies with non-SDF collision geometry for conveyors.
Deformable / particle static friction | Static friction is not supported. | Use a sufficiently high dynamic friction.
Deformable / particle friction combine mode | Friction combine mode is not supported; interactions use the actor’s dynamic friction. | —
Particle roll-off | Particles can roll off flat surfaces perpendicular to gravity due to solver ghost forces. | —
Articulation tendons | Simulation fidelity can be inadequate; incoming joint force is excessively high with nonzero TGS velocity iterations. | Fixed tendons: use mimic joints. Spatial tendons: apply external forces to links. Force sensing: use TGS with zero velocity iterations.
GPU convex hull vertex/face limit | GPU-compatible convex hulls are limited to 64 vertices and faces, which can yield a poor approximation. | Use convex decomposition or an SDF triangle mesh to capture detail (at higher cost).
Spherical articulation joints with non-identity COM | Limits and drives may not respond correctly for some joint-state ranges when the link has a non-identity mass frame. | Transform the asset so the prim and mass frames coincide (identity mass frame).
TGS velocity iterations | The SDK no longer silently converts velocity iterations above four into position iterations (a warning is issued); this can change behavior. | Manually convert velocity iterations >4 to position iterations, set zero/very few velocity iterations, or use PGS.
D6 joint drive | Does not behave exactly as expected with the TGS solver, and works poorly with TGS plus velocity iterations. | Use PGS for drive issues; with TGS, favor position iterations and use zero velocity iterations.
Articulation loop-closing with D6 joints | Simulation can become unstable. | Increase timesteps-per-second and articulation solver iterations; try PGS and TGS; avoid high drive gains competing with stiff constraints.
Articulation joint friction | Effective joint friction can differ between PGS and TGS; the friction model may not suit all applications. | Emulate velocity-proportional dynamic friction with a joint drive at zero target velocity and suitable damping.
Joint properties (articulation vs non-articulation) | Certain joint properties are available only when a joint is (or is not) part of an articulation; console warnings indicate mismatches. | Use or avoid articulations depending on the property your simulation relies on.
Articulation joint drive with TGS | The drive can reach steady state but report a non-zero joint velocity. | Enable `physxScene:enableExternalForcesEveryIteration` (applies external forces per solver step).