NVIDIA Announces PhysX 4.0: Open Source (3-Clause BSD)!
Subject: General Tech | December 3, 2018 - 08:46 PM | Scott Michaud
Tagged: pc gaming, PhysX, nvidia, physx 4.0, Unity, unreal engine 4
NVIDIA has just announced a new major version to their popular physics middleware: PhysX 4.0. They also announced that it (both 4.0 and 3.4) will be re-licensed as 3-line BSD. In terms of open-source licenses, this is about a permissive as you can get. You are basically free to do whatever you want – commercial, modified, unmodified, whatever – if you follow the guidelines (which are things like “no warranty”, “don’t sue us for liability”, “give us credit by leaving a copy of the license in all binary and source releases”, and “we’re not endorsing your product so don’t pretend that we are”).
For gamers? It will take a little while before this comes around to you. Unity is currently preparing to update to PhysX 3.4 with their upcoming 2018.3 release; that was the first major PhysX update since Unity 5.0 upgraded from PhysX 2.x to PhysX 3.3 back in March 2015. Epic Games seems to be a little quicker to update to a new PhysX version, but there’s nothing announced on their side either as far as I can tell.
On the technical side: this release of PhysX is interesting.
As mentioned, Unity 5.0 was the point when their PhysX implementation jumped from 2.x to 3.3. This was not a clean transition. NVIDIA changed the way that many of their solvers worked, making them much faster but also less stable (as in simulation stability – so, like, oscillating and breaking apart). While this was acceptable (because most simulations are cosmetic and, if it mattered, you had more performance to just increase the physics tick-rate to compensate) it upset developers who relied upon the stability of PhysX 2, forcing them to work around the glitches.
According to NVIDIA’s promotional video, this version is both more stable and faster. This means that it should be less work to setup things like ragdolls and ball-and-chain systems, while also supposedly being faster. In terms of stability, they intentionally showed a simulation of three balls and chains with varying masses. In PhysX 3.x, this tends to be a degenerate case where joints freak out and split (unless you compensate with smaller physics time steps). Even if it’s on-par with PhysX 3.x, this is a huge win for indie game developers.
PhysX 4.0 will be available for developers on December 20th. It’s unclear when any given engine will integrate it, however.