Jolt Physics dans Evergine
Un premier pas vers la simulation industrielle et la Physical AI

Evergine est né pour créer des applications 3D industrielles : jumeaux numériques, outils de formation et visualisations de processus qui fonctionnent sur desktop, sur le web, sur mobile et en XR. De plus en plus, ces applications doivent non seulement montrer les choses, mais aussi simuler leur comportement. Pour être utile dans ce contexte, la physique doit être crédible.
C’est pourquoi nous avons reconstruit la physique d’Evergine sur Jolt Physics, un moteur physique moderne et multicœur. Il remplace Bullet, qui nous a bien servi pendant des années, et constitue la première étape d’une feuille de route visant à faire d’Evergine une plateforme de simulation encore plus solide : la prochaine étape est MuJoCo, qui rendra le moteur plus performant pour la Physical AI.
En bref :
- Un nouveau moteur. La physique repose désormais sur Jolt et est intégrée à
Evergine.Framework. Il n’y a rien de plus à installer. - Conçu pour le matériel actuel. La simulation se répartit sur les cœurs du CPU et peut être rendue déterministe.
- Des applications plus réactives. Le picking, les collisions et les interactions répondent plus vite, des outils desktop aux applications XR développées avec MRTK.
- Davantage de choses à simuler. Véhicules à roues et à chenilles, un nouveau contrôleur de personnage, des ragdolls et des corps mous comme les tissus.
- Un nouvel exemple de physique. Un chariot élévateur dans un entrepôt, avec des échelles et des masses réelles, qui soulève et transporte des palettes.
- Un cap clair. Jolt constitue la base, et MuJoCo rendra le moteur encore plus performant pour la Physical AI.
Dans cet article
- Pourquoi la simulation est importante
- Où nous allons
- Pourquoi Jolt
- Des applications plus rapides et plus réactives
- Le nouvel exemple de physique
- Les nouveautés de la physique d’Evergine
- Prise en main
- Migrer depuis Bullet
- Et ensuite : MuJoCo et la Physical AI
- Essayez-le et donnez-nous votre avis
Pourquoi la simulation est importante
Dans l’industrie, modifier le monde réel coûte cher. Réorganiser un entrepôt, mettre en service une nouvelle ligne de production ou former un opérateur sur une machine lourde, tout cela coûte du temps, de l’argent et parfois de la sécurité. La simulation vous permet de le faire d’abord sur une copie virtuelle, où les erreurs ne coûtent rien :
- Logistique et aménagement. Vérifiez si un véhicule passe dans une allée, jusqu’à quelle hauteur un rayonnage peut être chargé ou à quel endroit la circulation se bloque, avant de déplacer la moindre étagère.
- Mise en service virtuelle. Testez la logique d’une ligne ou d’une cellule robotisée sur une usine simulée avant que la vraie ne soit construite.
- Formation des opérateurs. Permettez aux équipes de s’entraîner avec un chariot élévateur, une grue ou une machine qui réagit comme la vraie, sans mettre personne en danger.
- Jumeaux numériques. Allez au-delà d’un modèle qui reflète des données en temps réel : un jumeau qui se comporte aussi comme l’équipement réel peut répondre aux questions du type « et si ».
Tous ces cas reposent sur la même chose : lorsqu’un objet est poussé, soulevé, lâché ou conduit, il doit réagir comme il le ferait dans la réalité. Si la physique n’est pas crédible, la simulation n’est pas utile pour prendre des décisions.
Où nous allons
Une meilleure physique dans Evergine n’est pas une fonctionnalité ponctuelle. C’est une feuille de route en deux étapes, qui pointent toutes deux dans la même direction : la Physical AI.
- Jolt Physics, disponible dès maintenant. Un moteur temps réel rapide et stable pour les scènes industrielles interactives, sur toutes les plateformes prises en charge par Evergine.
- MuJoCo, en cours. Le moteur de référence de la recherche en robotique, pour simuler des robots avec leurs articulations, actionneurs et contacts réels.
La Physical AI, l’IA qui perçoit le monde physique et y agit, est aujourd’hui l’un des domaines les plus demandés, et elle s’appuie sur la simulation pour entraîner et valider ses systèmes. Chaque étape de cette feuille de route rend Evergine plus performant dans ce domaine.
Cet article porte sur Jolt. Nous reviendrons sur MuJoCo à la fin.
Pourquoi Jolt
Jolt Physics est un moteur physique open source créé par Jorrit Rouwe et publié sous la licence permissive MIT. Il a été conçu dès l’origine pour les CPU multicœurs modernes, il bénéficie d’une communauté vaste et très active, et il a fait ses preuves dans des productions commerciales exigeantes et de premier plan. Son code source et sa documentation d’architecture sont ouverts : nous savons donc exactement ce que fait le solveur.
Bullet a été le moteur physique d’Evergine pendant des années, et il reste une bibliothèque respectée. Mais son développement a ralenti (sa dernière release, la 3.25, date de 2022), alors que Jolt est activement développé et continue de s’enrichir. Pour nous, ce changement était une question d’avenir : choisir le moteur avec lequel nous voulons évoluer.
Voici ce qui change pour un développeur Evergine :
| Bullet (avant) | Jolt (maintenant) | |
|---|---|---|
| Package | Evergine.Bullet, installé séparément | Intégré à Evergine.Framework |
| Multicœur | Le pas de simulation s’exécutait sur un seul thread | Le pas de simulation est réparti sur les cœurs du CPU |
| Déterminisme | Non garanti | En option : la même scène donne toujours le même résultat |
| Véhicules | Véhicules à roues | Véhicules à roues et à chenilles, avec moteur et boîte de vitesses |
| Personnages | Contrôleur de personnage cinématique | Monte les marches, se déplace sur des plateformes mobiles et pousse des objets |
| Corps mous | Non disponible | Tissus, corps mous pressurisés et volumétriques |
| Développement | Dernière release en 2022 | Activement développé |
Des applications plus rapides et plus réactives
Dans Evergine, la physique ne sert pas seulement à simuler des machines. La plupart des applications interactives s’appuient sur elle à chaque frame, souvent sans que personne ne s’en aperçoive : les colliders indiquent à l’application ce que l’utilisateur pointe, les ray casts sélectionnent les objets et les événements de collision déclenchent des actions. C’est le cas des applications XR, où les mains et les contrôleurs appuient sur des boutons, saisissent des objets et naviguent dans des menus, ainsi que des applications desktop dans lesquelles les utilisateurs sélectionnent et manipulent des modèles 3D.
Avec Jolt, tout cela est plus rapide et plus réactif. La détection des collisions et les ray casts prennent moins de temps, les contacts sont plus stables et le travail est réparti sur les cœurs du CPU : les interactions répondent immédiatement, même dans des scènes comportant de nombreux objets. Les applications développées avec Evergine MRTK, notre Mixed Reality Toolkit, en bénéficient directement : ses boutons, curseurs, menus et interactions manuelles reposent tous sur des colliders, et ils réagissent désormais plus vite et de manière plus fluide.
Le nouvel exemple de physique
Pour montrer la nouvelle physique dans un contexte industriel, nous avons créé un nouvel exemple : un chariot élévateur dans un entrepôt qui prend une palette sur un rayonnage et la transporte.
Le nouvel exemple de physique, développé avec Evergine et Jolt Physics
La scène utilise des assets prêts pour la simulation, avec des échelles et des masses réelles. Le chariot élévateur est un véhicule de 3,4 tonnes doté d’un moteur et d’une direction réaliste, son mât et ses fourches sont actionnés par des moteurs, et les palettes et les cartons pèsent ce qu’ils pèseraient dans un véritable entrepôt. Un rideau à lanières souple est suspendu à la porte. Toute la physique est configurée depuis Evergine Studio, sans code physique.

La caméra conducteur. Rayonnages, palettes et cartons font tous partie de la simulation
Vous pouvez l’essayer dans votre navigateur et parcourir son code source sur GitHub. Les modèles 3D proviennent de NVIDIA SimReady et sont publiés sous licence CC BY 4.0.
Les nouveautés de la physique d’Evergine
Au-delà du changement de moteur, l’API physique a été repensée avec des noms plus simples, et il y a beaucoup plus de choses à simuler. Voici les points forts.
Véhicules
Un véhicule est un corps unique doté d’un contrôleur : un moteur, une boîte de vitesses, une direction, des freins et une suspension pour chaque roue. Il reste ainsi stable à grande vitesse et peu coûteux à simuler. Aux côtés des véhicules à roues, il existe désormais un contrôleur de véhicule à chenilles pour des engins comme les bulldozers et les excavatrices.
Un véhicule à chenilles, nouveauté de cette release
Personnages et ragdolls
Le nouveau contrôleur de personnage monte les marches, suit les pentes, se déplace sur des plateformes mobiles et pousse les objets qu’il rencontre. C’est ce qu’il vous faut pour la visite virtuelle d’une usine ou pour une personne dans un scénario de formation.
Le contrôleur de personnage montant des marches
Les ragdolls permettent à la simulation de prendre le contrôle d’un personnage. Un personnage peut marcher sous l’effet de son animation et, à tout moment, tomber et réagir physiquement, en conservant l’élan qu’il avait.
Un personnage passant de son animation à un ragdoll
Corps mous et tissus
Les corps mous sont une nouveauté complète. Les tissus tombent et se plissent, un ballon s’écrase en touchant le sol et un coussin cède avant de reprendre sa forme. N’importe quel mesh peut devenir un corps mou, et certaines de ses parties peuvent être fixées sur place ou à un autre objet, comme une bannière sur un mât ou le rideau à lanières du nouvel exemple de physique.
Tissus, corps mous pressurisés et volumétriques
Conçu dans Studio
Tout cela peut être configuré depuis Evergine Studio, dans l’inspecteur, et testé avec le Play Mode sans quitter l’éditeur. Pour en savoir plus, lisez Les nouveautés d’Evergine Studio. Lorsque quelque chose ne se comporte pas comme prévu, le rendu de débogage dessine les formes physiques et les articulations par-dessus la scène.
Prise en main
La physique se trouve dans le namespace Evergine.Framework.Physics. Enregistrez un PhysicsManager dans votre scène, puis ajoutez un corps et un collider à n’importe quelle entité :
using Evergine.Framework.Physics;
public class MyScene : Scene
{
public override void RegisterManagers()
{
base.RegisterManagers();
// One physics world per scene
this.Managers.AddManager(new PhysicsManager());
}
protected override void CreateScene()
{
// A 20 kg box that falls and collides (add a mesh and a material to see it)
var box = new Entity("box")
.AddComponent(new Transform3D() { Position = new Vector3(0f, 3f, 0f) })
.AddComponent(new RigidBody() { Mass = 20f })
.AddComponent(new BoxCollider());
this.Managers.EntityManager.Add(box);
}
}
La section physique de la documentation d’Evergine décrit chaque composant en détail, avec des vidéos et des exemples.
Migrer depuis Bullet
Si votre projet utilise la physique précédente, il devra être migré. Le package Evergine.Bullet n’est plus nécessaire, et chaque composant porte un nouveau nom : RigidBody3D devient RigidBody, BoxCollider3D devient BoxCollider, HingeJoint3D devient HingeConstraint, et ainsi de suite.
Pour la partie mécanique du travail, nous avons créé un outil de migration qui met à jour le code C#, les fichiers de projet, les scènes et les prefabs. Par défaut, il s’exécute en mode simulation, crée une sauvegarde de chaque fichier qu’il modifie et signale tout ce qui nécessite une décision humaine. Le guide Migrating from Bullet, dans la section physique de la documentation d’Evergine, contient la liste complète des équivalences et la démarche recommandée.
Et ensuite : MuJoCo et la Physical AI
Jolt offre à Evergine une base temps réel solide. La prochaine étape, sur laquelle nous travaillons déjà, est l’intégration de MuJoCo.
MuJoCo, abréviation de Multi-Joint dynamics with Contact, est un moteur physique créé pour la recherche en robotique, en biomécanique et en machine learning. Il est maintenu par Google DeepMind depuis 2021 et est open source sous licence Apache 2.0 depuis 2022. MuJoCo décrit un robot directement par ses articulations : un bras ne peut donc pas se disloquer et sa dynamique est calculée avec précision. Un robot est défini dans un fichier de modèle avec les masses, les inerties, les limites articulaires et les actionneurs du matériel réel, et un vaste catalogue de robots réels est déjà disponible dans ce format. C’est pourquoi MuJoCo est devenu l’un des simulateurs de référence de la recherche en robotique.
L’intégration de MuJoCo à Evergine vous permettra de placer un véritable modèle de robot dans une scène industrielle et de le voir bouger comme le vrai, avec le rendu d’Evergine sur n’importe quelle plateforme.
Avec MuJoCo, le moteur d’Evergine devient encore plus performant pour la Physical AI : des systèmes d’IA qui perçoivent, comprennent le monde physique et y agissent, des bras robotisés et robots mobiles autonomes jusqu’aux chariots élévateurs autonomes. C’est aujourd’hui l’un des domaines les plus demandés et dont la croissance est la plus rapide. Ces systèmes sont entraînés et validés en simulation bien avant d’être déployés, car un simulateur peut exécuter des milliers de scénarios en toute sécurité et bien plus vite que la réalité. Pour cela, ils ont besoin d’une physique fiable et d’environnements fidèles à la réalité. Des scènes industrielles crédibles avec Jolt, des robots précis avec MuJoCo et le rendu d’Evergine sur tous les appareils : c’est exactement ce qu’il leur faut.
Essayez-le et donnez-nous votre avis
Jolt Physics fait partie de la release de novembre 2026 d’Evergine. Mettez à jour Evergine, ouvrez une scène et donnez-lui quelque chose à pousser, soulever et transporter.
- Essayez le nouvel exemple de physique dans votre navigateur et explorez son code source.
- Consultez la documentation d’Evergine, dont la section physique décrit chaque composant avec des vidéos et des exemples.
- Explorez les exemples Evergine pour découvrir d’autres scènes.
- Vous avez trouvé un problème ou vous avez une idée ? Faites-le-nous savoir dans le dépôt de feedback d’Evergine.
Nous avons hâte de voir ce que vous allez créer et de savoir quelles simulations vous aimeriez réaliser ensuite.


