Petit traité de programmation sur Hololens

Petit traité de programmation sur Hololens

Auteur : Arthur Serre - Date de publication : mars 7, 2017

[chapo]Astrakhan s’est lancé dans l’aventure Hololens depuis la fin du mois de septembre 2016, avec pour objectif de produire un PoC mettant en avant les capacités de collaboration et la pertinence des nouvelles interactions proposées par le casque de Microsoft. Après 5 mois de prise en main de l’outil et de développement, une petite introspection s’impose.[/chapo]

Les problématiques propres à notre PoC

Microsoft recommande l’utilisation d’Unity 3D pour développer des applications holographiques. Lors du développement, la prise en main d’Unity s’est faite par à-coups. En effet, au début du projet, Unity proposait une version beta, prenant partiellement en charge les fonctionnalités d’Hololens. A partir de la version 5.5, Unity intégrait nativement la prise en charge de l’environnement holographique. En parallèle, Microsoft a également lancé un projet sur GitHub, appelé HoloToolkit, et visant à proposer des templates prédéveloppés facilitant l’utilisation de fonctionnalités avancées. La rapidité de l’évolution de ces outils nous a forcé à refactoriser plusieurs fois le code de notre application, tout en nous garantissant un meilleur contrôle des fonctionnalités implémentées. Cependant, une stabilité relative semble avoir été atteinte depuis la version 5.5 d’Unity. Comme le casque traite de la même manière un élément 3D complexe qu’un plan 2D, l’utilisation de ces outils a grandement facilité notre processus de développement, et nous a permis de nous reposer en partie sur l’expertise de la communauté naissante de développeurs Hololens. Malgré l’efficacité de cet environnement, un des principaux points noirs vient de la version du framework .net utilisé par Unity. En effet, le moteur utilise une version de Mono basée sur .net 3.5, alors que la version officielle supportée par Microsoft est actuellement la version 4.6. En conséquence, l’utilisation de bibliothèques externes peut s’avérer frustrante, la plupart ne maintenant de version que pour les frameworks plus récents.

Les spécificités des lunettes

Avec Hololens, Microsoft met l’accent sur les nouvelles interactions avec l’utilisateur, pour rendre l’expérience aussi naturelle que possible. Tout d’abord, la disparition de la combinaison classique clavier/souris force à repenser l’ergonomie des applications. En effet, même s’il existe un clavier virtuel, les développeurs sont fortement encouragés à utiliser les capacités de reconnaissance vocale du casque. Ainsi, un système de mots clés autorisera l’utilisateur à dicter les commandes souhaitées, plutôt que d’aller chercher une option dans une arborescence de menus. En poursuivant cette logique, l’utilisateur aura également la possibilité de dicter des pans entiers de texte, renforçant son immersion et la facilité d’utilisation. Ces cas d’usage sont bien évidemment liés aux performances des API de reconnaissance vocale, et Microsoft a annoncé porter toute son attention au développement de leur solution Microsoft Speech. La souris, quant à elle, est remplacée par la reconnaissance gestuelle. La position du curseur est déterminée par le regard de l’utilisateur, et 3 gestes de bases permettent respectivement de cliquer, faire un cliquer-déposer ou ouvrir le menu de démarrage. Le fait que le curseur soit manipulé principalement par le regard peut désarçonner l’utilisateur, habitué à contrôler son pointeur avec sa main, mais l’adaptation se fait assez rapidement. Enfin, le casque se démarque principalement par ses capacités de reconnaissances spatiales. Par nature, la réalité mixte proposée par Hololens s’intègre de manière quasi symbiotique à l’environnement réel. Pour mettre en place cette prouesse technologique, une multitude de capteurs scannent l’espace et en proposent une modélisation exploitable par les hologrammes. On pourra par exemple épingler un tableau virtuel au mur, faire rebondir une balle holographique sur le sol ou faire s’asseoir un avatar dans un fauteuil.

Unity pour Hololens, un mariage réussi?

Notre PoC approchant de la fin de son développement, force est de constater que l’alliance de ces 2 technologies est très pertinente. L’interface Unity, passée la phase de formation initiale, permet de créer rapidement nos rendus visuels, qui sont modélisés de façon très fidèle par le casque. Les outils fournis par l’Holotoolkit, ainsi que les tutoriaux proposés par la Holographic Academy de Microsoft facilitent la prise en main de fonctionnalités avancées telles que la reconnaissance vocale ou le spatial mapping. A l’avenir, on ne peut qu’espérer que les outils continueront leur rythme d’évolution rapide en proposant de nouvelles fonctionnalités facilitant le travail des développeurs, notamment au niveau du support des librairies externes. Microsoft a annoncé sa volonté d’augmenter ses efforts pour favoriser l’émergence de cette nouvelle réalité, et Astrakhan compte bien suivre le mouvement en lançant prochainement de nouveaux projets tournant sur Hololens.

A lire également, l’interview d’Arthur sur l’avancée de ses travaux de développement.

Arthur SERRE – Publié le 07 Mars 2017