Projet : Spatial.IO

  • Bonjour à toutes et à tous !

Nous sommes deux étudiants en deuxième année de cycle préparatoire à Polytech Angers. C’est après de nombreuses heures de travail que nous sommes heureux de pouvoir vous présenter notre projet “Spatial.IO”, qui vise à aider l’intégration de personnes atteintes d’autisme dans de nouveaux habitats inclusifs. Spatial.IO est une plateforme de réalité virtuelle qui permet de créer des espaces partagés collaboratifs et d’interagir à plusieurs grâce à des avatars.

  • Pourquoi ce projet ?

Ce projet a été, en premier lieu, initié par une association qui a pour but d’aider l’inclusion sociale d’adultes atteints d’autisme, plus précisément, les résidents de l’IME (Institut Médico-Educatif) de “la Marzelle” (pas loin d’Angers, à Loire-Authion). L’idée préexistante était de créer un nouvel habitat social mais plus inclusif que les précédents, en effet bien que “la Marzelle” soit un lieu très agréable celui-ci ne permet pas une inclusion dans la société car c’est un lieu « vide », il y a très peu de passage hors saison estivale. L’idée de ce nouveau lieu de vie est de « mélanger » les personnes neurotypiques et les adultes atteints d’autisme afin de créer des interactions (avec des pièces communes par exemple). Voici quelques photos des espaces de vie prises lors de la visite de “La Marzelle”:

photos de la visite de “la Marzelle”

L’intérêt d’un habitat social est, tout d’abord, d’offrir un cadre de vie adapté aux personnes atteintes d’autisme, mais également d’éviter que celles-ci ne se retrouvent pas sans rien. Beaucoup, passé l’âge adulte, sont contraints de vivre en hôpital psychiatrique rendant leur inclusion dans la société très mauvaise voire inexistante.

  • Notre objectif

C’est dans le cadre de la création et des tests qu’est apparue l’idée de réaliser tous ces espaces en réalité virtuelle (à l’aide de casques VR, Virtual Reality). Notre rôle dans ce vaste projet fut donc de commencer à développer ces habitats en ligne, à l’aide du logiciel Spatial.IO, un logiciel qui permet d’organiser des réunions en ligne en VR et de créer des espaces d’interactions (pour vulgariser, c’est un Zoom ou Facetime en réalité virtuelle).

Notre réel objectif est donc la réalisation de ces habitats en réalité virtuelle, pour permettre dans le futur de réfléchir directement sur les lieux de vie des personnes atteintes d’autisme.

Plans des futures pièces de l’habitat inclusif

  • Le rôle de la réalité virtuelle dans le projet !

Pour l’instant, l’utilisation de la réalité virtuelle peut vous paraître inutile, mis à part découvrir un « jouet », la VR (Virtual Reality) permet de faire de nombreuses choses qui auraient pris beaucoup de temps en temps normal. Pour donner un exemple, beaucoup d’adaptations sont nécessaires dans une chambre de personnes atteintes d’autisme, que ce soit au niveau de la sonorité, de la luminosité, de la couleur, ou simplement de la sécurité de la chambre. Dans ce projet, comme dit précédemment, l’objectif est d’arriver à réaliser un habitat inclusif mélangeant personnes neurotypiques et personnes atteintes d’autisme, cela peut être très stressant pour certains résidents autistes, c’est pourquoi il faut que leur chambre soit un lieu qui leur semble sûr.

C’est dans cet objectif que la VR et Spatial.IO deviennent très utiles. En effet, il est possible de réaliser tous les changements en direct, une application possible de ce projet serait de faire venir des professionnels en charge du projet pour créer un échange sur les modifications à réaliser grâce à des outils en réalité virtuelle (post-it, dessin 3D, tableau blanc, etc.)

Menu de contrôle

Le logiciel Spatial.IO nous permet également d’intervenir directement sur les caractéristiques de la pièce, telle que sa taille, sa position, et bien d’autres encore.

  • La réalisation

Dans le cadre de la réalisation, nous travaillions en collaboration avec une école de Design de Nantes pour permettre, non seulement de finir ce projet dans les temps, mais également de pallier notre manque de connaissances sur certains sujets tels que, par exemple, la création de pièces 3D (nous épargnant un temps d’apprentissage conséquent)

Ce fut vraiment très intéressant, simplement par le fait de rencontrer de nouvelles personnes, mais également grâce aux échanges que nous avons eu avec eux qui ont été très enrichissants.

  • Bilan

Ce projet mélangeant plusieurs domaines tels que la réalité virtuelle, l’autisme et l’aménagement d’habitat inclusif a été très instructif pour nous. Il nous a permis de découvrir les casques VR (Virtual Reality) et de connaître les contraintes que peuvent provoquer un handicap dans la vie quotidienne. 

Lebon Elise et Mandoux Léo, Peip2 – 2022

Unity Polytech

Si vous aimez l’univers du jeu vidéo, ainsi que l’univers 3D et que vous souhaitez découvrir Polytech Angers, alors vous êtes tombé au bon endroit !

  • Introduction
  • Nous sommes trois étudiants en deuxième année de cycle préparatoire à Polytech Angers (FERRON Yves, PIERRE Enzo, DOYEN Maxime). Nous allons vous partager notre fabuleuse expérience notre projet de conception en seconde année ! Notre projet est inédit cette année, nous n’avions donc aucune trame de départ. Il consiste à réaliser une visite virtuelle de Polytech Angers afin que le joueur puisse se déplacer dans l’école à distance. Evidemment pour mener à bien ce projet, nous avons eu recours à des logiciels spécifiques : d’une part Unity et d’autre part Visual Studio.

    Quels sont ces logiciels ?

    Unity est un logiciel de conception 3D, on y trouve des centaines d’outils permettant de créer de multiples univers 2D ou 3D. C’est d’ailleurs avec ce logiciel que bon nombre de jeux vidéo sont réalisés. Quant à Visual Studio est un logiciel de programmation, dans notre cas il permet la création de script servant à effectuer des actions/mouvements liés à Unity (Par exemple l’ouverture d’une porte ou encore le passage d’un étage à l’autre). Avec l’utilisation de ces deux logiciels, nous avons pu créer Polytech Angers virtuellement.

  • Déroulement du projet

  • La modélisation 3D

    Dans un premier temps, il nous a fallu reconstruire la structure principale du bâtiment, pour ce faire nous avons repris les plans de Polytech Angers afin de copier au mieux l’école. Cela a commencé par les murs, puis les fenêtres et enfin les textures. Une fois fait, il nous a fallu remplir l’intérieur de ces murs par de la décoration. Les tables, chaises, claviers et écrans que nous avons créé, ont formé des bureaux. Nous avons placé ces derniers pour faire nos salles. Enfin, ne voulant pas rester enfermé, nous avons conçu un terrain représentant la rue adjacente.

    EvolutionBatiment


    Animation et Interaction

    Après avoir bien avancé la modélisation, nous sommes passés à l’animation du joueur et à l’interaction. Afin de déplacer le joueur nous avons utilisé Visual Studio avec du C# (langage de programmation), pour faciliter l’implémentation du joueur dans la scène nous utilisons le “character controller” qui est un composant préconfiguré sur Unity, ce qui facilite grandement les réactions qu’à le joueur face à des marches notamment. Voulant que la visite soit interactive, nous avons ajouté une animation sur les portes; pour ce faire nous utilisons des animations en plus d’un programme, toujours en C#, qui vont nous permettre d’avoir un mouvement fluide sur l’ouverture et la fermeture des portes.


    Menu

    Enfin, pour un rendu général plus propre nous avons pensé à créer un menu. Celui-ci permettra au joueur de comprendre comment se déplacer et interagir durant la visite, ainsi que de paramétrer les sensibilités de vitesses de rotation et de déplacement. En jeu, cela permet aussi de mettre la visite en pause; avant la création de ce menu le curseur continuait d’être traqué par le programme de rotation de la caméra du joueur même lorsque celui-ci ne le voulait pas, ce qui avait pour conséquence placer l’utilisateur dans une position assez peu confortable (caméra visant le sol ou le ciel par exemple).

  • Difficultés éprouvées
  • L’un des aspects les plus compliqués a été le changement d’étage dans le bâtiment. Pour des soucis d’optimisation nous avons opté pour que chaque étage constitue une scène différente (une scène peut être considérée comme un niveau dans un jeu vidéo), l’école ayant plusieurs escaliers il est possible d’apparaître à plusieurs endroits différents. Cependant lorsque Unity charge une nouvelle scène (le prochain étage en l’occurrence), il supprime toutes données de l’étage précédent, ce qui a pour conséquence que l’on ne sait plus quel escalier a pris le joueur.
    Le second souci, plus handicapant, est le nombre d’images par seconde (processus agissant sur la fluidité de l’image). En effet pour chaque étage nous avons modélisé toutes les salles qui le composent ce qui a eu pour conséquences de rajouter de nombreux objets. Tous ces objets demandent beaucoup de ressources à l’ordinateur, ce qui a créé des moments où l’ordinateur ne supportait pas le nombre trop important d’objets à afficher.

  • Conclusion
  • Nous avons pris un réel plaisir à mener à bien ce projet, malgré le nombre conséquent d’heures de travail que nous avons dû fournir pour cela. Nous n’avons éprouvé aucune marque de lassitude bien au contraire, en voyant le projet se dessiner au fil des jours, nous avons été de plus en plus motivés à le mener à terme. Grâce à ce projet, nous avons donc appris à manipuler deux nouveaux logiciels, appris à travailler en équipe à se partager la charge de travail. Enfin, ce projet a été fructueux a constitué une source de développement personnel pour chacun d’entre nous.

    comparaison de notre travail avec le bâtiment réel :
    Comparaison Reel_Unity

    Merci d’avoir pris le temps de lire notre article.

    Projet Peip2 Vélo RV

    Bonjour à tous !

    Notre groupe d’étudiants en seconde année de classe préparatoire à Polytech Angers est composé de Victor DEBUIRE, Amaury MENAGE, Victor LODA et Titouan ROUSSEAU. Nous avons ensemble réalisé un parcours animé pour vélo en réalité virtuelle.

    Contexte : L’utilisation de la réalité virtuelle (VR en anglais) s’étant de plus en plus et touche de nombreux domaines (médical, industriel, tourisme, défense, génie civil, jeux vidéo, etc.). Dans ce projet, nous nous sommes penchés sur le rôle qu’elle peut jouer dans l’expérience de consommation. En effet, en présentant un lieu à visiter à travers un casque VR, on peut étudier les réactions d’un consommateur et en déduire par exemple son attractivité.

    Objectif : L’objectif initial était donc de créer numériquement un circuit à parcourir à vélo, constitué d’une série d’événements (passants, circulation, animaux, sons), puis de le faire tester à des clients potentiels, et d’étudier comment sont initiées leurs réactions comportementales et quelles sont les influences sur leurs sensations (surprise, joie, peur) pour pouvoir appréhender les émotions ressenties et les changements d’attitude.

    Outils : Pour construire l’environnement virtuel, nous avons utilisé Unity3D, un casque Oculus Quest 2 et nos animations ont été codées avec Visual Studio.

    Déroulé du projet : Tout d’abord, il a fallu que nous répartitions nos heures entre les différentes étapes du projet ;

    • Prise en main du logiciel Unity
    • Choix des animations à mettre dans notre parcours
    • Evolution en VR
    • Perfectionnement pour rendu final
    • Visualisation du contenu par les clients
    • Recueil des résultats

    Nous avons donc commencé par apprendre les bases d’Unity3D grâce à de la documentation et des TD fournis par M.RICHARD, notre encadrant de projet. D’abord l’aspect graphique, puis la physique des objets et enfin le codage.

    Test de la physique des matériaux sous Unity3D

    Test de la physique des matériaux sous Unity3D


    Exemple de code pour déplacer un objet avec la souris

    Exemple de code pour déplacer un objet avec la souris

    Ensuite, nous avons ensemble choisi l’animation que chacun allait faire. Titouan s’est occupé d’un groupe qui joue de la musique et de ses sons, Victor L du vélo et du parcours, Amaury des passants et des voitures, Victor D du parc et des oiseaux. Voici quelques exemples du résultat :

    Voici une des espèces d’oiseaux présente dans le parc de notre ville. En approchant à vélo, on peut entendre de plus en plus clairement leurs chants, et en voir quelques-uns voltiger près de nous. Pour cela, Victor D a utilisé des assets (des packs de contenu) contenant des oiseaux et des chants présents sur le site d’Unity, et a désigné certains espaces comme box colliders (espace défini comme infranchissable, durs, réels) dans la ville, pour que les oiseaux puissent s’y poser. Les mouvements effectués par les oiseaux suivent un algorithme.

    Oiseau qui chante et bat des ailes dans le parc

    Oiseau qui chante et bat des ailes dans le parc

    Pour ce qui est de l’animation des passants dans la ville, cela s’est fait en deux étapes. Tout d’abord, nous avons utilisé le site Mixamo, un site contenant une multitude d’animation possibles pour des projets unity ainsi que de nombreuses textures de personnages différentes. Amaury a donc téléchargé depuis ce site des animations de personnages qui marchent afin de rendre la ville vivante. La deuxième étape était de définir le trajet de ces passants. Pour cela, nous avons utilisé le NavMesh : une fonctionnalité du logiciel Unity qui permet grâce à un algorithme de définir automatiquement les zones où les personnages choisis (appelés NavMesh agents) peuvent se déplacer librement et les zones qui représentent un obstacle physique (mur, trou, …). Pour cette étape, il y a eu d’abord une phase de test sur un projet Unity à part pour être à l’aise avec le NavMesh, puis la retranscription sur la ville finale.

    Test de mouvements de passants

    Test de mouvements de passants

    Lors du brainstorming concernant les stimuli que nous souhaitions intégrer TiTouan a eu l’idée d’ajouter un groupe de musique. L’idée étant de jouer sur le volume et le panning du son afin de créer une sensation de son en 3 dimensions : plus l’utilisateur se rapproche du groupe de musique plus le volume est fort, et selon la position de celui-ci le son est orienté plus à droite ou à gauche.

    Afin d’accentuer le réalisme, le son de la guitare électrique émane directement de l’amplificateur et le son de la batterie directement d’elle-même. Titouan a créé des audios sources qu’il a paramétrées de telle sorte à ce que selon la position de la caméra l’audio soit réaliste : l’effet doppler entre en jeu et les sons paraissent plus aigus à distance ; de plus au fur et à mesure que la caméra approche le volume des sons augmente progressivement.

    Les personnages et animations qui ont été utilisés proviennent du site Mixamo d’Adobe, et les objets eux sont libres de droits et proviennent du site Sketchfab. Les personnages jouent en boucle leurs animations dès que la simulation est lancée, pour cela un animator a été créé pour chaque personnage ; Titouan a assigné à chacun l’animation correspondante et cochée la case loop. Il en est de même pour la musique, la case loop est cochée dans les paramètres des audios sources : elles jouent dès que la simulation est lancée et sont donc synchronisées ensembles.

    Explications - Titouan

    Représentation 3D de la zone du son

    Explications - Titouan_2

    Algorithme dirigeant le son

    Afin de reconstituer une balade à vélo dans notre ville virtuel, Victor L a recherché dans le store Unity une modélisation 3D d’un vélo. Une fois le vélo implémenté dans la ville, la caméra a été modifiée pour lier la vue de l’utilisateur au vélo. De plus, la caméra a été rendue orientable à 360 degrés, pour suivre les mouvements de tête de l’utilisateur à l’aide du casque VR.

    Explications - VictorL

    Vue du vélo

    Puis est venu le moment de tester la VR. Comme pour Unity, il fallait avant tout comprendre son fonctionnement, pour ensuite incorporer le casque et l’environnement VR à notre parcours. Nous avons donc essayé certains tutoriels de déplacement et de visuel, malheureusement nos ordinateurs n’étaient pas assez puissants pour supporter notre projet et il existait des problèmes de compatibilité entre Windows et le casque mis à notre disposition. Par manque de matériel adapté, il nous a fallu oublier cet aspect du projet.

    Finalement, nous avons pris la décision de nous concentrer sur l’aspect propre du projet pour rendre quelque chose de visuellement attractif et qu’il soit possible d’explorer en VR éventuellement plus tard si possible. Nous avons donc changé de ville pour une beaucoup plus grande, et chacun à perfectionné ce qu’il avait déjà réalisé.

    Voici quelques images du rendu final du projet :

    Ville à visiter à travers notre parcours

    Ville à visiter à travers notre parcours

    À l’aide de plusieurs modèles de villes, de route et d’objets, Victor D a recréer entièrement une partie de quartier, où il a notamment placé le parc. Pour cela, il a repris des parties déjà existantes et les a replacés à un endroit avec peu d’activité dans la ville. Le parc a été implanté au milieu de ce nouveau quartier et Victor D a raccourci les trottoirs pour que l’on voie mieux la terre, ce qui rend le tout plus vivant et plus réaliste.

    Partie du quartier ajouté à la ville d'origine

    Partie du quartier ajouté à la ville d’origine

    Une fois le parc placé et la ville finalisée, nous avons pu placer les personnages. Pour cela, nous avons choisi différentes animations et différents personnages sur le site Mixamo. Une partie des piétons sont fixes et répètent leur animation en boucle (les personnages faisant du sport dans le parc), les autres en revanche sont mobiles et étaient donc plus compliqués à placer. En effet, Amaury a dû suivre un tutoriel pour créer le script permettant de faire marcher les personnages dans la rue. Nous avons donc fait en sorte que les personnages avancent tout droit en continu et que lorsqu’ils rencontrent un obstacle, ils fassent demi-tour.
    Pour que les personnages (maintenant définis comme navmesh agent) puissent détecter les zones autorisées et les obstacles, nous avons utilisé le navmesh. Toute la route et les trottoirs sont des zones autorisées, le reste des éléments de la ville sont des obstacles.

    Définition de l'espace où les personnages peuvent se déplacer

    Définition de l’espace où les personnages peuvent se déplacer

    Dans un souci d’amélioration des détails et afin d’accentuer le réalisme Titouan a tenu a différencié les paramètres des audios sources de la guitare et de la batterie : la portée du son émanant de la batterie a été augmentée, car ce sont des sons secs et graves qui se propagent à 360° là où le son de la guitare est seulement propagé depuis l’amplificateur.

    De plus, Titouan a décidé de composer lui-même la musique jouée par le groupe. Cela a permis d’ajuster la reverb afin de rendre le rendu encore plus réaliste étant donné que le groupe joue dans une rue encerclée d’immeuble où la réverbération des sons doit être importante.

    Explications - Titouan_3

    Vue de la zone son dans le quartier

    Explications - Titouan_4

    Orchestre

    Pour créer l’itinéraire du vélo à travers la ville, nous avions plusieurs options : utiliser les box colliders, créer un itinéraire scripter avec des coordonnées, ou utiliser un nouvel asset appelé “Path Creator”, un créateur d’itinéraire pour les objets. Après avoir étudié et testé les trois options, Victor L a choisi le Path Creator. L’outil Path Creator nous permet de créer une ligne en 2 ou 3 dimensions dans Unity. Une fois cette ligne créée, nous pouvons utiliser un script pour déplacer des objets le long de cette ligne. Victor L a donc lié le vélo au chemin et a codé un script pour déplacer le vélo dessus. En gardant à l’esprit que le script devra plus tard être adapté à la pédale d’un vélo.

    Explications - VictorL_2

    Vue d’ensemble du parcours vélo

    Conclusion : Dans l’ensemble, nous sommes très contents de ce que nous avons réussi à réaliser sous Unity3D. Nos connaissances dans le domaine de la programmation et de la Réalité Virtuelle se sont grandement élargies, et tant l’aspect créatif que scientifique ou technique ont beaucoup plus à chacun de nous. Certes, les complications liées au COVID et au travail à distance ne nous ont pas permis de concrétiser nos objectifs jusqu’au bout, mais cela ne nous a pas empêchés de réaliser beaucoup de choses. Notre groupe tient finalement à remercier M.RICHARD et M.LEVEAU pour leur participation.

    Virtual Shopping

    Bonjour à tous et toutes !

    Nous sommes Maria et Solène, deux étudiantes en PeiP 2 A à Polytech Angers et nous allons vous présenter le projet de conception réalisé durant notre 4ième semestre d’études.

    Nous avons choisi de nous diriger vers la réalité virtuelle. Notre projet s’appelle Virtual Shopping : un magasin 3D dans lequel on peut faire ses courses. Ce projet s’inscrit dans une démarche d’amélioration de la prise en charge des personnes atteintes d’Alzheimer : ces dernières peuvent utiliser les technologies de réalité virtuelle pour réapprendre certains gestes du quotidien avant de les appliquer dans la vie réelle. Ce sujet d’étude a aussi pour but d’analyser les préférences des consommateurs : des personnes feront leurs courses dans ce magasin et devront choisir entre deux packagings différents. Ceci servirait à améliorer le visuel des produits.

    Avant de commencer le projet

    Pour commencer le projet, on nous a fourni un magasin complet déjà élaboré par une entreprise et acheté par l’école une trentaine d’euros. Nous n’avons pas eu besoin de le construire ni de faire les produits nous-même. Cependant il n’y avait dans ce magasin aucun programme pour faire une quelconque action : marcher, faire avancer le caddie, prendre des produits, etc.

    Nous avons d’abord dû nous familiariser avec le logiciel Unity 3D. Pour cela, nous avons pris les cours et TP de M. Richard afin d’apprendre comment gérer la lumière, les fonctionnalités que l’on peut appliquer aux objets ou encore intégrer des programmes dans le jeu.

    Allure du logiciel et du magasin :
    [Note : Au début du projet, il n’y avait pas les avatars ni de menu dans le jeu]
    Projet rogné

    Se déplacer

    La première étape du projet a été d’ajouter une fonctionnalité de déplacement. Pour cela, il faut mettre la caméra du jeu ( = nos yeux) en enfant du caddie. Ainsi, dès que le caddie avance ou tourne, nos yeux en font de même, ce qui donne la sensation que nous déplaçons le caddie. Enfin, il faut ajouter des lignes de code en C# sur le caddie pour permettre le déplacement avec les flèches du clavier.

    code1
    code2

    Un autre programme a aussi été ajouté sur la caméra afin de pouvoir tourner la tête en déplaçant le curseur de la souris.

    Prendre les produits

    Pour la suite du projet, nous nous sommes concentrées seulement sur le rayon avant milieu du magasin car il faut appliquer des scripts ( =programmes) sur chaque produit du magasin. Or il y en a pour des centaines voire des milliers de produits différents.

    Afin d’exploiter les produits dans une utilisation future, nous avons fait des scripts pour chaque produit différent donnant son prix. Puis nous avons réussi à programmer l’action d’attirer le produit à nous lorsque l’on clique droit dessus. Si le clic est prolongé, le produit tournera afin que nous puissions voir s’il correspond à celui mentionné sur la liste des courses. S’il correspond, il tombera dans le caddie dès que l’on lâchera le clic droit. S’il ne correspond pas, on peut le remettre à sa place en appuyant sur la touche P ( =Poser). Chaque produit ajouté dans le caddie fera augmenter le prix total des courses.

    Afficher la trajectoire

    Puisque le projet peut potentiellement servir à aider les personnes atteintes d’Alzheimer, il est judicieux de pouvoir enregistrer la trajectoire sur le logiciel afin de l’analyser à posteriori : la personne peut très bien avoir fini ses courses et pris les bons produits mais avoir eu des déplacements bien trop compliqués et superflus pour être jugée apte à faire ses courses seule de manière efficace.
    Nous avons décidé d’afficher le tracé des déplacements dans le magasin en appuyant sur la barre espace du clavier.
    Trajectoire rognée

    Afficher le menu

    Pour finaliser le projet, nous avons élaboré un menu avec le titre du projet et deux boutons.
    Un bouton pour commencer le jeu et un bouton pour le quitter. Ces boutons deviennent gris clair lorsque l’on passe le curseur dessus afin de signifier au joueur qu’il s’apprête à cliquer sur tel ou tel bouton. Ils deviennent blancs une fois cliqués en attendant le chargement de l’action qu’ils sont censés effectuer ( notamment le bouton play qui peut être assez long).
    Menu rogné

    Créer une liste des produits

    Comme dit précédemment, ce projet servira aussi à tester différents packagings. Pour optimiser le développement de cette démarche qui se fera plus tard, on nous a demandé de faire un tableau Excel listant tous les produits avec une photo, un prix cohérent et leur référence Unity.
    Pour optimiser la lecture de ce tableau, nous avons classé les produits selon leur type : Boissons et liquides, Bonbons et gâteaux, Conserves, Fruits légumes patates, Viande poisson oeufs, Surgelés, Produits laitiers, Hygiène, Jouets et jeux, Livres et enfin Divers. La liste des produits se présente comme ceci :
    excel

    Conclusion

    Ce projet nous a permis d’explorer le monde des jeux vidéo et de la réalité virtuelle. Nous avons découvert la programmation orientée objet. Nous avons pu exercer nos compétences de communication, de programmation et de compréhension d’un logiciel au premier abord pas si simple. Le résultat final est conforme avec le cahier des charges car il répond aux objectifs énoncés.

    Plusieurs améliorations sont cependant à prévoir.
    – Nous avons un problème avec l’affichage du menu. En effet notre jeu ne fonctionne pas avec le menu (lorsque l’on appuie sur le bouton Play, des erreurs se lancent), donc il serait possible de l’améliorer avec un menu qui fonctionne. (notre menu fonctionnait mais à cause d’une erreur que l’on n’a pas réussi à régler, il ne marche plus)
    -Il serait aussi intéressant de programmer un générateur de liste de courses aléatoire afin qu’aucune personne extérieure ne soit obligée de l’établir.
    – Afficher le prix total des aliments dans le caddie au cours de la partie serait un plus.

    Il faut également noter que les touches utilisées sur ordi devront être changées pour une utilisation sur manettes et casque de réalité virtuelle.

    Virtual Plantation

    Bonjour, nous sommes deux étudiantes en deuxième année à Polytech Angers. Lors de notre 4ème semestre, nous nous sommes intéressées à la réalité virtuelle. En effet, nous avons réalisé le projet Virtual Plantation avec l’aide de notre professeur M. Richard.

    Qu’est-ce que le projet Virtual Plantation ?

    Ce projet se réalise sur Unity3D et Visual Studio. Unity3D est un logiciel qui permet de créer des jeux en 2D et en 3D. Visual Studio sert à programmer les scripts que nous pouvons intégrer dans Unity3D. Ces outils de réalité virtuelle vont nous permettre de concevoir et développer une simulation où nous sommes en immersion dans un champ de tournesol pour identifier certaines pathologies. Ce projet peut contribuer au développement et à l’innovation dans le domaine de la biologie.


    unity-masterbrand-black

    Le but de ce projet est de simuler un champ de tournesol contenant des tournesols sains et des tournesols malades, afin de déraciner et dénombrer les tournesols malades. Cette simulation peut s’adapter à tous types de plantes.

  • Design de notre scène
  • La première étape de notre projet était la création de la scène. Nous voulions créer une scène qui se rapprochait au mieux de la réalité. Nous avions donc imaginé des montagnes, traversées par un cours d’eau et une petite ferme située en bas des montagnes.


    Capture2

    Pour commencer, nous avons créé des reliefs afin de créer des montagnes et des collines. Ensuite, nous avons créé une sorte de cours d’eau en y ajoutant de la végétation, comme des roseaux. Puis nous avons créé un coin habitations, c’est-à-dire que nous avons téléchargé, dans l’assetStore d’Unity3D, des préfabs qui sont des éléments que nous plaçons dans la scène. Nous avons donc inséré un moulin à vent, deux granges, un puit, un pont, un château d’eau et un tracteur.
    habitation

    Pour finir le design de la scène, nous avons ajouté des arbres, de la pelouse et des buissons.
    Cette partie graphique est intéressante, on conçoit la scène comme on le souhaite. Les graphismes ont un rôle très important dans les jeux vidéo.

  • Réalisation de notre champ de tournesol
  • Bien sûr, l’élément principal de notre projet est le champ de tournesols !
    Pour faire apparaître un champ de tournesol, nous avons dû insérer un script. Nos scripts étaient programmés en langage C, nous pouvions les modifier à l’aide de VisualStudio.

    Dans le script, nous choisissons l’emplacement du champs, l’orientation ainsi que le nombre de tournesols malades et sains à placer. Nous devions respecter un pourcentage de 20 % de tournesols malades. Ensuite, en mode play, nous pouvions observer cela :

    Capture

    Mais rappelons que le but du projet était également de pouvoir les déraciner et de les dénombrer !

    Pour cela, nous avons créé un script permettant de déraciner et de compter le nombre de tournesols déracinés. Pour déraciner les tournesols, il suffit d’ajouter dans le script, une force selon l’axe y assez grande qui va permettre de projeter le tournesol.

    déracine

  • Ajout de champs de maïs et de marijuana et création d’un menu
  • Après avoir répondu aux attentes du projet, nous avions encore du temps. Nous avons donc pu créer deux autres champs : un champ de maïs et un champ de marijuana. Tous deux ont été créés selon le même principe que le champ de tournesol. C’est-à-dire que ces champs comprennent des plantes saines et des plantes malades. Nous avons également fait en sorte de pouvoir déraciner ces plantes ainsi que les compter.
    3champ

    Pour finir, nous avons pu améliorer notre scène avec certains détails, nous avons ajouté une musique de fond ainsi qu’un bip à chaque fois qu’une plante est déracinée.

    Nous avons également créé un menu et un bouton permettant de modifier le volume de la musique.

    menu

    Conclusion :

    Ce projet nous a fait découvrir, à toutes les deux, des nouveaux logiciels. Nous avons appris à manier Unity3D. Malgré plusieurs difficultés rencontrées, nous avons pu répondre aux attentes du projet. De plus, nous avons pu nous initier à la création de jeu vidéo.

    Ce projet a été très enrichissant et bénéfique pour nous, d’une part le coté créatif mais aussi les programmes qui se cachent derrière tous ces graphiques.

    Virtual Mimic !

    Bonjour à tous !

    Dans le cadre de notre classe préparatoire intégrée à Polytech Angers, nous avons eu l’opportunité de réaliser des projets de groupe. Au résultat des choix, notre binôme s’est constitué de Clotilde HAS et Noémie PAPIN.

    L’une étant intéressée par la simulation, l’acquisition de compétences sur un nouveau logiciel; l’autre portant de l’intérêt à comment l’ingénierie intervient dans le monde de la santé : il s’agit d’une collaboration poly’valente.

    N’oubliez pas : [M.De Montaigne]

    “La vie n’est que mouvement”

    Objectif et Présentation :

    L’objectif de « Virtual Mimic » est de nous initier au développement d’une plateforme innovante, destinée à la rééducation de patients cérébrolésés. Ce sont des victimes de lésions cérébrales consécutives à un traumatisme crânien grave, un accident vasculaire cérébral ou d’une autre origine (infectieuses, tumorales, …).
    Notre projet s’inscrit donc dans le milieu médical et plus particulièrement dans l’utilisation des technologies interactives et ludiques appliquées à la santé. L’approche proposée repose sur la reproduction de gestes statiques et/ou dynamiques par le patient.
    Pour ce faire, il est proposé d’utiliser des outils et techniques de réalité virtuelle. Notre travail consistait à développer une application, sur le logiciel Unity 3D à l’aide du langage C# (C sharp).

    Ce projet comportait majoritairement deux grands points. Devant respecter l’utilisation d’avatars animés, provenant du site Mixamo, et les adapter en fonction des besoins des patients, notre travail a vu naître deux sous-projets orientés vers deux types de population : un pour les adultes, l’autre pour les enfants.

    Illustration du projet :

    • Menus & Univers :
    • Voici un rendu de nos menus respectifs. Le but étant de nous plonger directement dans l’univers:

      Capture du menu de Clotilde

      Capture du menu de Clotilde

      Capture du menu de Noémie

      Capture du menu de Noémie

      Remarque : Malgré tout, l’environnement de la simulation est identique sur nos deux projets (forêt visible en arrière plan du menu de Noémie). Celui-ci était adaptable à nos besoins et était gratuit 🙂

      Chaque bouton est utilisable et redirige vers la scène de notre choix. Chaque scène correspond aux différents modes proposés.

    • Modes disponibles
    • Les animations pour chaque personnage sont représentées par les blocs gris ci-dessous. Lorsqu’une animation est jouée, elle passe en orange. C’est par l’appui sur une touche (ou un bouton sur l’écran) qu’on passe à l’animation de notre choix. On peut les enchaîner indéfiniment et y revenir comme on veut.

      Animator sous Unity 3D

      Capture de l’Animator

      Il existe un animator controller (ensemble d’animations par blocs) par mode proposé. Clotilde a orchestré les deux modes imposés (gestes Statiques et Dynamiques) sur son application tandis que Noémie en a ajouté un troisième pour initier le patient à quelques pas de danse en bonus.

    • Scripting
    • Le scripting C# (qui permet de gérer des fonctionnalités logiciels avec du code) fut une découverte pour nous, il nous était parfois difficile de manipuler correctement les différentes fonctions. A force de patience et de nombreuses recherches à naviguer entre le net et les cours à disposition, nous avons réussi à créer nos scripts en C# par nous-même.

      Voici un exemple d’un script en C#, qui nous a permis de mettre en place un chronomètre avec une barre de décompte.

      C# pour le timer

      C# pour le timer

    • Exécutables finaux
    • Vous trouverez ci-dessous le rendu vidéo de nos exécutables. Bon visionnage !

      Application de Clotilde
      Application de Noémie

    Distanciel / Autonomie :

    Le projet a été un exemple pour la mise à l’épreuve de notre capacité à être autonomes. Le distanciel fut une contrainte majeure durant nos créneaux de projet. En effet, la communication rendue difficile, la mise en commun n’a pas toujours été évidente. À regret de ces mêmes conditions, nous n’avons pas pu expérimenter nos propres projets avec les casques de réalité virtuelle 🙁

    Conclusion :

    Puisque notre cahier des charges n’était pas stricte, nous avons ajouté des contraintes afin de compléter le projet pour l’améliorer et le rendre plus attractif.

    Nous pensons qu’avec un meilleur encadrement, rendu impossible dû aux conditions sanitaires actuelles, nous aurions pu être encore plus intransigeantes avec nous-mêmes et aller plus loin.

    ***

    Ce projet très concret nous a permis de mettre un pied dans cycle ingénieur qui nous attend individuellement ces trois prochaines années (Noémie : SAGI / Clotilde : Génie Biomédical).

    Merci pour votre lecture !

    Nous remercions également M. Paul RICHARD pour son encadrement.

    Virtual City

    Bonjour/Bonsoir à tous !

    Nous sommes trois étudiants en deuxième année du cycle préparatoire de Polytech Angers. Dans le cadre de nos études futures, nous avons choisi ce projet pour travailler sur la réalité virtuelle afin d’améliorer nos compétences.

    Dirigé par Monsieur Richard, “Virtual City”, développée sous Unity3D, a avant toute chose un but médical. Cet environnement virtuel sera utilisé par des personnes atteintes de troubles de la mémoire, le patient sera plongé dans la ville et devra suivre un trajet prédéfini où seront placés différents événements.

    A la fin de la séance, nous recueillerons ce que le patient a pu retenir de cette expérience, il devra ainsi faire travailler sa mémoire.
    Cahier des charges :

    • Installation du périphérique Oculus Rift.
    • Développer la ville en la rendant interactive et la plus réelle possible.

    • Se déplacer dans la ville via deux modes de transport différents.

    • Réalisation d’un menu pour faciliter le choix entre les différentes scènes.

    Unity 3D :

    Unity 3D est un logiciel, ou plus précisément, un moteur de jeu multi-plateforme en 2D ou 3D (console, smartphone, PC) développé par Unity Technologies. Cet outil permet de créer des jeux que cela soit pour les débutants ou pour les plus expérimentés avec plusieurs langages de programmation possibles : C++,C# et JavaScript. Ce logiciel gratuit (avec des fonctionnalités professionnels payantes) est aujourd’hui utilisé pour la création de minimum 50% des jeux vidéos.

    Oculus Rift :

    L’Oculus Rift est un casque de réalité virtuelle conçu par l’entreprise Oculus VR qui immerge totalement l’utilisateur dans des mondes virtuels. Projet lancé en 2012, la mise sur le marché mondial du produit se fait qu’en 2016. Une fois l’Oculus équipé, l’utilisateur pourra observer deux écrans (les mêmes)  pour chaque oeil, c’est ce système qui permet d’être immergé totalement. C’est grâce à un système de capteurs posé dans la pièce que le casque et les manettes se repèrent dans l’espace et c’est ainsi que nos mouvements se traduisent dans le jeu.

    Réalisation du projet :

    1. Redesign complet de la ville et Création d’un menu

    En premier lieu après avoir pris en main le logiciel, nous voulions finaliser l’apparence de la ville. Pour se faire nous avons ajouté de la verdure avec la création d’un parc en plein milieu de la ville. Nous avons refait le ciel et ajouter différentes météos comme un mode pluie ou un mode nuit par exemple. En parallèle, nous avons créé un menu pour nous permettre de switcher entre les différents modes de jeu, gérer l’audio du jeu,etc.

    Menu principal du jeu

    Menu principal du jeu

    2.  Animation de la ville et ajout d’événements

    Pour animer notre ville, nous avons organisé un trafic routier géré par un système de feux de signalisation. Nous avons ajouté des piétons qui circulent sur les trottoirs, des gens qui discutent. Au niveau du parc, nous avons fait un “jeu” qui consiste à ramasser un déchet pour le jeter dans une poubelle. Un acte citoyen ça fait pas de mal !

    Vue de la ville à travers le parc

    Vue de la ville à travers le parc

    3. Installation du périphérique Oculus

    C’est le moment déterminant de notre projet. On veut donner une expérience intéressante à ceux qui joueront à notre simulation. Nous avons aussi optimisé les déplacements de notre personnage en voiture ou à pied, le fait de pouvoir attraper des objets, etc.

    4. Dernières modifications

    Les dernières heures de travail, on s’est consacré aux détails comme remettre à échelle les objets, les personnages. Après plusieurs phases de test, nous avons corrigé certains bugs.

     

    Conclusion

    Ce projet a été très enrichissant pour nous, même si nous avons pas fait les mêmes types de travaux. Chacun a pu développer ses capacités et apprendre que cela soit humainement ou sur Unity. La répartition des tâches a été une clé pour bien finaliser notre projet dans les temps.

     

    EVA : Extra – Vehicular Activity

    Bonjour à tous !

    Notre groupe, composé de Victor Fourgeoux, Quentin Dubois et Mathieu Laisné, tous étudiants en PEiP-2, a réalisé une station spatiale en réalité virtuelle afin d’expérimenter l’Activité Extra-Véhiculaire (ou Extra-Vehicular Activity en anglais).

    Pour ce faire, nous avons utilisé le moteur de jeu Unity3D ainsi que le langage de programmation C#.

      OBJECTIFS

    Notre objectif principal était de réaliser une station spatiale, semblable à l’ISS, afin de pouvoir la visiter à l’intérieur, comme à l’extérieur. Au fil du projet, nous nous sommes rajoutés de nouveaux objectifs afin de rendre le projet plus interactif et immersif.

    Nous devions aussi :

  • Faire un menu au démarrage du jeu permettant d’évoluer à l’intérieur ou l’extérieur.
  • Permettre le déplacement du joueur en extérieur en s’agrippant à des poignée.
  • Permettre la réparation de pièce cassée à l’extérieur de la station.
  • Permettre le déplacement entre l’extérieur et l’intérieur de la station.
  • Donner vie à l’intérieur de la station.

    Vue Extérieure de la station

    Vue Extérieure de la station

      CRÉATION DE L’INTÉRIEUR

    Afin de créer l’intérieur de la station, nous avons créer une première scène. Une scène, dans Unity, est semblable à un niveau dans un jeu-vidéo; on peut y placer différents objets, programme, personnages, etc.
    Pour former l’intérieur, nous nous sommes basé sur un plan que nous avons au préalable réalisé sur papier. Ensuite, en utilisant des “packages” nous avons assemblé des modules. Les packages sont des ressources (modèle 3D, 2D, ou programmes) réalisés et mis à disposition par les utilisateurs du moteur. Le package que nous avons utilisé nous a été fournit par Paul Richard.

    Nouveau couloir

    Nouveau Couloir

    Après cela, viens l’agencement de l’intérieur et la création de patrouille dans la station. Nous avons utilisé des personnages pré-fait (Astrella et Adam) qui sont disponibles dans l’Asset Store d’Unity. Nous y avons ensuite ajouté des programmes les dictant une routine à réaliser.

    Hall Intérieur

    Hall Intérieur avec les personnages


    Ensuite nous avons du rajouter la réalité virtuelle, qui est gérée par un package fournit par Oculus, afin de permettre l’intégration du casque Oculus Rift. Ce package est suffisant pour gérer les mouvements en présence de gravité et permet aussi d’attraper les objets que l’on désigne “grabbable”.

    Enfin, nous avons créé un script en C# permettant de sortir de la station en rentrant en contact avec une combinaison. Celà se traduisait par un changement entre la scène “Intérieur” et “Extérieur”.

    Combinaison pour sortir

    Combinaison pour sortir

      CRÉATION DE L’EXTÉRIEUR

    Extérieur de la station

    Extérieur de la station


    Pour créer l’extérieur de la station nous avons créé une seconde scène. Dans cette dernière nous avons importé des packages fourni contenant des modules de station. Nous avons ensuite dessiné un plan sur papier pour choisir la forme que prendrait notre station. Ensuite, nous avons dû placer tout les modules disponibles en suivant notre plan pour créé notre vaisseau.

    Ensuite, pour permettre le mouvement sans gravité par le biais de jets packs, nous avons dû modifier les programmes fournis par Oculus. Nous y avons aussi ajouté la gestion des réservoirs d’oxygène ainsi que de carburant. De cette manière, l’oxygène diminue en fonction du temps jusqu’à un seuil critique, et le carburant diminue quand le joueur utilise les joysticks. Cette perte est visualisable grâce à deux barres, semblables aux barres de vie dans les jeux-vidéos.

    Barres d'oxygène (en haut) et de carburant (en bas)

    Barres d’oxygène (en haut) et de carburant (en bas)

    Finalement, nous avons créé un script permettant de s’accrocher à des poignées afin de se tirer le long de la station, ainsi que plusieurs script permettant la réparation de pièces ou leurs remplacement dans l’espace après avoir appuyer sur une touche.

    Une partie du script gérant les poignées

    Script appliqué aux poignées, permettant leur utilisation

    Concernant l’EVA, nous avons permis au joueur de pouvoir remplacer des panneaux solaires cassés autour de la station. Pour les réparer le joueur doit s’en approcher, puis une instruction s’affiche et indique au joueur de rester appuyer sur un bouton des Controllers. Et après 2 secondes, le panneau se répare.

      GESTION DES COLLISIONS

    Enfin, nous avons dû gérér les collisions. Les collisions sont une partie très importante dans la conception de jeux-vidéos. En effets, des collisions mal gérées peuvent créer des bugs, notamment le joueur traversant les objets et le sol.
    Normalement, lors de la création de modèles 3D avec des logiciels tel que 3ds Max, un Mesh est créé. Ce mesh, qui est donc un ensemble de triangles dans l’espace, permet ensuite de faire un collider. Le collider permet donc la collision soit en extérieur (en convexe) soit en intérieur, comme avec des couloirs.

    Collider d'un Module

    Collider d’un Module

      MENUS ET CHARGEMENT

    Pour finir, nous avons relié l’intérieur et l’extérieur avec un menu permettant de choisir si nous voulons lancer le jeu dans l’intérieur, dans l’extérieur ou quitter.

    Menu au lancement

    Menu au lancement


    Ceci consistait à créer une nouvelle scène de menu en 2D, qui permettait au joueur de cliquer avec sa souris sur les 3 options qui lui était proposé. Après avoir choisit l’espace où il allait évoluer, le joueur n’as plus qu’à enfiler le casque Oculus Rift et la simulation commence !

    photo eva

      CONCLUSION

    Notre résultat final est assez conforme à nos attentes et à nos buts. Malgré quelques “bugs” autour du déplacement grâce aux poignées, tout les mouvements en 0G sont semblables à la réalité. L’implémentation de l’Oculus Rift est aussi réussie, ainsi que les différents changements d’environnement (menu, intérieur & extérieur). Nous remercions M.RICHARD pour son aide apportée à notre projet.

    Projet ISTIA-VR

      Bonjour à tous !

      Dans le cadre des projets de conception de deuxième année du cycle préparatoire de l’ISTIA, et intéressé par la réalité virtuelle, nous avons décidé de nous lancer dans ce projet !

      Casque de réalité virtuelle

      Casque de réalité virtuelle

    • Objectif du projet
    • Le principe de cette visite virtuelle était initialement de pouvoir visiter l’ISTIA et de montrer les différents effets des dégradations du batiment à court, moyen et long terme par de petites animations du décor. Ce projet avait pour but d’être utilisé dans les cours de MIS de monsieur Bigaud.

    • La maquette, créée avec Blender
    • Nous avons commencé par reproduire le rez-de-chaussée de l’ISTIA en s’aidant des plans de l’école, récupérés auprès de l’accueil.

      Plan rez-de-chaussée ISTIA

      Plan rez-de-chaussée ISTIA

      Quelques mesures de hauteurs de plafonds, de fenêtres, de portes à l’aide d’un instrument de mesure laser nous ont permis d’obtenir une maquette la plus réaliste possible.

      Appareil de mesure laser

      Appareil de mesure laser

      Nous n’avons pas eu le temps de faire les autres étages de l’ISTIA, cela nous aurait demandé énormément plus de temps ! Voici le gabarit final de notre maquette.

      maquette rez-de-chaussée ISTIA

      maquette rez-de-chaussée ISTIA

      Pour la réalisation de la maquette nous avons procédé selon la méthode suivante.


      Création d’un cube et extrusion

      extrusion d'un cube

      extrusion d’un cube

      Pour illustrer notre démarche voici une partie de la conception du rez-de-chaussée sous forme de vidéo timelapse


      Titre de la musique (libre de droit) : Leap of faith FREE ROYALTY MUSIC FREE ORCHESTRAL MUSIC

      Voici maintenant le rendu final avec quelques textures ajoutées
      Aperçu d'un rendu de l'entrée de l'école

      Aperçu d'un rendu de l'entrée de l'école

      Aperçus d’un rendu de l’entrée de l’école

    • Le personnage, créé avec Unity3D
    • Après avoir importé un personnage transparent (pour la vue en première personne dans le casque) nous avons commencé à travailler sur sa façon de se déplacer dans l’espace, c’est-à-dire en fonction de l’orientation de la personne dans l’espace.
      Nous avons commencé à concevoir un script en C# (langage lié à Unity3D) dans l’IDE Visual Studio 2017.

      Personnage transparent, avec une caméra liée à la boite de collision

      Personnage transparent, avec une caméra liée à la boite de collision

      Pour ce faire, nous avons du manipuler le gyroscope du téléphone, renvoyant un quaternion (vecteur de dimension 4 permettant de repérer les rotations dans l’espace).

      Angles d'Euler

      Angles d’Euler

      Grâce à des calculs d’angles d’Euler entre les différents axes de repère fixe en 4 dimensions et les axes d’orientation du téléphone, on peut décaler le repère lié au personnage et le faire se déplacer dans la direction voulue.

      La détection du toucher de l’écran se fait par ces deux petites lignes de code dans la boucle “Update” qui se répète à chaque nouvelle image générée lorsque le programme est lancé.

      Détection toucher écran

      Il ne reste plus qu’à ajouter la translation selon l’axe X du personnage et nous pouvons nous déplacer en face d’où l’on regarde en vrai !

      Exportation sur le téléphone

      Pour finir, nous avons du installer quelques kits (SDK et JDK). Après quelques changements de paramètres dans Unity3D, nous avons pu obtenir une vue adapté au casque de réalité virtuelle.
      Ces kits nous ont aussi permis de gérer l’exportation de tout notre projet sous forme de fichier .apk (fichier d’installation sous Androïd) pour ainsi tester et visiter l’ISTIA directement sur le téléphone. Voici le résultat final !

    • Remerciements
    • Merci à David BIGAUD et Thierry CAPELLE, nos professeurs référents pour ce projet.
      Merci à Paul RICHARD pour ces conseils sur Unity3D.

      Maxime ALLAIN | Maxime PETITJEAN | Projet EI2 (Année 2017-2018)

    Virtual City

    Matthieu MOREAU – Matthieu HIRON
    Encadré par Paul RICHARD

    Vue sur le parc

    Vue sur le parc

    Notre projet consistait à créer une ville virtuelle à l’aide d’un logiciel de jeu création de jeu : unity 3D. Le but était de créer un joueur suivant un parcours précis. Sur ce parcours, on trouve une ribambelle d’événements. Le joueur qui suit le parcours peut regarder où il veut à l’aide d’un casque de réalité virtuelle. A la fin du parcours, il doit se rappeler quels événements il a rencontré et leur ordre d’apparition. Cette activité est très utile pour les personnes atteintes de maladies entraînant une perte de mémoire aussi bien à court terme qu’à long terme. On pense notamment à la maladie d’Alzheimer par exemple.

    On y trouve même un aéroport !

    On y trouve même un aéroport !

    La conception de notre projet s’est effectuée en 3 grandes phases :

    DOCUMENTATION
    Dans un premier temps, nous avons eu une longue phase de documentation et de recherche sur l’utilisation du logiciel Unity que nous ne connaissions pas du tout. Nous avons notamment regardé de nombreux tutoriels pour découvrir aussi bien le fonctionnement général du logiciel que certaines fonctionnalités plus spécifiques. Nous avons également fait quelques recherches au cours de la conception du projet lorsque que nous avions besoin de fonctions particulières pour la programmation en C#.

    ETUDE
    Une fois que nous avions les bases du logiciel, nous savions ce qui était réalisable avec ce dernier. Nous avons pu établir un plan de la ville que nous voulions créée. Ce plan a toutefois été adapté au fil de la conception puisqu’il était parfois difficilement applicable en réalité. Ensuite, nous avons cherché sur “l’Asset Store” d’Unity des packs de bâtiments, véhicules, personnages…

    Représentation en couronnes de la ville que nous voulons créée

    Représentation en couronnes de la ville que nous voulons créée

    CONCEPTION
    La phase de conception s’est déroulée en 2 partie : une partie création de la ville et une partie programmation afin d’animer les véhicules, le parcours du joueur, les évènements… Cette phase a été plutôt intuitive, même pour la programmation en C#. Une fois cette phase finie, nous avons donc un joueur qui suivait un parcours à travers la ville et qui pouvait observer tout autour de lui. Nous allons aborder un peu plus en détail l’aspect du développement.

    Le centre ville

    Le centre ville

    La conception de la ville s’est effectuée grâce aux “assets” sur Unity. Certains sont gratuits mais plus la qualité augmente, plus les assets sont coûteux. Nous avons choisi de nous diriger vers des textures low-poly, des modèles 3d avec peu de polygones, car c’est plus simple à concevoir et assembler, ce qui nous facilite le travail étant donné que nos compétences étaient plutôt basiques au départ. Cela limite l’aspect réaliste du projet mais ce n’était pas un des objectifs premiers.
    Nous sommes partis d’un modèle de ville que nous avons obtenu d’un Asset et nous l’avons modifié et avons ajouté certains aspects pour la rendre plus réaliste et plus compatibles avec nos idées.

    Phase de développement sous Unity - On y voit les contours de la ville

    Phase de développement sous Unity. On peut remarquer les montagnes installées autour

    Pour finir, nous avons installé un “joueur” symbolisé par un point de vue fixé à un scooter. Nous avons choisi un scooter pour que le déplacement de notre joueur soit plus rapide et puisse ainsi découvrir plus de parties de notre ville. La programmation était plutôt intuitive et rapide à l’aide des différents scripts à notre disposition.

    Illustration du sytème de noeud, la technique pour programmer les déplacements du scooter

    Illustration du sytème de noeud, la technique pour programmer les déplacements du scooter

    Une fois le trajet du joueur définit, il restait à positionner les différents évènements comme une cabine téléphonique qui sonne, un chien qui aboie, sur le chemin et déclencher le dit-événement au passage du joueur.
    Par manque de temps, nous n’avons pas pu rendre notre jeu jouable au casque de réalité virtuelle. Il n’est jouable que sur pc mais nous avons pour objectif de continuer son développement afin de le rendre le plus efficace possible, le but ultime étant de pouvoir le tester avec des personnes malades.

    Voici le trajet du joueur en bonne qualité :

    Vous l’aurez compris, c’est un véritable “Serious Game” que nous avons eu l’occasion de développer. Remerciements à Monsieur Richard pour son aide précieuse qui nous a permis de réaliser ce projet.