1 / 14

Détection des collisions dans un moteur 3D temps réel

Détection des collisions dans un moteur 3D temps réel. Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) :. Guillaume Gourdin M. Liberman M. Delattre M. Lafon. Fourmis. RushDown. Présentation du projet (1/2). 4X Technologies :

Download Presentation

Détection des collisions dans un moteur 3D temps réel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Détection des collisions dans un moteur 3D temps réel Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre M. Lafon

  2. Fourmis RushDown Présentation du projet (1/2) • 4X Technologies : • Société parisienne spécialisée dans des techniquesorientées vers le jeu vidéo • Concepteur du moteur 3D multi plate-forme X3Dutilisé dans Fourmis & RushDown

  3. Présentation du projet (2/2) • Détection des collisions : • Pour éviter l’interpénétration des objets. • Impossible de tester les collisions directement sur les objets en temps réel, il faut des algorithmes performants. • X3D possède déjà une détection de collisions,mais elle est quadratique (donc trop coûteuse).

  4. Evaluation de l ’état de l ’art • Travail de recherches de l ’existant • On effectue les tests sur des approximations des objets originaux : • boites englobantes statiques alignées avec les axes • boites englobantes dynamiques alignées avec les axes • boites englobantes non alignées avec les axes • décimation • Egalement : • structure d ’arbre • arbres BSP

  5. Boites englobantes statiques Description : Boite englobante de la sphère englobante • Avantages : • rapide • la boite reste inchangée en cas de rotation de l ’objet • Inconvénients : • approximation grossière • calcul de la sphère englobante non trivial

  6. Boites englobantes dynamiques Description : Plus petite boite englobante parallèle aux axes. • Inconvénients : • approximation grossière • recalcul de la boitesi l ’objet tourne • Avantages : • rapide

  7. Boites englobantes non alignées avec les axes Description : Plus petite boite englobante. • Avantages : • meilleure approximation • la boite reste fixe même si l ’objet tourne • Inconvénients : • approximation toujours grossière

  8. Décimation Description : On enlève les points les moins significatifs Les tests de collisions s ’effectuent sur les faces de l ’objet décimé • Avantages : • bonne approximation de l ’objet d ’origine • Inconvénients : • calculs des collisions non trivial

  9. Structure d ’arbre Description : On découpe l ’objet récursivement • Avantages : • réduit le nombre de tests • Inconvénients : • structure de données supplémentaire

  10. Arbre BSP Description : Découper l ’espace intelligemment pour ne tester que les objets proches • Inconvénients : • peu adapté aux environnement dynamiques • Avantages : • réduit le nombre de tests

  11. Implémentation • Il a été décidé d’utiliser la structure d’arbre de boites englobantes alignées avec les axes. • On descend jusqu’au niveau de la face pour avoir le maximum de précision possible. • Travail sous Visual C++ (utilisation de classes).

  12. Présentation de X3D • Moteur générique multi plate-forme • En langage C : possède un certain nombre de fonctions et de structures (scène, objets, lumières, etc.)

  13. Résultats • Ont été implémenté la détection sans la structure d’arbre et avec la structure d ’arbre. • La structure d ’arbre est beaucoup plus performante (presque 100 fois plus!).

  14. Conclusion • La détection de collisions est un thème de recherche important et encore ouvert. • Travail de programmation concret nécessitant la maîtrise des outils d’aujourd’hui.

More Related