À propos du projet

Jolt Physics est une bibliothèque C++ de physique des corps rigides et de détection de collisions, conçue pour être conviviale avec le multicœur. Elle convient aux jeux et aux applications de réalité virtuelle, et a été utilisée dans des titres commerciaux tels que Horizon Forbidden West et Death Stranding 2: On the Beach. La bibliothèque met l'accent sur l'accès concurrent aux données physiques en dehors de la mise à jour principale de la simulation, permettant le chargement et le déchargement en arrière-plan des corps, des requêtes de collision parallèles et une simulation déterministe. Elle prend en charge une large gamme de formes de corps rigides (sphère, boîte, capsule, coquille convexe, maillage, terrain, etc.), de contraintes (fixe, point, charnière, glissière, engrenage, poulie, 6DOF, etc.), de moteurs, de capteurs, de ragdolls animés, de personnages de jeu, de véhicules (à roues, à chenilles, motocycles), de simulation de corps mous (tissu, boules molles, etc.), de simulation de cheveux basée sur des brins sur GPU, et de portance de l'eau. Elle est écrite en C++17, ne dépend que de la bibliothèque de modèles standard et n'utilise ni RTTI ni exceptions. Elle se compile avec Visual Studio 2022+, Clang 16+ ou GCC 12+. Les plateformes prises en charge incluent Windows, Linux, FreeBSD, Android, macOS, iOS, MSYS2 MinGW64, WebAssembly (via un projet séparé) et Platform Blue (une console de jeu). Le dépôt comprend un exemple HelloWorld, une application Samples avec de nombreux tests, un PerformanceTest, des UnitTests et un JoltViewer pour visualiser les simulations enregistrées. Des liaisons sont disponibles pour C, C#, Java/Kotlin, JavaScript, Rust, Python, Zig et Jai. Elle est intégrée dans Godot, Source Engine et des plugins Unreal. Le projet est distribué sous licence MIT. Les contributions sont les bienvenues, avec un accord de contributeur requis pour les modifications non triviales.