Salut à tous!
Pour faire suite du développement de mon moteur 3D (Le EscapeNgine : http://www.developpez.net/forums/d80...ine-moteur-3d/), j'ai commencé le développement d'un moteur de simulation physique 3D temps réel en C#/Xna.
J'ai prit cette décision puisque le seul moteur open source disponible en Xna n'est plus vraiment en développement, et qu'il comportait certains problèmes de conception et certains bogues qui rebutait son utilisation dans mon projet de moteur 3D. Les autres moteurs étant closed source, et payant, j'ai décidé de faire le mien.
Le moteur sera open source, et j'essais que la conception soit le plus "clean" possible. Il y aura prise en charge du multithread, et le tout sera pleinement documenté.
La résolution des collisions est résout par un système itératif basé sur les impulses. Je lis en ce moment pas mal de paper et de slides, je dois dire que le système est inspiré en bonne partie sur les présentations de Erin Catto(Le créateur de Box2D).
En ce moment, le moteur comporte environ 25 classes. Le système de monde physique est en place, les corps comporte plusieurs géométries. L'intégration peut être fait par Euler ou par Runge–Kutta d'ordre 4(RK4). Le système par impulse est implémenté pour résoudre les collisions, la friction statique et dynamique.
Pour l'instant, que deux formes disponibles : Les sphères et les plane. Je vais intégrer les boîtes, les capsules, et les mesh formés de triangles. Je compte aussi travailler sur les contraintes.
Une première version devrait être lancé en janvier
Et puis, voici une vidéo de ce qui a été fait, le tout implémenté dans le EscapeNgine :
[ame="http://www.youtube.com/watch?v=tYUkemtUBVA"]YouTube - Physic simulation WIP[/ame]
Partager