Out of Space

De Wiki d'activités IMA
Révision datée du 13 avril 2014 à 15:18 par Zassaieb (discussion | contributions) (Cahier des charges)

Généralités sur le projet

Contexte

Ce projet met en collaboration une artiste et une société de production de jeu vidéo 3D, et vise à mettre en place une application interactive utilisant une classe de dispositifs d'interaction orienté "maquette holographique".

Descriptif

Le projet vise à réaliser une application interactive sur un affichage stéréoscopique, et qui consiste à piloter un objet (une bille) dans un certain environnement, tout en déroulant l’évolution de cet environnement sur une vidéo de fond. Le mouvement de cet objet est contrôlé par les gestes des mains qui sont détectées par une Kinect et traduits sur un écran 3D.

Problématique

La problématique qui se pose est de pouvoir prendre aussi en compte la tête de l’utilisateur sur l’espace d’acquisition afin d’avoir les données sur l’angle de vision et donc d’orienter l’affichage 3D sur l’écran selon sa position, ainsi le mouvement de la tête impliquera l’inclinaison des objets affichés dans un sens ou dans l’autre.

Cahier des charges

Le cahier des charges ne peut être réalisé pour l'instant car notre projet est une continuité d'un projet réalisé actuellement par des élèves en IMA5, et les tâches qui nous seront affectées vont dépendre de leur avancement. La phase de transition sera faite quelques jours avant leur soutenance. Cependant, nous avons commencé par nous familiariser aux outils à utiliser<br\><br\> -> Mise en place d’un outil de Calibration pour calibrer et mettre en place la scène 3D selon la position de l’utilisateur, pour l’utilisation par un non informaticien.

Les outils matériels/logiciels utilisés

  • Kinect, le périphérique de reconnaissance de mouvement
  • Ecran Stereoscopique pour l'affichage 3D
  • 3Gear possède une technologie qui permet, à partir des caméras 3D de la Kinect, de reconstruire une représentation précise des doigts et de ce que les mains font, en prenant les données 3D brutes et les transformant en informations utilisables sur l'état des mains. Les interfaces de programmation sont basées sur le pointage et le pincement et fournissent les angles des articulations approximatives, elles sont disponibles en C ++, C # et Java
  • Unity 3D est un logiciel middleware de création de contenu interactif comportant de la vidéo et des objets 3D/2D. Il permet de créer des scènes supportant des éclairages, des terrains, des caméras, des textures ... . L’intérêt de ce logiciel est que celui-ci dispose d’une interface intuitive d’intégration d’objets et de scripts ; l’éditeur d’Unity intègre des composants pré-configurés évitant le développement de code fastidieux.

Travail réalisé

Semaine 03/02 – 07/02

  • Entretien avec Mr Laurent Grisonni pour comprendre le projet
  • Etablissement d’un cahier de charge global en attente de précisions après la soutenance des IMA5
  • Spécifications des outils et matériels utilisés

Semaine 10/02 - 14/02

  • Rencontre avec les étudiants qui travaillent déjà sur le sujet
  • Compréhension du travail réalisé
  • Suggestion d’éventuelles améliorations

Semaine 17/02 - 21/02

  • Prise en main de l’outil Unity à l’aide de quelques Tutoriels pour la création de scènes 3D
  • Compréhension et analyse de la librairie 3gear de détection de geste via la Kinect

Semaine 03/03 – 07/03

  • Spécification du besoin : Mise en place d’un outil de Calibration pour calibrer mettre en place la scène 3D selon la position de l’utilisateur, pour l’utilisation par un non informaticien.

Semaine 12/03 – 14/03

  • Installation à l’IRCICA, remise des clefs et badges de la salle de travail, récupération du SVN du projet.
  • Rencontre de plusieurs problèmes dont :

o Pas de licence Windows sur le poste fourni
o Problèmes de réseau et d’accès internet pour l’extraction du SVN

Semaine 24/03 – 28/03

  • Installation du logiciel Unity
  • Impossibilité d’installer les logiciels de programmation pour la librairie 3gear: Processeur incompatible
  • Premiers tests du projet existant, incomplets par manque d’outils.
  • Ajustements de la scène Unity à la taille de l’écran Stéréoscopique

Semaine 31/03 – 04/04

Outil de calibration : Cet outil est censé permettre à l’artiste ou n’importe quel autre utilisateur non information de pouvoir ajuster les réglages et le calibrage des Kinects par rapport à l’écran stéréoscopique sans avoir à modifier les lignes de code de l’application.

Calibrage : Afin de réaliser le calibrage de la Kinect, il faut d’abord lancer les programmes d’installation de la librairie 3gear de la Kinect (nimble_calib et nimble_server, ces applications sont fournies avec le kit de la librairie), il faut ensuite lancer l’application Kinect_MSFT_Calibration. Cette application a été déjà développée pour ce projet et qui consiste en l’affichage de l’image reçue par la Kinect afin de sélectionner dessus les points des 4 coins de l’écran stéréoscopique (l’écran étant visible sur l’image), l’application enregistre alors ces coordonnées dans un fichier texte, et donc, ces coordonnées doivent être repris et mis dans un autre fichier texte en effectuant quelques modifications dessus. Ce dernier est celui qui est utilisé par l’application d’affichage de la scène 3D sur l’écran 3D, et qui utilise ces points pour régler l’affichage.

  • Prise en main de l’outil de développement d’interfaces graphiques QT
  • Première ébauche de la gestion des fenêtres de l’interface graphique à développer.
  • Problème rencontré : l’outil est bloqué quand on affecte à un bouton le passage à une deuxième fenêtre et l’exécution d’une application en même temps.
  • Réalisation d’un programme C permettant le transfert des coordonnées du fichier source au fichier de destination.

Semaine 07/04 – 11/04

  • Test du programme de transfert de données sur l’outil et son implémentation
  • Finalisation de l’interface graphique, en résolvant le problème rencontré.
  • L’outil réalise bien la tâche demandée.