Virtual House

Introduction :

Le réchauffement climatique est de plus en plus alarmant et d’après les scientifiques, nous sommes la dernière génération à pouvoir inverser cette tendance. Les émissions de CO2 sont trop importantes et entraînent la planète vers un réchauffement désastreux de +3°C. Cependant, il est encore possible d’inverser la tendance en transformant radicalement l’économie et en plafonnant ces émissions. Pour ce faire, il est important que chacun prenne conscience de son impact sur l’environnement, que l’on soit un professionnel ou un particulier.

Dans ce projet « Virtual House », nous avons souhaité limiter notre étude aux particuliers, afin que nos propositions soient les plus adaptées possibles, que les prises de conscience soient les plus importantes et que les changements soient effectifs. Notre objectif est donc de sensibiliser chaque particulier sur son comportement vis-à-vis de sa consommation d’énergie et du changement climatique actuel. Ainsi, nous nous sommes focalisés sur l’utilisation des équipements électroménagers et de leur impact, afin de montrer à l’utilisateur qu’il est possible de réduire son impact sur l’environnement par des gestes simples. Notre projet cherche à répondre à la problématique sous la forme d’une prise de conscience interactive et ludique, tout en restant instructif afin de permettre d’apprendre à mieux consommer.

Le projet :

1/ La conception de la maison

Une des premières réalisations du projet a été l’environnement de l’utilisateur et donc la maison. Le maquettage a permis d’obtenir :

Maquettage du RDC et de l’étage

Puis, à l’aide de nos premières compétences Unity et des « Préfabs » à notre disposition, nous avons pu créer et meubler la maison pour obtenir une première modélisation :

Extérieur de la maison et exemple d’une pièce de la maison

Nous avons pensé notre maison afin de refléter la réalité et rendre l’expérience plus immersive. Par la suite, nous avons ajouté nos éléments importants : les équipements interactifs.

Les éléments interactifs sont repérables par les cercles rouges

2/ L’utilisateur et ses mouvements : le déplacement et le champ de vision

Les équipements de la maison sont interactifs grâce à des scripts qui permettent à l’utilisateur d’interagir avec eux.

Le premier exemple d’interactivité est la maison elle-même. Cet équipement est interactif puisque l’utilisateur peut s’y déplacer. Le clavier permet les déplacements avant, arrière et latéraux, et la souris permet un mouvement de la tête et donc du champ de vision : vers le haut, le bas, la droite et la gauche.

La fonction Update permet le déplacement par le calcul des positions « curSpeedX » et « curSpeedY », ainsi que la direction choisie : « moveDirection ».

Un second exemple est le champ de vision de l’utilisateur. L’intérêt est de définir ce que « regarde » l’utilisateur afin d’interagir avec l’environnement. Nous avons décidé d’utiliser un raycast. Un raycast est un rayon qui permet de récupérer les informations relatives à chaque objet traversé par celui-ci.

Raycast

Dans l’exemple ci-contre, le raycast est représenté par le trait rouge (ici émis par la tête de notre utilisateur et représentant ses yeux) pointant dans la direction dans laquelle il regarde.

Ce rayon n’est pas visible par l’utilisateur.

Ainsi, le rayon traverse l’équipement (exemple un interrupteur) seulement si l’utilisateur regarde ce dernier. Une étiquette « Player » est définie pour l’utilisateur et permet d’interagir avec l’équipement uniquement lorsque le raycast rencontre un équipement ayant une étiquette « Interaction ».

Enfin, si l’utilisateur cesse de regarder l’interrupteur, il retrouve alors l’étiquette « Player1 ». Ainsi l’utilisateur peut interagir avec l’interrupteur uniquement s’il est dans la zone définie et qu’il regarde l’interrupteur.

Le code ci-dessous permet de transcrire cela :

Script de la création du raycast

3/ Les équipements interactifs

Un exemple d’interaction est la possibilité pour l’utilisateur d’allumer et d’éteindre les lumières. Cela permet de comparer les consommations d’un équipement en marche ou à l’arrêt.

L’image ci-dessous présente les trois états d’un bouton : à l’arrêt, dans le champ de vision de l’utilisateur (avec la possibilité de l’actionner) et le bouton actionné.

Bouton à l’arrêt, dans le champ de vision et actionné

Pour réaliser cette interaction, nous avons écrit le script suivant :

Script d’interaction avec les lumières

Ainsi, nous avons réalisé des scripts pour : le mouvement des portes, la télévision et les ordinateurs, le lave-linge, les toilettes, la douche, les robinets, la baignoire…

4/ La sensibilisation

Pour rappel, notre objectif est que l’utilisateur puisse constater la consommation d’un équipement afin d’y être sensibilisé et de modifier son comportement dans le but d’agir pour la planète et aussi peut-être pour ses économies.

Afin de réaliser cela, nous avons dans un premier temps recensé, pour chacun des équipements, ses consommations d’électricité et/ou d’eau moyennes par jour ou par année. Puis, afin d’améliorer la compréhension de l’utilisateur, nous avons placé ces calculs dans un contexte (celui d’un couple sur une semaine) et proposé un scénario à l’utilisateur :

Scénario proposé à l’utilisateur

De même, nous avons agrégé les besoins en chauffage en regroupant les déperditions de chaque paroi et les apports de chaleur, tout en prenant en compte le rendement du système de chauffage. Nous avons par la suite codé afin de retranscrire ces données.

Script de calcul de l’onglet simulation

Enfin, nous avons ajouté une interface afin de modifier et visualiser ces données et calculs.

Aperçus de l’onglet simulation

Conclusion :

Ce projet répond aux attentes mais est bien sûr perfectible. Nous aurions aimé implémenter un mode réalité virtuelle afin d’améliorer le côté ludique de notre projet. De même, nous pensons qu’il serait intéressant d’intégrer un fichier météo, et de permettre le choix d’une température de consigne dans le bâtiment. Cela améliorerait la qualité des scénarii. Enfin, un code couleur de consommation pourrait faire ressortir les équipements gourmands.

Virtual House, un projet réalisé par Mathys Chien Chow Chine, Antonin Geille, Léo Moncoiffet et Mathis Nagmar, Peip2

Lien du compte rendu : https://files.u-angers.fr/data/f-e20a3117fec1991c.pdf

Lien d’une vidéo de présentation : https://youtu.be/vXtRVafyJbQ

Gérer la Maintenance et la Sécurité dans un bâtiment en réalité augmentée

  • Présentation du groupe

Bonjour à toutes et à tous !
Sur ce projet, nous sommes un groupe de 4 étudiants : Daniel, Paul, Tomas et Valentin. Nous avons choisi ce projet car nous avons directement aimé la fusion entre l’univers de la réalité augmentée et le bâtiment. De plus, nous sommes, certains plus que d’autres, intéressés par le secteur du bâtiment.

  • C’est bien beau tout ça, mais quel est le but de notre projet ?

L’objectif de notre projet est d’exploiter la réalité augmentée afin de faciliter l’évacuation d’un bâtiment en cas d’incendie. Pour ce faire, nous nous sommes fixés plusieurs objectifs :

  • Afficher le plan en 3D de Polytech Angers
  • Afficher, lorsque l’on scanne l’étiquette d’un extincteur, son utilisation
  • Afficher les extincteurs, lorsque l’on scanne le numéro de porte, sur le plan en 3D de l’étage sur lequel nous sommes
  • Afficher la sortie de secours la plus proche de la salle à laquelle nous nous trouvons tout en réalisant une simulation d’incendie
  • Afficher sur l’application le tracé du chemin vers la sortie de secours la plus proche

Afin de répondre a la problématique posée, nous avons décidé de créer une application sur smartphone basée sur la réalité augmentée et pour y parvenir nous avons utilisé un logiciel de modélisation : Unity.

  • Réflexion

Au départ, nous ne savions pas par où commencer étant donné que notre projet est assez large. Nous avons d’abord cherché à en savoir davantage sur le sujet en lisant différents documents sur le domaine du bâtiment, en regardant de nombreuses vidéos et notamment sur le fonctionnement du logiciel Unity : la prise en main, comment modéliser des structures en 3D, comment créer une application de réalité augmentée à partir de Unity. Nous avons eu également accès en parallèle aux documents sur la sécurité incendie et aux différents plans d’évacuations du bâtiment Polytech.

Ensuite, nous avons commencé à nous questionner sur comment allons nous adapter notre projet pour répondre a la problématique : gérer la maintenance et la sécurité incendie en réalité augmentée.

Dans un premier temps, l’idée qui nous est venue en tête était de développer une application pour smartphone à partir de Unity dans laquelle l’objectif serait de pouvoir afficher en réalité augmenté la composition intérieur des murs au niveau de la tuyauterie, les câbles électriques ou encore les systèmes de ventilations par exemple. Cependant, nous n’avons pas pu donner suite à cette première idée car faute de documentation : nous n’avions aucun document expliquant quoi que ce soit sur la composition des murs de Polytech.

Dans un second temps, nous avons également pensé à créer une application ( toujours à partir de Unity ) dans laquelle le but aurait été de créer un GPS qui nous indiquait notre position actuelle au sein du bâtiment de Polytech. Il nous afficherait également le chemin le plus court vers une sortie en évitant un potentiel départ d’incendie. Encore une fois, nous avons du laisser cette idée de côté car actuellement les géants tels que google, waze, etc… commencent petit à petit à développer ce type de GPS et sur internet, nous n’avons également rien trouvé de concret sur le type de GPS que nous voulions concevoir.

  • Une Idée convaincante

Finalement, nous avons trouvé une idée qui nous a convaincue, qui répondait à nos objectifs et à notre problématique. Nous avons décidé de développer une application (toujours à partir de Unity) qui ressemble un peu à la fusion de nos deux premières idées : l’objectif de notre application est dans un premier cas de pouvoir scanner avec son smartphone le numéro d’une salle qui par la suite affichera sur l’écran le chemin le plus court vers la sortie, et ce, en évitant un potentiel incendie.

Image
Image

Dans un deuxième cas, de pouvoir scanner un extincteur qui afficherait sur notre écran tout ce qu’il faut savoir à propos de cet outil, comme le manuel d’utilisation, les précautions à prendre ou encore dans quelle genre de situation il faut l’utiliser.

  • Réalisation du projet

La réalisation de notre projet final présenté ci-dessus, s’est faite en plusieurs étapes. Nous avons tout d’abord commencé par télécharger les plans des différents étages de Polytech. Ensuite nous avons ouverts ses fichiers sur Unity pour pouvoir ensuite partir sur la conception 3D de nos différents étages.

Désormais, à partir de nos plans nous avons donc commencé la modélisation 3D : le but était de partir de notre plan comme une base et il fallait créer des éléments 3D tels que des rectangles pour modéliser les murs et des cylindres pour modéliser les piliers.

Ensuite, il suffisait juste de créer notre élément en 3D et de le superposer à notre base. Une fois que nous avions fini de modéliser l’entièreté de notre base en 3D, nous nous sommes penchés sur la création de nos chemins de sortie. Nous avons décidé de les représenter sous forme de flèches rectangulaires.

Au cours de notre projet on ne s’est pas simplement limités à la conception 3D du bâtiment de Polytech, nous avons voulu aller plus loin en créant des animations tels que : le feu pour simuler un potentiel incendie et nous avons choisi de créer une petite animation de surbrillance pour nos chemins de sortie afin qu’il soient plus visibles :

En parallèle, nous avons exploité la réalité augmentée à partir de Unity grâce à un module nommé Vuforia. Nous avons commencé par prendre en photo les numéros de salles des différents étages que nous avons, puis, nous avons déposé en ligne sur le site de Vuforia. Par la suite il nous a fallu télécharger la base de données de ces images sur Unity. Ainsi, il suffisait d’associer les images de nos étages finaux modélisés en 3D à nos images prises antérieurement. Pour finir, afin de créer notre application il suffisait juste de “build” l’application à partir du module Vuforia sur Unity : c’est a dire que le logiciel Unity créé automatiquement notre application de réalité augmenté.

Pour conclure, une fois tout réalisé nous avons testé notre application sur les différents étages de Polytech. Nous obtenons ainsi les résultats suivants qui nous sembles très réussis :

  • Nos problèmes rencontrés

Notre premier problème rencontré, comme précisé précédemment à été le manque de documentation et d’information concernant la composition interne des murs en terme de tuyauterie et d’électricité et par conséquent nous avons du laisser de côté cette idée.

Au cours de notre projet, nous avons eu des difficultés avec le logiciel Unity. En effet, au démarrage, nous n’avions aucune connaissance sur le logiciel, c’est pourquoi nous nous sommes énormément informés sur le sujet par le visionnage de tutoriels sur internet ou encore en consultant des sites web spécialisés dans le domaine. Cependant, bien qu’on ait réussi à finaliser notre projet, la prise en main du logiciel à été relativement compliquée.

Nous avons également rencontré des problèmes avec nos fichiers, notamment sur le transfert de fichier entre Unity et le téléphone ou parfois même à gérer des fichiers dans Unity car le logiciel ne pouvait pas supporter des fichiers trop volumineux (principalement pour le module vuforia qui ne supporte pas des images de plus de 2 Mo). Par conséquent, il était parfois difficile voir même impossible de transférer des fichiers.

  • Bilan

Ce projet nous a permis d’apprendre énormément de chose : tout d’abord sur l’aspect purement technique on a appris à utiliser le logiciel de modélisation Unity, notamment sur la manipulation 3D : comme la modélisation du bâtiment de Polytech par exemple.

D’autres part, ce projet nous a involontairement obligé à nous intéresser davantage sur le domaine du bâtiment à propos de la maintenance, l’entretien et la sécurité : nous avons fait de nombreuses recherches, nous avons lu énormément de documents sur le sujet et nous avons aussi appris à lire des plans d’évacuation par exemple.

Finalement, notre projet qui reste technique sur la partie Unity et intuitif sur l’ensemble, nous à permis d’apprendre énormément sur le monde du bâtiment et l’informatique à travers la modélisation 3D.

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.

    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.

    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)

    Projet Air Drum

    Nous sommes un groupe de 3 étudiants en deuxième année de classe préparatoire à l’ISTIA. Dans le cadre des projets, nous avons choisi le projet nommé “AirDrum”.
    Le Airdrum qu’est-ce que c’est ? C’est une activité qui consiste à mimer le geste d’un batteur sans avoir l’instrument en main. Vous voyez le AirGuitar ? Et bien imaginez la même chose avec une batterie. Simple vous pourriez dire; mais l’objectif du projet est surtout de réaliser une batterie virtuelle et que les sons correspondants soient joués selon les mouvements du “musicien” !

    Pour réaliser ceci, nous avons été confrontés à trois problèmes majeurs :

    1. Comment récupérer les coordonnées et mouvements du joueur ?
    2. Comment jouer les bons sons au bon moment ?
    3. Comment virtualiser la batterie, les baguettes/mains et faire tout correspondre ?

    Nous avons alors fait des recherches sur Internet avec de nombreux tutoriels, des essais plus ou moins fructueux ainsi que de nombreuses découvertes pouvant aussi nous servir dans d’autres futurs projets. Voici les solutions que nous avons trouvé :

    1. Wiimote et Nunchuk, capteurs avec Arduino, capteurs infrarouges, MakeyMakey, RazerHydra et la solution finale gardée, la Kinect.
    2. Pure Data, Unity3D
    3. Blender, Unity3D, programmes en C#/JavaScript

    Nous avons donc tout d’abord créé une batterie virtuelle sous Blender.

    Batterie

    Batterie modélisée sous Blender

    Nous avons ensuite intégré ce modèle sous Unity3D afin de pouvoir y intégrer des sons, libres de droits trouvés sur Internet, grâce à des scripts en JavaScript . Finalement, il ne nous manquait plus que l’intégration de la Kinect2 en passant par l’utilisation de scripts en C# et du “squelette” disponible dans le modèle de démonstration gratuit de Microsoft.
    Kinect2

    Kinect 2 utilisé pour récuperer les mouvements du “musicien”


    LogoBlender

    Blender


    Unity3DLogo

    Unity3D


    SqueletteKinect

    Squelette aussi appelé figure fil de fer