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 animation Robot InMoov !

Bonjour à tous !

Nous sommes, Adrien et Alexandra, 2 étudiants en deuxième année de cycle préparatoire à l’ISTIA (école d’ingénieurs de l’université d’Angers) et aujourd’hui nous allons vous présenter notre projet de conception.
Tout d’abord qu’est-ce que ce le robot InMoov ?
extrait du site http://inmoov.fr/gallery-v2/

extrait du site http://inmoov.fr/gallery-v2/

InMoov est un robot humanoïde simple que vous pouvez imprimer en 3D de chez vous ! Toutes les pièces sont téléchargeables sur son site et il ne vous reste plus qu’à le monter !

Mais pour nous le projet consistait à télécharger ces pièces, les assembler sur le logiciel Blender puis l’animer au sein de Unity 3D. Et en objectif final de notre projet de créer une banque de données pour permettre à des 4èmes du collège Rabelais de le personnaliser en changeant ses couleurs à volonté.

  • Assemblage des différentes pièces du Robot sous Blender
  • Nous avons eu la chance de pouvoir récupérer une partie de l’assemblage auprès de M.Richard notre tuteur, ce qui nous a permis de gagner un peu de temps, ainsi nous n’avons eu besoin que de lui rajouter son dos.

    Assemblage dos Robot InMoov

  • Animation sous Unity 3D
  • C’était la partie la plus importante et la plus conséquente de notre projet. En effet, après une étude rapide de son anatomie et en consultant notre tuteur, la décision a été prise de l’animer avec des forces par le biais de joints entre chaque partie de son corps. Comme Unity 3D est un logiciel qui permet de recréer un univers virtuel, l’ajout de forces sur son corps à certaines limites. Rien que le fait de le faire tenir debout et de compenser la force de gravité n’est pas une mince affaire ! Mais nous avons tout de même réussi à lui faire faire des mouvements simples,comme bouger la bouche pour simuler la parole, bouger la tête ou encore lever les bras.

    Animation Robot InMoov

  • Personnalisation du robot
  • Pour finir, nous avons mis à disposition une banque de matériaux (principalement des couleurs et des textures) pour pouvoir personnaliser l’aspect extérieur au goût de chacun !

    Personnalisation Robot InMoov

    Si vous souhaitez avoir plus d’information sur notre démarche n’hésitez pas à nous contacter (alexandra.dion@etud.univ-angers.fr ou adrien.mortreau@etud.univ-angers.fr)

    Merci pour votre intérêt et bonne journée à vous !

    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