34
M2 IFPRU 2009 / 2010 TER Simulation Spatial Auteurs : Sandrine BUENDI Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Embed Size (px)

Citation preview

Page 1: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

M2 IFPRU 2009 / 2010

TER Simulation Spatiale

Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER

Tuteurs : Jacques FERBERFrédéric KORICHE

Page 2: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

IntroductionPourquoi ce projet ?

Ce TER est la suite direct des modules de moteur de jeu et de cognition.

Nous souhaitions donc continuer le projet que nous avions commencé dans ces deux modules.

Page 3: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Introduction

Plan :

Cahier des charges

Moteur physique

Moteur graphique

Moteur de son

Intelligence artificielle

Conclusion

Page 4: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Cahier des charges

Application sous forme d’un simulateur.

• But : réaliser un simulateur spatial.

• Les fonctionnalités a développer :

- Un moteur physique.- Un moteur graphique.- Un module de son.- Une intelligence artificielle.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 5: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Moteur physique

1ère partie

Page 6: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Physique de Newton :

- Principe d’inertie

- Dynamique de translation :

- Actions réciproques :

- Loi universelle de gravitation

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 7: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Implémentation :

Moteur Physique

class Physics{ - liste de pointeurs vers chacun des objets

- méthode pour calculer la somme des forces appliquées sur un objet

- accesseurs pour l’accélération, la vitesse et la position des objets}

Objets visibles

Masse

Soumis aux interactions

gravitationnelles

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 8: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Les astéroïdes:

- Objet ne subissant que des forces gravitationnelles.

- Prouvent que le modèle gravitationnel fonctionne.

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 9: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Les torques :

- Utilisation de propulseurs pour le mouvement des vaisseaux.- Calcul de forces torques :

- accélération angulaire,- vitesse angulaire,- position angulaire.

- Influence sur la vitesse de l’objet.

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 10: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Les collisions :

- Plusieurs types de collisions différentes.- Appliquées sur les objets en mouvement.- Basées sur l’intersection Sphere/Sphere.

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 11: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

4 type de collisions :

Moteur Physique

Objet 1 Objet 2 RésultatAsteroids Asteroids - Simulation de choc élastique

- Perte de masse en fonction du rapport des masses

Asteroids BattleShip - Explosion du BattleShip

- Mise à jour des Behaviours si besoin

BattleShip Asteroids - Explosion du BattleShip

- Mise à jour des Behaviours si besoin

BattleShip BattleShip - Si les masses sont de même ordre de grandeur, explosion des deux BattleShip, sinon explosion du plus léger

- Mise à jour des Behaviours si besoinCahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 12: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Prévisions de collisions :

- Anticiper un choc.

- Trouver une nouvelle trajectoire.

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 13: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 14: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Moteur graphique

2ème partie

Page 15: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Principe:

Elément clé d’un projet, permet d’obtenir un rendu graphique.

Quels outils ?

- Librairie OpenGL- freeglut

Moteur graphique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 16: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Ce que nous avons fais : la caméra.

- Permet de se déplacer dans la scène.

- En relation avec le moteur de son.

- Facile à intégrer.

Moteur graphique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 17: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Ce que nous avons fais : les modèles 3D.

- Union de formes primaires, de matériaux et de textures.

- Stockés dans un fichier COLLADA.

Moteur graphique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 18: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Importateur de modèles :

- Modèles 3D créés avec 3DS Max

- Exportés au format Collada :- syntaxe XML- enregistre les matériaux du modèle- enregistre les textures du modèle

Moteur graphique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 19: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Moteur graphiqueExemple de fichier Collada :

<?xml version="1.0" encoding="utf-8"?><COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.0"> <asset> <contributor> <author></author> <authoring_tool>FBX COLLADA exporter</authoring_tool> <comments></comments> </contributor> <created>2010-03-11T20:00:48Z</created> <modified>2010-03-11T20:00:48Z</modified> <revision></revision> <title></title> <subject></subject> <keywords></keywords> <unit meter="0,025400"/> <up_axis>Z_UP</up_axis> </asset>

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 20: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Ce que nous avons fais : les lumières.

- Permet de profiter des textures et matériaux des objets.

- Nombre de lumières limitées.

Moteur graphique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA Démonstration Conclusion

Page 21: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Moteur e son

3ème partie

Page 22: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Pourquoi ce module?

- Sources multiples.

- Atténuation du son.

Moteur de son

Ajouter du son

aux objets

Donner l’impression d’un monde

« vivant »

Impliquer le joueur

dans l’environnement

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 23: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Niveau technique :

- Utilisation de OpenAL, bibliothèque multiplateforme. - Rajout de la librairie ALUT pour charger des sons.

Moteur de son

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 24: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Fonctionnement:

OpenAL définit 3 types d’objets essentiels:

- les tampons (stockent les informations sur les sons),- les sources (émettent les sons),- l’auditeur (écoute les sons).

Exemple :

- Chargement du son des réacteurs d’un vaisseau dans le tampon.- On fait jouer ce son par tous les vaisseaux.- L’auditeur écoute ce son dès qu’il est proche d’un vaisseau.

Moteur de son

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 25: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligenceartificielle

4ème partie

Page 26: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligence artificiellePrincipe :

- Représenter les comportements individuels et collectifs des objets en mouvement.

Comment ?

- Définition d’un comportement individuel.

- Définition d’un comportement collectif.

- Les 36 stratagèmes.Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 27: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligence artificielleQuelques exemples du comportement individuel :

• Mouvement aléatoire en évitant les autres objetsWander

• L’objet avance à l’aveuglette, mais sans tests de collisionBlind

• L’objet est soumis uniquement aux forces de gravitationAsteroidCahier des charges

Moteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 28: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligence artificielleAvantages:

- Ne pas laisser d’objets « à l’abandon » une fois isolé.

- Simplicité pour ajouter de nouveaux comportements.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 29: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligence artificielleComportement collectif : les combats.

- Implémentation d’une patrouille.

- Mise en place d’une des stratégies implémentées.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 30: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Intelligence artificielleComportement collectif : les 36 stratagèmes.

- Représenté par un ensemble de formations.

- Le leader identifie l’ennemi et choisi la stratégie à appliquer.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 31: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Démonstration

Page 32: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Conclusion

Page 33: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

ConclusionProblèmes rencontrés :

- Fusion de deux groupes, donc de deux projets difficiles.

- Contraintes de temps pour intégrer toutes les fonctionnalités.

Apports :

- Projet abordant de nombreux thèmes.

- Mise en pratique de nombreux algorithmes vu en cours.

- Travail en équipe.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Page 34: M2 IFPRU 2009 / 2010 Auteurs : Sandrine BUENDIA Svetlana KOVALEVA Romain ALMES Paul LY Guillaume RYSER Tuteurs : Jacques FERBER Frédéric KORICHE

Conclusion

Perspectives :

- Améliorer la partie graphique du projet.

- Implémenter plus de comportements.

- Introduire plusieurs tailles de vaisseaux.

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion