Développement sur Hololens – mon premier retour d’expérience

Lors de la 1er journée de la Build 2015, j’ai eu la chance d’être sélectionné pour participer avec une 60ene de participants à la Holographic Academy.

Il s’agit d’un Workshop de développement de 4 heures sur Hololens, ce qui laisse pas mal de temps pour manipuler cette petite merveille technologique.

 

Aucun matériel personnel, ni PC, ni téléphone portable n’était admis dans la salle. Il n’était donc pas permis de prendre des photos. Je vais tenter dans ce post de blog de transmettre mes premières impressions sur Hololens.

 

WP_20150430_17_45_04_Pro

 

Contexte de l’Academy

Nous avons été convoqués dans un hôtel proche du centre de conférence, dans un étage réservé pour l’academy.

Arrivé sur place, il a fallu laisser dans une consigne l’ensemble des effets personnels avant de se voir remettre le badge servant de sésame pour rentrer dans la zone de training. La dernière étape a été de se faire mesurer la distance pupillaire, afin de permettre un réglage optimal des lunettes (comme chez l’opticien).

J’ai ensuite été accueilli par un mentor, chargé de m’accompagner tout au long de l’après midi. Dans la salle, était affectés un mentor pour 2 participants, un peu pour surveiller, mais beaucoup pour nous assister dans les manipulations.

Le format de training proposé ici a été extra et vraiment innovant. Concrètement, nous étions regroupés par ilot de 6 dans une grande salle, autour d’une estrade central sur lequel était le formateur principal. Chaque petit groupe disposait d’un canapé et d’une table basse pour pouvoir tester ses hologrames dans des conditions rééles. Tout autour de la salle étaient présents une 15ene de très grands écrans pour suivre les manipulations.

Pas de lab à la mode Word ou chacun fait ce qu’il veut ici, nous étions vraiment dans un training interactif ou les manipulations étaient faites par chacun en même temps (pas de risque d’avoir des gens qui ralentissaient le groupe, vu que les mentors étaient là pour aider également).

Le lab s’est déroulé en une 10ene d’exercices, nous permettant de débloquer des achievements et de progresser au fur et à mesure.

 

Le Hardware

Le premiers achievement a été atteint en récupérant chacun notre paire de lunette Hololens pour pouvoir travailler. Grosse acclamation et grosse ambiance quand les mentors sont allés les chercher pour nous les remettre.

Bien qu’étant sans doutes une version intermédiaire, le produit est très bien finit. Il se positionne sur la tête en réglant deux cerceaux, un au dessus de la tête horizontal, et un autre entremêlé en diagonal. Le device n’est pas trop lourd, est vraiment supportable à porter, et ne chauffe pas. Je l’ai utilisé à la fois avec et sans mes lunettes de vue, celles-ci ne m’ont posées aucun soucis et n’ont pas gêner l’utilisation. Les lunettes sont équipées de plusieurs haut-parleurs, sur le cerceau de chaque coté de la tête.

Dès que j’ai vu Hololens, j’ai craint sur le côté vraiment réel et la capacité de l’image projetée à ne pas “bouger / clignotter” quand l’utilisateur bouge. Sur ce côte, c’est bluffant, quand la tête tourne, le corps bouge, l’hologramme reste parfaite stable !

La petite déception est plutôt venue de l’angle de vue. L’écran projeté reste petit, de la taille d’une lunette, et il faut impérativement regarder dans le sens de l’image et ne pas avoir un regard d’angle qui passe sur / sous la lunette sous peine de voir la scène tronquée. Il faut donc bouger la tête pour observer un hologramme et non pas bouger le regard – j’ai mis un petit moment à m’habituer à ceci. En terme de capacité, au vue de mes tests, la version utilisée semble pouvoir projeter des Hologrammes à une instance de 3 à 4 mètres, mais fonctionne bien de très prêt.

Les Hololens se connectent au PC via un câble micro USB traditionnel. Il y’a bien un Windows 10 dessus, auquel on accède en utilisant un navigateur Web (interface très proche de Windows 10 sur Rasperry) pour pouvoir voir les packages installés, et en charger de nouveaux

 

WP_20150429_17_46_16_Pro

 

Développement

Sur ce training, nous avons développés avec Unity 5 et Visual Studio.

Le flux de développement était le suivant :

  1. Modélisation des objets 3D dans Unity
  2. Ajout de comportements, triggers, actions au travers de script C# ajoutés dans le projet Unity et édités depuis Visual Studio avec Unity.VS
  3. Compilation du projet Unity pour le transformer en application Universal App
  4. Ouverture du projet Universal App dans Visual Studio, Ctrl+F5 pour déployer depuis Visual Studio sur les lunettes
  5. Déconnection du cable USB pour pouvoir se balader et tester le code déployé dans l’environnement en toute liberté

 

En terme de complexité, deux choses différents :

  • Les assets Unity étaient tous déjà modélisés, donc pas de soucis sur ça
  • Le code C# pour ajouter des comportements était disponible au travers d’un Helper, qui forme un SDK ultra simple d’utilisation.

 

Par exemple, pour récupérer l’action du “click” (fermeture de deux doigts), le SDK dispose d’un objet Hand, qui lève un évènement Selected ou Hold…

La position du curseur est représentée par l’orientation de la tête, la combinaison de sélection est très simple : on positionne le curseur dans le monde en face de moi en bougeant la tête, et on pince les doigts pour sélectionner. Sur le coup, la courbe d’apprentissage est beaucoup plus simple que ce qu’elle a pu être sur Kinect (mouvement de main qu’il faut tenir pour Hold).

En terme de SDK, nous avons manipulé :

  • Les APIS de projection d’objets virtuels dans une scène rééle
  • Les APIs de sélection
  • La diffusion de son ambiant
  • La diffusion de son d’une source fixe dans l’espace
  • Le contrôle à la voix (une ligne de code)
  • Le “mapping dans l’espace” : la gestion de l’adhérence d’un hologramme dans le monde réél

 

Pour ce dernier point, qui consiste à trouver comment poser un hologramme parfaitement sur une table, le sol, une chaise… ce côté est extraordinaire, les lunettes cartographient complètement les alentours en 3D. Nous avons essayé un mode qui projette sur le monde réél une texture représentant la vue 3D scannés par Hololens – cela fonctionne vraiment bien.

J’ai particulièrement été bluffé par le dernier bout de code que l’on a écrit : nous faisions tomber une balle  (virtuelle) sur le sol (réel) pour créer un explosion qui laissait un trou béant en dessous. Dans ce trou, apparaissait un monde sous terrain (un peu comme la démo de Minecraft derrière un mur cassé). On se retrouve vraiment à tourner autour de ce trou dans le sol, à se pencher et s’incliner dessus, pour voir ce qui se trouve sous le sol du mode réél.

 

En résumé, le SDK C# est ultra simple, encore plus simple que celui de Kinect qui l’est pourtant déjà. La courbe d’apprentissage pour développer les actions et interactions sera donc très faible pour un développeur .NET.

 

En conclusion

J’avais vraiment du mal à y croire au vue des premières vidéos “commerciales”, mais non, Hololens est bien réel et ce n’est pas de la poudre aux yeux. Il y’a un vrai produit qui apporte vraiment une expérience jamais vécu ailleurs.

Sur le coup : un énorme bravo aux équipes de recherche Microsoft, mais surtout, vivement les beta publiques pour commencer les développements !

 

WP_20150429_17_47_02_Pro

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus