Browse Source

Updated API changes and release notes

Jorrit Rouwe 1 year ago
parent
commit
bef9f01d93
2 changed files with 5 additions and 1 deletions
  1. 1 0
      Docs/APIChanges.md
  2. 4 1
      Docs/ReleaseNotes.md

+ 1 - 0
Docs/APIChanges.md

@@ -6,6 +6,7 @@ Changes that make some state saved through SaveBinaryState from a prior version
 
 ## Changes between v4.0.2 and latest
 
+* 20240203 - Longitudinal friction impulse for wheeled/tracked vehicles could become much higher than the calculated max because each iteration it was clamped to the max friction impulse which meant the total friction impulse could be PhysicsSettings::mNumVelocitySteps times too high. In case this breaks your vehicle, the new max tire impulse callback can be used to restore the old behavior, see [the vehicle constraint test](https://github.com/jrouwe/JoltPhysics/blob/a456b244aa2ad2ce0a8124d27823377ed0b1c4b4/Samples/Tests/Vehicle/VehicleConstraintTest.cpp#L156-L164). (a456b244aa2ad2ce0a8124d27823377ed0b1c4b4)
 * 20240120 - *SBS* - Implemented enhanced internal edge removal algorithm. This breaks the binary serialization format for BodyCreationSettings. (94c1ad811b95c72f4d3bb6841c73c1c3461caa91)
 * 20240113 - VehicleConstraint::CombineFunction now calculates both longitudinal and lateral friction in 1 call so there can be dependencies between the two. (d6ed5b3e7b22904af555088b6ae4770f8fb0e00f)
 * 20240105 - CharacterVirtual will now receive an OnContactAdded callback when it collides with a sensor (but will have no further interaction). You may need to update the logic in your CharacterContactListener to ignore those contacts. (fb778c568d3ba14556559324671ffec172957f5c)

+ 4 - 1
Docs/ReleaseNotes.md

@@ -21,6 +21,7 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * CharacterVirtual will now receive an OnContactAdded callback when it collides with a sensor (but will have no further interaction).
 * Added support for a vertex radius for soft bodies. This keeps the vertices a fixed distance away from the surface which can be used to avoid z-fighting while rendering the soft body.
 * Implemented enhanced internal edge removal algorithm. This should help reduce ghost collisions. See BodyCreationSettings::mEnhancedInternalEdgeRemoval.
+* Added ability to override the max tire impulse calculations for wheeled vehicles. See WheeledVehicleController::SetTireMaxImpulseCallback.
 
 ### Improvements
 * Multithreading the SetupVelocityConstraints job. This was causing a bottleneck in the case that there are a lot of constraints but very few possible collisions.
@@ -38,6 +39,8 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * A scaled compound shape with a center of mass of non zero would not apply the correct transform to its sub shapes when colliding with a soft body
 * A soft body without any edges would hang the solver
 * Fixed GCC 11.4 warning in JobSystemThreadPool.cpp: output may be truncated copying 15 bytes from a string of length 63
+* Longitudinal friction impulse for wheeled/tracked vehicles could become much higher than the calculated max because each iteration it was clamped to the max friction impulse which meant the total friction impulse could be PhysicsSettings::mNumVelocitySteps times too high.
+* Properly initializing current engine RPM to min RPM for wheeled/tracked vehicles. When min RPM was lower than the default min RPM the engine would not start at min RPM.
 
 ## v4.0.2
 
@@ -126,7 +129,7 @@ For breaking API changes see [this document](https://github.com/jrouwe/JoltPhysi
 * Added functionality to estimate the collision impulse in the contact added callback
 * Added a JobSystemWithBarrier class that makes it easier to integrate with your own job system
 * Support for 32-bit object layers to allow easier integration with existing collision filtering systems
- 
+
 ## v2.0.1
 
 * Adds ARM 32-bit support to support vcpkg-tool