IMA5 2018/2019 P26 : Différence entre versions
(→Semaine 3-4) |
(→Semaine 3-4) |
||
Ligne 121 : | Ligne 121 : | ||
[[Fichier:VNCCLient2.png|300px|thumb|center|]] | [[Fichier:VNCCLient2.png|300px|thumb|center|]] | ||
+ | |||
+ | |||
+ | '''3. Apprendre à utiliser Unity''' | ||
+ | |||
+ | '''La Description du Unity:'''[https://fr.wikipedia.org/wiki/Unity_(moteur_de_jeu)] | ||
+ | |||
+ | Unity est un moteur de jeu multi-plateforme (smartphone, Mac, PC, consoles de jeux vidéo et web) développé par Unity Technologies. Il est l'un des plus répandus dans l'industrie du jeu vidéo, du fait de sa rapidité aux prototypages pour les très gros studios, aussi pour la sphère du jeu indépendant qui développe directement dessus pour sortir leurs applications sur tout support[à recycler]. | ||
+ | |||
+ | Il a la particularité de proposer une licence gratuite dite « Personal » sans limitation au niveau du moteur. | ||
+ | |||
+ | [[Fichier:Unity.JPG|300px|thumb|center|]] | ||
+ | |||
+ | Pour utiliser l'Unity, on dois savoir l'utilisation de deux choses: les objets et les scripts. | ||
+ | |||
+ | Les objets de l'Unity sont les éléments du jeux vidéo, par exemple, les images, les cubes, la lumière etc. | ||
+ | |||
+ | Les scripts de l'Unity sont les programme qui contrôlent les objets | ||
=Documents Rendus= | =Documents Rendus= |
Version du 12 octobre 2018 à 00:10
Sommaire
Présentation générale
Description
Un certains nombre de logiciels permettent à l'heure actuelle de redonner vie à de vieux logiciels de jeux (jeux devenus libres de droit car délaissés par leurs propriétaires, ces jeux sont dit "abandonware"). D'autres jeux existent, totalements libres de droits dès leur diffusion. Dans le cadre d'un projet européen auquel l'équipe de recherche MINT participe, nous souhaitons mettre en place un prototype permettant à une structure de rééducation spécialisé dans la rééducation de l'enfant cérébrolésé de disposer d'un système de réalité virtuelle via lequel l'enfant peut jouer à l'un ou l'autre de ces vieux jeux. Le fait de réaliser cet objectif en réalité virtuelle plutôt que via un dispositif d'interaction standard est le suivant : la réalité virtuelle permettra ici de se libérer des contraintes matérielles, permettra d'adapter l'écran virtuel à la réalité de l'enfant, pourquoi pas par la suite de mettre en place des distracteurs ou d'augmenter la difficulté de l'interaction, etc... et ce afin de permettre aux soignants de disposer d'une application qui leur permette de graduer la difficulté d'interaction (permettant ainsi à l'enfant d'entrainer ses capacités motrices et cognitives), tout en disposant d'une base de jeux importantes et donc la dimension ludique n'est plus à prouver. La travail consistera tout d'abord en un examen des différents émulateurs existants, et en la proposition d'une configuration permettant de réaliser l'interaction d'un affichage 2D dans un environnement type HTC Vive. On pourra par exemple utiliser une fonctionnalité du type VNC et sa compatibilité avec l'environnement Unity. On travaillera ensuite à l'intégration d'un systeme simulant le "touch" à partir des mouvements des mains de l'utilisateur. En fonction de l'avancement, on pourra explorer quelques configurations d'interaction mettant en valeur plusieurs configurations virtuelles différentes, permettant par la suite d'explorer les modalités d'interaction (ce dernier point pourra se faire en collaboration avec une structure médicale basée à Meerbush, prés de dusseldorf en allemagne).
Objectifs
Mettre en place un dispositif de réalité virtuelle permettant à l'utilisateur d'interagir avec une application 2D classique, en simulant une interaction tactile.
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Unity
Fceux
Fove/HTV Vive
Visual Studio
2 ordinateurs
Liste des tâches à effectuer
Calendrier prévisionnel
Réalisation du Projet
Semaine 1
Semaine 2
Semaine 3-4
A semaine 3 et 4, j'ai fait des choses suivantes :
1. Tester des émulateur du jeux vidéo
2. Apprendre VNC et tester le VNC
3. Apprendre à utiliser Unity
4. Apprendre C#
5. Integration le VNC à Unity
6. Réalisation d'une solution pour afficher l'image du jeux vidéo à Unity par TCP/IP
Details:
1. Tester des émulateur du jeux vidéo:
J'ai cherché les émulateur du jeux vidéo et j'ai trouvé qu'il y a deux grandes groupes des émulateur qui s'appliquent à mon projet: les émulateur d'Android et les émulateur de "Nintendo entertainment system"(NES, après je vais utiliser NES pour s'appeler). Ils sont convenables, parce qu'il y a beaucoup de jeux vidéo qui sont implémenté aux Android et NES, à la même temps, il est facile à trouver les deux genre d'émulateurs gratuits, par exemple :
Pour l'Android:
BlueStacks[1]
Il est gratuit et il marche en Windows et MacOS.
Nox[2]
Koplayer[3]
Pour NES:
FCEUX[4]
Il est gratuit et "Open source". Il supporte à utiliser le script de LUA à le contrôler.
JNES[5]
NEStopia[6]
Les autres NES émulateur de "open source"
Problème::
1). Comment on réalise l'interaction du jeux video par les dispositif de réalité virtuelle?
Solution 1: On fait une configuration pour intégrer le VNC à l'Unity, et il y a les APIs de Unity qui peut faire l'interaction avec le dispositif de réalité virtuelle.
Solution 2: On programme à transfère l'image du jeux vidéo à Unity pour l'afficher au dispositif de réalité virtuelle par TCP/IP et transfère par TCP/IP les consignes du dispositif de réalité virtuelle au jeux vidéo pour le contrôler.
2). Maintenant, je ne suis pas claire que si on peut utiliser les émulateurs et des jeux à mon projet légalement.*
2. Apprendre VNC et tester le VNC
Description du VNC[7]:
VNC (Virtual Network Computing, littéralement « informatique virtuelle en réseau ») est un système de visualisation et de contrôle de l'environnement de bureau d'un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique. Il utilise le protocole RFB pour les communications.
VNC est indépendant du système d'exploitation : un client VNC installé sur n'importe quel système d'exploitation peut se connecter à un serveur VNC installé sur un système d'exploitation différent ou identique. Il existe des clients et des serveurs VNC pour la plupart des systèmes d'exploitation. Plusieurs clients peuvent se connecter en même temps à un unique serveur VNC.
Parmi les utilisations de ce protocole, on peut citer le support technique à distance, l'administration et la maintenance de systèmes ou logiciels ne permettant que des contrôles graphiques et demandant l'utilisation de la souris ou bien encore la visualisation distante d'applications diverses et variées, dans un but éducatif par exemple.
Teste:
J'ai installé le VNC Viewer[8] et VNC Server[9] est fait un test. (*VNC Viewer est gratuit, mais VNC Server n'est pas gratuit).
Premièrement, j'ai lancé un VNC Server
Après, j'ai lancé un VNC Viewer et connecté à mon serveur de VNC, j pouvais afficher l'écran du serveur et le contrôler.
3. Apprendre à utiliser Unity
La Description du Unity:[10]
Unity est un moteur de jeu multi-plateforme (smartphone, Mac, PC, consoles de jeux vidéo et web) développé par Unity Technologies. Il est l'un des plus répandus dans l'industrie du jeu vidéo, du fait de sa rapidité aux prototypages pour les très gros studios, aussi pour la sphère du jeu indépendant qui développe directement dessus pour sortir leurs applications sur tout support[à recycler].
Il a la particularité de proposer une licence gratuite dite « Personal » sans limitation au niveau du moteur.
Pour utiliser l'Unity, on dois savoir l'utilisation de deux choses: les objets et les scripts.
Les objets de l'Unity sont les éléments du jeux vidéo, par exemple, les images, les cubes, la lumière etc.
Les scripts de l'Unity sont les programme qui contrôlent les objets