Draft: Jolt physics implementation

NOTE: This MR is in Draft status, CI will fail but should all compile (besides windows apparently)

Replaces Bullet Physics with Jolt, fixes certain issues such as:

  • Backface collision detection
  • Cylinder actor collider performance
  • Projectile collisions sometimes missing

Known todos/issues:

  • Define broadphase layers (needs a bit of performance testing)
  • Custom infinite plane water shape
  • Animated mesh scaling (Can test scaling with the model here)
  • Scaled meshes have incorrect navmesh
  • navmeshtool doesnt compile
  • test suite doesnt compile or run
  • windows CI build broken
  • Spawning multiple actors with "placeatpc" no longer works as expected (!3919 (comment 1808174555), confirmed that's still the case)
  • When you start a new game you get spawned between the barrels and the staircase (on the wrong "floor"), so you can't really move

Potential future optimizations:

  • Add and remove physics objects when streaming cells in batches instead of one at a time
  • Replace async worker threads with job system for whole engine
Edited by cykoder

Merge request reports

Loading