Réalité virtuelle et interactions avec un individu Soutenance de projet Réalité virtuelle et interactions avec un individu Quentin BRUN Cyril CAILLABA Jérémy SANHES Antoine VIGNEAU Tuteur et commanditaire : Thierry MONTEIL
Plan Introduction Diagramme de conception Scène 3D Contrôle de la scène Détection de point 3D Stéréoscopie Dessin Gestion de projet Conclusion
Projet tuteuré de 4ème année Concept de réalité virtuelle Contexte du projet Introduction Contexte Présentation Limites Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion Projet tuteuré de 4ème année Concept de réalité virtuelle Activités de gestion de projet Projet en parallèle : BAGG3D
Présentation du projet Présenter le concept de réalité virtuelle Utilisation de la stéréoscopie et des Wiimotes Application exemple : dessin 3D Présentation vidéo Introduction Contexte Présentation Limites Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion
Peu de visibilité sur les durées des travaux Limites du projet Introduction Contexte Présentation Limites Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion Départ de zéro Peu de visibilité sur les durées des travaux Limitation du chemin critique Mode de travail adapté
Diagramme de classes Conception Scène 3D Contrôleur Point 3D Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion
Choix du moteur graphique : Irrlicht Vue de la scène 3D Introduction Conception Scène 3D Vue Moteur Rendu Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion Choix du moteur graphique : Irrlicht Chargement d’un décor et application d’une texture Caméra 1ère personne : immersion dans la scène
Vue de la scène 3D Conception Scène 3D Contrôleur Point 3D Introduction Conception Scène 3D Vue Moteur Rendu Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion
Utilise un graphe de scène Moteur 3D : Irrlicht Utilise un graphe de scène Introduction Conception Scène 3D Vue Moteur Rendu Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion Racine Décor Caméra Curseur Dessin
Rendu en 3 étapes : préparation, pré-rendu, rendu Rendu de la scène A la charge du moteur Utilisation d’OpenGL Rendu en 3 étapes : préparation, pré-rendu, rendu Utilisation transparente pour le développeur Introduction Conception Scène 3D Vue Moteur Rendu Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion
Se déplacer dans la scène Par défaut : souris et clavier Matériel : Wiimote et lunettes Marcher dans la scène : croix directionnelle Déplacement de la caméra : nunchuk ou head tracking Introduction Conception Scène 3D Contrôleur Déplacement Evénements Interface Point 3D Stéréoscopie Dessin Gestion Conclusion
Moniteur d’événements Introduction Conception Scène 3D Contrôleur Déplacement Evénements Interface Point 3D Stéréoscopie Dessin Gestion Conclusion Système de gestion d’évènement : clavier, souris, etc. Rajout d’évènements personnalisés et capture de ceux-ci
Réalisée avec Irrlicht Interface graphique Introduction Conception Scène 3D Contrôleur Déplacement Evénements Interface Point 3D Stéréoscopie Dessin Gestion Conclusion Intégrée à la scène Réalisée avec Irrlicht Menu de gestion des fonctionnalités de dessin et de gestion de la 3D
Interface graphique Conception Scène 3D Contrôleur Point 3D Introduction Conception Scène 3D Contrôleur Déplacement Evénements Interface Point 3D Stéréoscopie Dessin Gestion Conclusion
Première version : avec 2 Wiimotes Méthode choisie 2 wiimotes Un stylet infrarouge Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Première version : avec 2 Wiimotes Méthode et stylet déjà utilisés Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Première version : avec 2 Wiimotes Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion Wiimotes placées orthogonalement Lecture directe des coordonnées Problème : On suppose que le stylet émet dans toutes les directions Nécessité de rétrécir l’angle des Wiimotes
Première version : avec 2 Wiimotes Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Deuxième version : avec une Sensor Bar Résultats décevants, trop d’imprécision 2ème méthode : Plusieurs émetteurs IR Une Wiimote en tant que stylet Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Deuxième version : avec une Sensor Bar Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Algorithme de détection X et Y : Lecture du plan directe Profondeur Z : En fonction de l’écartement des diodes IR Introduction Conception Scène 3D Contrôleur Point 3D 2 wiimotes Sensor Bar Algorithme Stéréoscopie Dessin Gestion Conclusion
Création du rendu dans les lunettes Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Rendu Vuzix Head tracking Dessin Gestion Conclusion Principe : une image différente pour chaque œil
Démarrer/Arrêter les lunettes Image à droite/à gauche SDK Vuzix Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Rendu Vuzix Head tracking Dessin Gestion Conclusion SDK simple a utiliser Démarrer/Arrêter les lunettes Image à droite/à gauche Gestion aisée de l’accéléromètre
Head tracking avec les lunettes Fonctionnalité d’amélioration Direction de la scène grâce aux lunettes Suivi fidèle de la tête de l’utilisateur Effet réaliste et immersion dans la scène Au cœur du concept de réalité virtuelle Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Rendu Vuzix Head tracking Dessin Gestion Conclusion
Création d’un nouveau nœud contenant une ligne Algorithme de dessin Création d’un nouveau nœud contenant une ligne Méthode pour effectuer le dessin On trace la ligne que si on dévie trop par rapport au point précèdent durant un faible temps Lorsque l’on achève un dessin on fait appel à la primitive « end_draw » qui trace forcement la dernière ligne Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Algorithme Fonctionnalités Gestion Conclusion
Fonctionnalités de dessin proposées Fonctionnalités d’édition de dessin Changement de couleur Gommage (par Annuler/rétablir) Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Algorithme Fonctionnalités Gestion Conclusion Dessin Ligne 1 Ligne 2 Ligne 3 . . . Annuler() Retablir() ToutSupprimer()
Mode de travail de l’équipe Scission de l’équipe en 2 Une équipe côté Wiimote, l’autre côté Moteur Meilleure gestion de l’avancement Limitation de l’impact du chemin critique Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Mode de travail Réunions Planning Conclusion
Réunions tous ensemble une fois par semaine Réunion avec le tuteur de moins en moins fréquente durant le développement Avancement Problèmes rencontrés Solutions réalisables Compte-rendu disponible sur notre SVN Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Mode de travail Réunions Planning Conclusion
Planning avec MS-Project Deux plannings différents Réunions Planning avec MS-Project Deux plannings différents Prise de retard de l’équipe Wiimote Peu de visibilité sur les possibilités d’avancement Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Mode de travail Réunions Planning Conclusion
Point a améliorer : détection d’un point 3D, lissage Conclusion Projet très formateur Techniquement Gestion de projet Difficultés Prise de retard Beaucoup d’inconnues Point a améliorer : détection d’un point 3D, lissage Promotion des travaux du DGEI Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion
Des questins ?¿ Conception Scène 3D Contrôleur Point 3D Stéréoscopie Introduction Conception Scène 3D Contrôleur Point 3D Stéréoscopie Dessin Gestion Conclusion Des questins ?¿