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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

Embed Size (px)

Citation preview

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

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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 Etudiant : Encadreurs (4X Technologies) : Encadreur (ESSI) : Guillaume Gourdin M. Liberman M. Delattre

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.