14
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

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

Embed Size (px)

DESCRIPTION

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 : - PowerPoint PPT Presentation

Citation preview

Page 1: 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 GourdinM. LibermanM. DelattreM. Lafon

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

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 X3D utilisé dans Fourmis & RushDown

Fourmis RushDown

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

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).

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

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

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

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

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

Boites englobantes dynamiques

Description :Plus petite boiteenglobante parallèleaux axes.

Avantages :• rapide

Inconvénients :• approximation grossière• recalcul de la boitesi l ’objet tourne

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

Boites englobantes non alignées avec les axes

Description :Plus petite boiteenglobante.

Avantages :• meilleure approximation• la boite reste fixe même si l ’objet tourne

Inconvénients :• approximation toujours grossière

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

Décimation

Description :On enlève les points

les moins significatifsLes 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

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

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

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

Arbre BSP

Description :Découper l ’espace

intelligemment pour ne tester que les objets proches

Avantages :• réduit le nombre de tests

Inconvénients :• peu adapté aux environnement dynamiques

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

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).

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

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.)

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

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!).

0

5000

10000

15000

20000

25000

sans avec

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

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.