PhysX requires all of its actors to have cooked mesh data. This cooked
data is unfortunately not compatible with other versions of PhysX outside
of the minor branch. The format is also largely unknown. Therefore, it is
relevant to allow CWE prps to include an engine agnostic physical format
to reduce our dependencies on proprietary libraries.
All PhysX blobs thankfully begin with the magic string NXS\x01, so we now
abuse that by adding our own format that begins with the magic string
HSP\x01. These blobs are cooked on the fly while already cooked blobs are
passed directly on to PhysX.
Original commit: 392c5f5cad
author = "Adam Johnson <AdamJohnso@gmail.com>
To better handle erroneous trigger events under the new timing method, use the number
of times the simulation has actually advanced instead of the number of evals received.
Cleaned up a bit.
Provides more accurate interaction with detectors when the avatar is moving up or down.
Also decreases the severity of the PhysX trigger hull bug in some detectors.
This change doesn't affect world collisions.
While based heavily on the old implementation, this is essentially a rewrite.
Notable changes -
Controllers are now updated at the same fixed frequency as the simulation.
Resulting output is interpolated between steps to precisely match the frame delta.
Physics work is only done when enough time has passed to perform a step.
The kinematic actor that followed around the controller has been removed.
The underlying kinematic actor created by the NxController is now used for triggering.
A new sim group was added for a kinematically controlled avatar.
2 unused files removed -
plPXPhysicalController.h & plPXPhysicalController.cpp