m2 ifpru 2009 / 2010 auteurs : sandrine buendia svetlana kovaleva romain almes paul ly guillaume...

Post on 03-Apr-2015

107 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

M2 IFPRU 2009 / 2010

TER Simulation Spatiale

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

Tuteurs : Jacques FERBERFré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.

Introduction

Plan :

Cahier des charges

Moteur physique

Moteur graphique

Moteur de son

Intelligence artificielle

Conclusion

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

Moteur physique

1ère partie

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

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

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

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

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

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

Prévisions de collisions :

- Anticiper un choc.

- Trouver une nouvelle trajectoire.

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Moteur Physique

Cahier des chargesMoteur physiqueMoteur graphiqueMoteur de son IA DémonstrationConclusion

Moteur graphique

2ème partie

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

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

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

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

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

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

Moteur e son

3ème partie

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

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

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

Intelligenceartificielle

4ème partie

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

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

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

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

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

Démonstration

Conclusion

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

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

top related