UI pour Hololens

Si vous avez un objet «Canvas» pour votre GUI, puis définissez la toile ‘Render mode de « Screen Space – Camera» et positionner votre objet de texte dans le coin supérieur gauche de la toile. Vous devriez alors voir le même comportement sur HoloLens comme vous le faites dans l’éditeur Unity.

Cette approche est très bien pour afficher les informations de débogage rapide (comme la fréquence d’images), mais en général, nous vous déconseillons le verrouillage de tout contenu de l’ interface utilisateur à la caméra, car cela peut causer de l’ inconfort pour l’utilisateur. Nous vous recommandons d’ utiliser un composant tagalong qui peut garder votre Canvas de l’ interface utilisateur dans le cadre holographique. Avec tagalong, la Canvas se déplace en douceur, et un peu plus lent que la tête de l’utilisateur, de sorte que le mouvement ne fera pas l’utilisateur malade. Le gaze course  montre comment utiliser un composant tagalong, et il y a aussi disponible dans le HoloToolkit .

 

Unity UI sur les HoloLens

Après les étapes sous «Configuration requise» permettra Unity UI de continuer à travailler dans l’éditeur, mais il va également travailler dans les HoloLens utilisant tap et navigation gestures.

Configuration requise:

  • Si vous n’avez pas encore d’interface utilisateur des objets, créer un (GameObject -> UI -> Button/Toggle/Slider/etc.)
  • Sélectionnez l’objet EventSystem (ce gameobject est automatiquement créé pour vous lorsque vous créez un objets d’interface utilisateur, mais contrairement à d’autres objets de l’interface utilisateur, n’a pas de Canvas en tant que parent / ancêtre)
  • Ajoutez le composant « Module d’entrée de HoloLens » à EventSystem (laisser StandaloneInputModule fat pour que l’interface utilisateur travaille toujours dans l’éditeur avec la souris et le clavier)
  • Sélectionnez l’objet Canvas (ce gameobject contenant est automatiquement créé pour vous, et est un parent / ancêtre à vos objets de l’interface utilisateur)
  • Changer « Mode de rendu » à « World Space »
  • Faites glisser l’objet de la caméra principale sur le champ «Event Camera»
  • Rappelez-vous de mettre la position de votre main camera  à l’origine

Les étapes recommandées pour commencer avec une interface plus utilisable:

  • Dans le composante canvas Scaler de l’objet Canvas, le changement « Pixels dynamiques par unité » à 10 – cela va enlever beaucoup de texte aliasing sans rétrécir la taille du texte trop
  • Au bas de Rect Transform de l’objet Canvas, changer l’échelle dans les deux X et Y à quelque part autour de 1/16 (0,0625) à 1/32 (0,03125) ou alors de faire la taille de l’interface utilisateur des objets plus gérable (utilisez le même valeur pour X et Y pour éviter non uniforme mise à l’échelle, bien sûr).
  • Réglez la position de canvas à 0 pour X et Y, et à une distance de 3-5 ou plus long Z (ce qui fera en sorte que votre interface utilisateur est immédiatement visible après l’écran de démarrage disparaît)
  • Pour sens de l’échelle, créer un bouton, fond masqué, ou un autre objet de l’interface utilisateur visible et définissez sa largeur et la hauteur à 100 par 100. Assurez-vous que vous pouvez voir dans la fenêtre de jeu, et de déployer les HoloLens comme d’habitude. Cela devrait vous donner une meilleure idée de la façon dont vous voulez la taille et la position de votre interface utilisateur.
  • Créer un curseur  où votre regard est pointé (vous pouvez utiliser le HoloToolkit faire cette jolie douleur). Surtout si vous choisissez de ne pas créer un curseur, il est fortement recommandé que vous faites les couleurs, animations, etc., pour les différents états de vos objets d’interface utilisateur (normal / Highlighted / Pressée / désactivé) très sensiblement différente – au cours du développement initial, au moins – pour le rendre plus évident ce que vous cherchez à et si le geste a été fait et interprété correctement.

Run-time utilisation:

  • Appuyez sur les gestes d’un contemplé-à objet va agir comme un rapide simple clic à cette position. Le « Time To Appuyez On Tap » champ de la composante du module d’entrée de HoloLens contrôle le nombre de secondes que ces robinets quitteront l’objet de l’interface utilisateur dans l’état taraudé pour une meilleure rétroaction des utilisateurs.
  • Utilisez des gestes de navigation où cliquer et faire glisser seraient normalement nécessaires, comme lors du déplacement d’une barre de défilement ou de défilement. Le « Navigation Normalisée à l’écran Offset Scalar » domaine de HoloLensInputModule définit le nombre de pixels de mouvement de la souris émulé quand une valeur de 1 positive ou négative est signalée par le dispositif pour un geste de navigation.

Problèmes connus:

  • Pendant un geste de navigation en interaction avec un objet Curseur, a déclaré l’apparence de l’objet va changer entre en surbrillance et pressée. Le geste de navigation fonctionnera encore pendant cet état-scintillement apparent, cependant, donc en dehors de l’apparence modifiée, il devrait encore se comporter correctement.