540 likes | 664 Views
La réalité virtuelle. au département informatique. Block3D. Etudiants. Edgar-Fernando Arriaga -Garcia. Charles-Henri Babiaud. Encadrants. Clément Grellier . Ronan Gaugne. Quentin Petit. Jérôme Ricœur . Valérie Gouranton. Florent Violleau. 31 mai 2012. Introduction. Plan.
E N D
La réalité virtuelle au département informatique Block3D Etudiants Edgar-Fernando Arriaga-Garcia Charles-Henri Babiaud Encadrants Clément Grellier Ronan Gaugne Quentin Petit Jérôme Ricœur Valérie Gouranton Florent Violleau 31 mai 2012
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
1. Rappel du contexte – Collaboration • Collaboration avec les autres groupes
Daedalus, génération de labyrinthes • Aperçu du labyrinthe • Paramètres de configuration • Sauvegarde du fichier XML
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
2. Fonctionnalités – Interactions (1/3) • Fonctionnalités du coureur
2. Fonctionnalités – Interactions (2/3) • Fonctionnalités du constructeur
2. Fonctionnalités – Interactions (3/3) • Fonctionnalités du menu
2. Fonctionnalités – Mode distribué (1/2) Communication distante 14
2. Fonctionnalités – Mode distribué (2/2) 3D Labyrinthe Décors Déplacement du coureur/constructeur Menus Collisions Wiimote Interactions coureur/constructeur Communication distante 15
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
3. Architecture logicielle – Son spatialisé (1/4) • Utilisation d’OpenAL : • Bibliothèque qui permet la manipulation de tampons sonores à bas niveau • Adapté à de très nombreuses utilisations • Utilisation d’OgreAL • Wrappeur d’OpenAL pour Ogre3D • Simplification dans le positionnement des sources sonores dans le monde symbolique • Intégration aisée avec les objets de Ogre3D • Utilisation des enceintes 5.1 dans le cadre de l’application Architecture sonore
3. Architecture logicielle – Son spatialisé (2/4) Permettre l’immersion dans le monde symbolique du coureur Guider le coureur jusqu’à son objectif
3. Architecture logicielle – Son spatialisé (3/4) • Guider le coureur par l’utilisation d’un sonar • Informer le coureur et le constructeur qu’une brique a été posée Sonar Pose des briques Coureur
3. Architecture logicielle – Son spatialisé (4/4) • Variation de la fréquence et du tempo du son : • Du sonar • De la musique d’ambiance Plus aigu Plus rapide Fréquence (kHz) Plus grave Moins rapide Arrivée Départ Distance par rapport à l’objectif
3. Architecture logicielle – Modélisation du coureur • Démarche d’utilisation de Blender : • Importation d’un personnage Lego • Correction des défauts (faces transparentes, …) • Modification du squelette • Création des animations • Exportation en .mesh pour être utilisé dans Ogre • Exportation des animations pour Ogre peu intuitive • Relativement peu de documentation
3. Architecture logicielle – PhysX Empêcher le coureur de traverser les murs Caractéristiques • C++ • Licence commerciale • Multiplateforme • Développement actif • Utilisé dans la plupart des jeux actuels • Bien documenté • Contrôleurs d’avatar • Corps rigides et souples • Champs de force, etc.
3. Architecture logicielle – PhysX et Critter (1/2) • NxOgre = Wrappeur • Critter = Interface et
3. Architecture logicielle – PhysX et Critter (2/2) Fonctionnalitéssupplémentaires Débogueurvisuel
3. Architecture logicielle – Cmake • Gestion des dépendances logicielles • Génération Makefile • Génération projet VisualStudio • Multiplateforme • Indique les dépendances manquantes
Bilan prévu / réel • Ogre Bites
3. Architecture physique– Généralités Copie locale du monde virtuel OpenMASK Communication distante Même arborescence de fichiers sur les pc Copie locale du monde virtuel Participation des 5INFO • 5INFO Coureur 30
3. Architecture physique– VRPN (1/2) Virtual Reality PeripheralNetwork Interfaçage avec les périphériques • Un serveur Associé à une IP et un port • N clients Sur une machine ou plusieurs machines
3. Architecture physique– VRPN (2/2) • VRPN • Bouton : Envoi pour chaque pression/relâchement • Clavier, clic, bouton • Analogique : Envoi continu de l’état • Joystick • Tracker : Suivi d’une position • Casque Événements récupérés
3. Architecture physique– Wiimote • Intégration d’un serveur VRPN Wiimoteexistant • Création d’un client VRPN • Interfaçage avec Block3D • Boutons pressés (Bouton) • Boutons relâchés (Bouton) • Mouvement du joystick (Analogique) • Accélération de la Wiimote (Analogique) • Accélération des Nunchuk (Analogique) Wiimote - Nunchuk
3. Architecture physique– Intégration de la Wiimote • Interfaçage • Serveur • Wiimote • Client • Block 3D • La Wiimote est connectée (Bluetooth) • Le serveur Wiimote est lancé • Block3D récupère les informations du serveur • Les événements sont filtrés par un écouteur « WiimoteListener »
3. Architecture physique– Contrôle de la Kinect (1/2) FAAST, serveur et client VRPN
3. Architecture physique– Contrôle de la Kinect (2/2) • FAAST • Block3D FAAST, serveur et client VRPN • Intégration transparente de FAAST dans Block3D • transforme des événements Kinect en événements claviers Kinect
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
4. Conception et développement – Diagramme de Paquetages • ogre • openmask • block3D plugin • parser • time • data • element • sound • model • interactions • wiimote • kinect
Tests unitaires 4. Conception et développement – Tests • Tests utilisateurs • CppUnit • CxxTest • Facilité à trouver des bêta testeurs
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
5. Démonstration Arriverez-vous à l’objectif avant que le temps soit fini ? Coureur Constructeur
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
6. Bilan - Matériel • Vuzix • Wiimoteet nunchuck • Changement de salle • 2 adaptateurs VGA sur un même ordinateur
6. Bilan – Difficultés de synchronisation • Synchronisation Ogre – NxOgre
6. Bilan – Difficultés du mode distribué • Difficultés de prise en main d’OpenMASK • Documentation et communauté restreintes • Sessions d’entrainement à l’ETI • Connexion MPI en réseau • Adaptation du travail des 5ème année • Fonctionnalités aussi restreintes • Contraintes sur la reprise du code • Création de plugins OpenMASK nécessaires Communication distante 45
6. Bilan – Possibilités d’évolution • Evolutions d’intégration • Amélioration du support Linux • Amélioration application distribuée • Evolutions des interactions • Intégration du joystick • Gérer le saut de l’avatar • L’avatar suit les mouvements de l’utilisateur • Jeu plateforme
Plan • 6. Bilan du projet de réalité virtuelle • 7. Planification
7. Planification – Jalons réels et prévisionnels Livraison rapport final 30/05/2012 Planification initiale Planification réelle Livraison projet 31/05/2012 Intégration OpenMask 31/05/2012 Applications constructeur/coureur 27/04/2012 28/05/2012 Présentation finale 31/05/2012 Immersion dans un monde en 3D 16/03/2012 01/04/2012 Interactions utilisateur/matériel 24/02/2012 01/04/2012 Livraison rapport planification 10/02/2012 10/02/2012 • En 4 mois ce sont 1 mois de retard qui ce sont accumulés 48
7. Planification – Nombre d’heures Charge (h) Prévu 1759h Réalisé 2079h 49