Cahier des Charges : Réalité Virtuelle-Augmenté Description du projet de réalité virtuelle - Ensimag 3A MMIS-IRVM. Peythieux Laura Janvier Adrien Siegel Edouard Champeau Julien Grenoble INP - Ensimag 2010-2011 1
Table des matières 1 Introduction et titre du projet : 3 2 Objectifs du projets : 4 2.1 Objectifs généraux :....................... 4 2.2 Restrictions et fonctionnement attendu de l application :... 4 2.3 Les must :........................... 4 2.4 Les should :........................... 5 2.5 Les may :............................ 5 3 Moyens mis en oeuvre : 6 3.1 Contexte OpenGL :....................... 6 3.2 Musique et rythme :....................... 6 3.3 Affichage de l environnement :.................. 6 3.4 Détection du joueur, de l instrument, des actions du joueur : 6 3.4.1 Joueur........................... 6 3.4.2 instruments ustensiles.................. 7 3.4.3 Actions.......................... 7 3.5 Matériel demandé :........................ 7 4 Planning prévisionnel : 8 2
1 Introduction et titre du projet : Dans le cadre du projet de réalité virtuelle de 3ème année, nous allons être amené à développer un système de réalité virtuelle ou réalité augmenté utilisant un certain nombre d outils mis à notre disposition tel que des lunettes semi-transparentes ou encore des bras à retour de force afin de permettre à l utilisateur d être immergé dans l application. Une idée de programme immersif qui nous est apparue, est très orienté jeu vidéo puisque c est l un des domaines d application qui peut offrir un très grand nombre de possibilités pour une expérience de réalité virtuelle. Il s agit d un jeu similaire à un Guitare Héro ou un Rock Band mais avec les touches qui viendraient non pas en ligne droite, mais de plusieurs directions de l espace. Ce projet serait en quelque sorte un guitare héro augmenté. 3
2 Objectifs du projets : 2.1 Objectifs généraux : Le but du projet est donc de nous faire prendre en main et expérimenter les différents moyens existant pour réaliser une application de réalité virtuelle, afin de mieux cerner leur utilité, la facon de les utiliser, et la difficulté de leur mise en oeuvre. Comme nous l avons dit, le projet serait donc un guitar héro augmenté, où l utilisateur serait plongé dans un univers musical avec une succession de touches apparaissant de différentes directions de l espace et se dirigeant toutes vers une zone précise (et déterminée par avance) de l espace qui correspondrait à la table de jeu. 2.2 Restrictions et fonctionnement attendu de l application : Après analyse du problème, il semble plus judiscieux d orienter le jeu sur un instrument que l on regarde en jouant et plus généralement un instrument que l on a en face de soit comme un piano ou une batterie. En effet, l un des problèmes que pourrait poser une guitare serait un problème de gestion des occlusions des objets alentours ou encore du corps du joueur. Nous nous limiterons donc à un élément baterie virtuelle dont la création sera détaillé dans la section moyens mis en oeuvre (ou a un piano virtuel ). Le personnage joueur sera donc immergé dans un univers semi-virtuel où il vera toujours son environnement réel, mais plutôt que de jouer sur sa télé, une table en face de lui servira de plateau de jeu représentant son instrument. Lorsque la partie démarre, le joueur voit sa table devenir une batterie augmenté qui se superpose à son environnement réel. Puis quand la musique démarre, sur le même principe qu un guitar héro, des touches colorées vont apparaitre les unes à la suite des autres et se diriger vers la touche correspondante, sauf que le lieu d apparition de ces dernières peut se situer sur tout l espace au dessus de la table. Ensuite le jeu en lui même consiste à appuyer sur la touche au moment ou la case colorée lui arrive dessus. Pour plus d immersion que les boutons d une manette ou les touches d un clavier, se sera les doigts du joueur (dans le cas piano ) ou alors des vraies baguettes (dans le cas batterie ) qui serviront pour marquer le moment où il faut appuyer sur la touche. 2.3 Les must : L application devra obligatoirement posséder : -Un contexte OpenGL gérant l environnement augmenté ajouté à la réalité. -Un repérage dans l espace du lieu ou sera positionné la baterie ou le piano 4
-Une gestion des événements importants du jeu comme l action sur un élément de l instrument. -un repérage dans l espace des moyens d interagir avec l application (doigts, baguettes... etc) 2.4 Les should : Les fonctions pouvant être ajouté au systéme et lui donnant de l intéret seraient : -Une gestion du son plus poussée avec par exemple un son qui se déplace avec les touches et semble suivre leur direction. -Un mode de sélection de difficulté de jeu. -Un choix de l instrument. 2.5 Les may : Certaines fonctionnalités pourraient être implémenté si le temps le permet et offriraient un plus à l application : -Un mode multijoueur où la gestion de 2 personnes a des positions de l espace différentes serait à réfléchir. 5
3 Moyens mis en oeuvre : 3.1 Contexte OpenGL : L univers virtuel qui va être mis en place pour immerger l utilisateur dans le jeu sera réalisé en OpenGL, et devra pouvoir gérer : -une scéne avec l affichage de ce qu elle contient. -Deux caméra qui verront ce que voient chacun des yeux. -Une classe qui affiche et dessine l instrument choisi. -Une classe qui gére les touches qui apparaissent (origine, destination, type de la touche, couleur, vitesse, chemin parcouru... ) -Une classe qui gére les animations lors de la réussite ou non de l action du joueur. -Une classe qui gére la musique. -Une classe qui lie la musique avec l apparition des touches. 3.2 Musique et rythme : La gestion de la musique et de l apparition des touches en fonction de la difficulté et du rythme peut être assez difficile et sera envisagée si nous avons le temps. Toutefois, sur le serveur Telesun de l Ensimag, figure un programme (s il existe encore) similaire à un guitare héro jouable au clavier (FoFTX) dont nous pensons pouvoir nous inspirer pour réaliser cette partie. 3.3 Affichage de l environnement : Une fois le contexte OpenGL en place, il va falloir afficher tout le coté graphique par dessus le monde réel. Dans un premier temps, nous allons utiliser des paterns posés sur une table pour qu une caméra puisse localiser l emplacement ou seront positionnés nos touches du piano ou de la batterie. Il nous faudra donc disposer d une webcam ou un caméra dont on connais la position. 3.4 Détection du joueur, de l instrument, des actions du joueur : 3.4.1 Joueur Le joueur va être immergé dans un environnement augmenté, il aura dont sur lui une paire de lunettes semi-transparentes. Après pour repérer sa position, plusieures options s offrent à nous : -une webcam associée aux lunettes pour toujours avoir une vision autour de nous, et qui permettra de detecter des paterns servant de repéres spaciaux. -un flock of bird associé aux lunettes pour connaitre leur position a tout moment et éviter le probléme d occlusion qui peuvent survenir avec les paterns. 6
3.4.2 instruments ustensiles Le joueur aura donc son instrument (piano ou baterie) et un ustensile pour activer les touches (doigts ou baguettes). Nous avons vu comment positionner l instrument dans la scène, mais pour l ustensile il reste plusieurs solutions : -des reflecteurs infrarouges positionnés aux bouts des doigts (ou des baguettes) avec une bar de Wii pour la localisation spatiale. (Ex : http ://johnnylee.net/projects/wii/ ) -des paterns posés sur les doigts ou les baguettes detectables par une caméra. 3.4.3 Actions Pour détecter une action, il est plus facile d utiliser le principe des capteurs IR qui permettent d avoir une apréciation de la distance au capteur et donc de définir une norme pour la validité d une action. 3.5 Matériel demandé : -Lunettes semi-transparentes -table blanche (sans le projecteur) -webcam -flock of bird -barre wii et reflecteurs infrarouges 7
4 Planning prévisionnel : 8