PhysX

 

 

FumeFX has integrated PhysX support for rigid body dynamics simulations.

 

Enable Solver - With this checkbox user can easily disable all PhysX simulation.

 

Use CCD - Enables PhysX' Continuous Collision Detection. The CCD impact on the simulation time is minimal if all objects are moving slowly. However, if objects are moving very fast and they're all in close proximity then CCD pass will become much slower.

 

CCD Max Passes - Enables CCD to run multiple passes and thus resolving multiple contact of objects in close proximity more accurate. CCD will terminate early if the additional passes are not required.

 

Use Speculative CCD - This is cheaper but less robust approach than the sweep-based CCD and tunneling of objects can occur. Speculative CCD works best with the PCM

 

Use PCM - PCM is a short of Persistent Contact Manifold. Because PCM potentially generates fewer contacts than the default collision detection, it might reduce stacking stability when simulating tall stacks with insufficient solver iterations.

 

Use Stabilization - When enabled, it performs additional stabilization processing to improve that stability of complex interactions between large numbers of bodies.

 

Use GPU - Enabled the PhysX to run computations on the GPU.

 

Note: Use GPU option takes effect only when the scene is saved and reopened.

 

GPU Max Partitions- Limitation for the partitions in the GPU dynamics pipeline.

 

Broad Phase Type -There are tree available types.

SAP (Sweep and Prune) - It is a good generic choice with great performance when many objects are sleeping. Performance can degrade significantly though, when all objects are moving, or when large numbers of objects are added to or removed from the broad-phase.

 

MBP (Multi Box Pruning) - It is an alternative broad-phase algorithm that does not suffer from the same performance issues as SAP when all objects are moving or when inserting large numbers of objects. However its generic performance when many objects are sleeping might be inferior to SAP, and it requires users to define world bounds in order to work.

 

ABP (Automatic Box Pruning) - It automatically manages world bounds and broad-phase regions, thus offering the convenience of SAP coupled to the performance of MBP. While SAP can remain faster when most objects are sleeping and MBP can remain faster when it uses a large number of properly-defined regions, ABP often gives the best performance on average and the best memory usage. It is a good default choice for the broadphase.

 

Friction Type - Choose the friction model.

 

Patch - This friction model which typically leads to the most stable results at low solver iteration counts and is also quite inexpensive.

 

One Directional - It's a simplification of the Coulomb friction model, in which the friction for a given point of contact is applied in the alternating tangent directions of the contact's normal. This simplification allows us to reduce the number of iterations required for convergence but is not as accurate as the two directional model.

 

Two Directional - It's identical to the one directional model, but it applies friction in both tangent directions simultaneously. This hurts convergence a bit so it requires more solver iterations, but is more accurate. Like the one directional model, it is applied at every contact point, which makes it potentially more expensive than patch friction for scenarios with many contact points.

 

Solver Type - Choose the PhysX solver.

 

PGS (Projected Gauss-Seidel) - It's a faster solver than TGS but has its own drawbacks.

 

TGS (Temporal Gauss-Seidel) - Temporal gauss-seidel offers several advantages over the PGS-style solver: dramatically improved convergence, improved handling of high-mass ratios, minimizes energy introduced when correcting penetrations (depending on solver convergence) and improved joint drive accuracy.

TGS is generally a little slower than PGS. This is partially due to the increased complexity of the constraint solver and also partially due to TGS solving friction constraints every iteration, whereas PGS solves friction constraints only in the final 3 position iterations by default.