Box3D, un moteur de physique 3D open source
Original : Box3D, an open source 3D physics engine
Pourquoi c'est important
Offre une solution open source performante pour la physique 3D en jeux, répondant aux limitations des moteurs actuels.
Box3D, un moteur de physique 3D open source inspiré de Box2D, a été annoncé et rendu disponible sur GitHub. Développé pour répondre aux besoins du jeu « The Legend of California », Box3D offre des fonctionnalités avancées comme la collision de mailles triangulaires et la simulation multi-threadée.
Box3D est présenté comme une évolution de Box2D, adaptée aux jeux 3D. Le moteur, écrit en C17, intègre plusieurs fonctionnalités : collision de mailles triangulaires, collision de champs de hauteur, collision composite précalculée, solveur avec sous-pas, collision continue, et support de mondes vastes avec doubles pour les positions. Il inclut également un solveur de contact SIMD large, des hooks multi-threading, un ordonnanceur optionnel interne, et la possibilité d'enregistrement et relecture.
Le développement de Box3D a été motivé par deux raisons principales. D'abord, le jeu « The Legend of California » en développement chez Kintsugiyama depuis 2022 sous Unreal Engine avait des problèmes avec le moteur de physique natif Chaos : absence de support pour les couples gyroscopiques (corrigée par Epic en 2024) et simulation erratique des collisions complexes comme des arbres tombant sur des mailles. Deuxièmement, le jeu nécessite de gérer des centaines de milliers d'entités sur serveur, rendant crucial un système broad-phase performant.
Plutôt que de corriger Chaos ou d'utiliser un moteur existant comme Jolt, le développeur s'est inspiré de Rubikon-Lite, version personnelle du moteur de physique custom développé par Dirk Gregorius pour Half-Life: Alyx chez Valve. Box3D maintient une architecture similaire à Box2D pour faciliter la parité entre les versions 2D et 3D.