Exercice - Ajouter des scripts d’interaction manuelle à un objet
Le script ObjectManipulator prend en charge la modalité « manipulation directe » du modèle d’entrée « mains et contrôleurs de mouvement ». Quand le script est attaché à un objet, l’utilisateur peut déplacer, mettre à l’échelle ou faire pivoter l’objet avec les mains. Dans cet exercice, vous créez deux cubes, leur attachez les scripts nécessaires, puis déplacer les cubes.
Ajouter et ajuster le premier cube
Dans la barre de menus, sélectionnez GameObject>3D Object>Cube.
La taille par défaut du cube est d’un mètre carré, ce qui est trop grand pour nos besoins. Nous allons réduire la taille à 20x20x20 centimètres.
Sélectionnez le cube, puis, dans l’Inspecteur, modifiez les valeurs Transform/Scale du cube en procédant comme suit :
X = 0,2, Y = 0,2, Z = 0,2
Le cube a été placé dans la scène à la position par défaut (0, 0, 0). Cela signifie que le cube se trouve à la même position que le casque de l’utilisateur, et que l’utilisateur ne peut pas voir le cube s’il ne recule pas. Nous changeons les valeurs de position du cube pour pouvoir le voir.
Dans l’Inspecteur, remplacez les valeurs Transform/Position du cube par les valeurs suivantes :
X = -0,2, Y = 1,6, Z = 0,5
Nous voulons pouvoir voir trois côtés du cube, donc nous changeons également la rotation du cube.
Remarque
La hauteur du cube est définie sur 1,6 pour correspondre à la hauteur du décalage de la caméra sur MRTK XR Rig, en la plaçant à peu près au niveau oculaire.
Dans l’inspecteur, remplacez les valeurs Tranform/Rotation du cube par les valeurs suivantes :
X = 9, Y = 14, Z = 0 f
Conseil
Pour effectuer un zoom avant sur le cube, sélectionnez-le, vérifiez que le curseur pointe sur la fenêtre Scène , puis appuyez sur la touche F . Vous pouvez faire un zoom avant sur n’importe quel objet de cette façon.
Ajouter les scripts au cube
Pour qu’un objet puisse être « saisi » avec des mains suivies, il doit avoir deux composants attachés :
- Un composant Collider (vous n’avez pas besoin de faire quoi que ce soit ici, le cube d’Unity a déjà un Box Collider attaché par défaut)
- Composant Object Manipulator (Script)
Avec le cube toujours sélectionné, dans la fenêtre Inspecteur , sélectionnez le bouton Ajouter un composant , puis recherchez et sélectionnez le script manipulateur d’objet .
Le script ObjectManipulator permet de déplacer, de modifier et de faire pivoter un objet à l’aide d’une ou deux mains. Quand vous ajoutez le script Object Manipulator, le script Constraint Manager est automatiquement ajouté également, car le premier dépend du deuxième.
Mettre à jour le matériau du cube
Pour des raisons de performances, nous vous recommandons d’utiliser des matériaux MRTK au lieu des matériaux Unity par défaut.
- Une fois le cube toujours sélectionné, recherchez la section Matériaux sur le composant Renderer Mesh.
- Remplacez le matériau par défaut par le matériau MRTK_Standard_White , situé sous MRTK Standard Assets>Materials. Vous pouvez faire glisser et déplacer le matériel du volet Projet dans la section Matériaux .
Ajouter un deuxième cube
Dans la hiérarchie, cliquez avec le bouton droit sur le cube, puis sélectionnez Dupliquer. Le cube dupliqué s’affiche avec le nom Cube (1).
Cliquez avec le bouton droit sur le cube d’origine, sélectionnez Renommer et nommez le cube Near Cube.
Cliquez avec le bouton droit sur le cube dupliqué, sélectionnez Renommer et nommez le cube Far Cube.
À l’heure actuelle, il semble qu’il n’y a qu’un seul cube dans la vue Scène . C’est parce que Near Cube et Far Cube sont exactement au même endroit. Changeons la position et la rotation de Far Cube.
Avec far Cube toujours sélectionné, modifiez ses valeurs dans son composant Transform en procédant comme suit :
Position : X = 0,6, Y = 1,6, Z = 1,1
Rotation : X = 27, Y = 0, Z = 0
La caméra doit désormais voir Near Cube sur la gauche, et Far Cube un peu plus loin sur la droite. Pour confirmer cela, dans la hiérarchie, sélectionnez Caméra principale (sous MRTK XR Rig>Camera Offset), puis examinez la fenêtre Caméra principale dans la fenêtre Scène .
Conseil
Si vous souhaitez que l’affichage dans la fenêtre Scène ressemble davantage à ce que l’appareil photo voit, faites défiler l’écran dans la fenêtre Scène . Vous devrez peut-être définir les indicateurs clairs de l’appareil photo sur Skybox si ce n’est pas par défaut.
Saisir et déplacer les cubes en mode Lecture
Sélectionnez le bouton Lecture. Lorsque le projet commence à jouer, la vue bascule vers la fenêtre Jeu .
Remarque
Avant de jouer, vérifiez qu’il existe un profil valide défini sous Paramètres du projet>MRTK3.
Sélectionnez le bouton à trois points dans le coin supérieur droit de la fenêtre Jeu , puis sélectionnez Agrandir.
Appuyez sur la barre d’espace pour afficher la main droite simulée dans l’affichage.
Déplacez la main simulée vers Near Cube jusqu’à ce qu’elle touche le côté ou le bas du cube.
Appuyez sur le bouton gauche de la souris (cela permet à la main de « saisir » le cube), puis faites glisser le cube autour de la scène.
Pour saisir et déplacer Far Cube, nous utilisons le pointeur lointain attaché à la main simulée.
Si nécessaire, appuyez de nouveau sur la barre d’espace pour faire apparaître la main droite simulée. Notez le pointeur lointain qui part de la fin de l’index de la main.
Rapprochez la main de Far Cube jusqu’à ce que vous puissiez voir l’extrémité du pointeur sur le cube. Vous devrez peut-être faire plusieurs cercles avec la main pour que l’extrémité du pointeur apparaisse sur le cube.
Appuyez sur le bouton gauche de la souris (cela permet de fermer la main, en prenant ce que nous appelons le mouvement de pincement) et faites glisser le cube autour de la scène.
Simulation d’entrée dans l’éditeur Unity
Vous pouvez tester le comportement des objets holographiques avec les fonctionnalités de simulation d’entrée dans l’éditeur Unity.
Changer la vue dans la scène
- Pour déplacer la caméra vers l’avant/vers la gauche/vers la droite, appuyez sur les touches W/A/S/D .
- Pour déplacer la caméra verticalement, appuyez sur les touches Q et E .
- Pour faire pivoter la caméra, appuyez sur le bouton droit de la souris, puis faites glisser.
Simuler une entrée manuelle
- Pour activer la main droite simulée, appuyez longuement sur la barre d’espace. Pour supprimer la main, relâchez la barre d’espace.
- Pour activer la main simulée gauche, appuyez longuement sur la touche majuscule gauche. Pour supprimer la main, relâchez la touche.
- Pour déplacer l’une ou l’autre des mains dans la scène, déplacez la souris.
- Pour déplacer la main vers l’avant ou vers l’arrière, faites tourner la roulette de défilement de la souris.
- Pour simuler le pincement, appuyez sur le bouton gauche de la souris.
- Pour faire pivoter la main, maintenez enfoncées les touches Ctrl et + (main droite) ou les touches Maj gauche et Ctrl (main gauche), puis déplacez la souris.
Mains persistantes
Pour activer une main et la garder à l’écran sans maintenir de touche enfoncée, appuyez sur T (main gauche) ou sur Y (main droite). Pour supprimer les mains, appuyez de nouveau sur ces touches.
Générer votre application dans Unity
Réduisez la fenêtre Lecture en sélectionnant le bouton représentant trois points, puis en décochant la case Agrandir.
Dans la barre de menus, sélectionnez Fichier>Paramètres de build....
Dans la fenêtre Paramètres de build , sélectionnez le bouton Ajouter des scènes ouvertes pour ajouter votre scène actuelle à la liste Des scènes dans la build.
Sélectionnez le bouton Générer .
Dans la fenêtre Générer une plateforme Windows universelle , accédez au dossier dans lequel vous souhaitez stocker votre build, ou créez un dossier et accédez-y, puis sélectionnez le bouton Sélectionner un dossier pour démarrer le processus de génération.
Une barre de progression s’affiche pour vous permettre de suivre la génération.
(Facultatif) Générer et déployer l’application
Remarque
La génération et le test sur HoloLens 2 ne sont pas obligatoires. Vous pouvez également tester l’émulateur HoloLens 2 si vous n’avez pas d’appareil. Vous pouvez acheter des appareils à HoloLens.com.
Une fois le processus de génération terminé, l’Explorateur de fichiers Windows s’ouvre et affiche le dossier de build. Parcourez le dossier, puis double-cliquez sur le fichier solution pour l’ouvrir dans Visual Studio.
Configurez Visual Studio pour HoloLens en sélectionnant la configuration Master ou Release et l’architecture ARM64 :
Conseil
Si vous effectuez un déploiement sur HoloLens (1ère génération), sélectionnez l’architecture x86 .
Remarque
Si vous ne voyez pas Appareil comme une option cible dans Visual Studio, vous devrez peut-être modifier le projet de démarrage de la solution du projet IL2CPP vers le projet UWP . Dans l’Explorateur de solutions, cliquez avec le bouton droit sur [nom de votre projet](Windows universel) et sélectionnez Définir comme projet de démarrage.
Important
Avant de créer sur votre appareil, l’appareil doit être en mode développeur et associé à votre ordinateur de développement. voir Activation du mode développeur.
Sélectionnez la liste déroulante de cible de déploiement et effectuez l’une des opérations suivantes :
- Si vous créez et déployez via le Wi-Fi, sélectionnez Ordinateur distant.
- Si vous créez et déployez via USB, sélectionnez Appareil.
Définissez votre connexion distante : dans la barre de menus, sélectionnez Propriétés du projet>.
Dans la fenêtre de Property Pages du projet, sélectionnez Propriétés de configuration > Débogage.
Sélectionnez la liste déroulante Débogueur à lancer, puis choisissez Ordinateur distant, si l’option n’est pas déjà sélectionnée.
Important
Nous vous recommandons d’entrer manuellement votre adresse IP plutôt que de dépendre de la fonctionnalité de détection automatique. Pour rechercher votre adresse IP, sur votre HoloLens, accédez aux mises à jour des paramètres > et sécurité > pour les développeurs. L’adresse IP est répertoriée en bas de la fenêtre sous Ethernet.
Dans le champ Nom de l’ordinateur , entrez l’adresse IP de votre appareil.

Définissez le mode d’authentification sur Universal (protocole non chiffré).
Connectez votre HoloLens à votre ordinateur, puis effectuez l’une des actions suivantes dans Visual Studio :
- Pour effectuer un déploiement sur votre HoloLens et démarrer automatiquement l’application sans le débogueur Visual Studio attaché, sélectionnez Démarrer>sans débogage.
- Pour effectuer un déploiement sur votre HoloLens sans que l’application démarre automatiquement, sélectionnez Build>Deploy Solution.
Appairage de votre appareil
La première fois que vous déployez une application sur votre HoloLens à partir de votre PC, vous êtes invité à entrer un code PIN. Pour créer un code PIN :
- Dans votre HoloLens, accédez aux mises à jour des paramètres > et sécurité > pour les développeurs.
- Sélectionnez Paire. Cela affiche le code confidentiel dans HoloLens.
- Entrez le code PIN dans la boîte de dialogue de Visual Studio.
- Une fois le jumelage terminé, sélectionnez Terminé dans HoloLens.
Votre PC est désormais jumelé à votre HoloLens, et vous pouvez déployer des applications automatiquement. Répétez ces étapes pour chaque PC utilisé pour déployer des applications sur votre HoloLens.
Exécution de votre application sur votre HoloLens
Une fois la génération de votre application terminée, dans le menu Démarrer de HoloLens, recherchez la vignette de l’application pour votre application, puis sélectionnez-la.
Une fois l’application démarrée, accédez à Near Cube, puis saisissez-le, et faites-le glisser.
Utilisez le pointeur éloigné pour saisir Far Cube, puis faites-le glisser.
Conseil
Avec HoloLens, vous avez plus de possibilités que lorsque vous testez votre application dans Unity. Vous pouvez vous déplacer physiquement et utiliser le pointeur lointain sur Near Cube, ou accéder à Far Cube et le saisir avec votre main !
Conseils
Vous pouvez également déployer sur l’émulateur HoloLens ou créer un Package d'application pour l'installation manuelle.
Vous remarquerez peut-être la présence du profileur de diagnostics dans l’application. Vous pouvez l’activer ou le désactiver en utilisant la commande vocale Toggle Diagnostics. Nous vous recommandons de garder le profileur visible la plupart du temps pendant le développement, pour pouvoir comprendre comment les changements de l’application peuvent affecter les performances. Par exemple, vous pouvez surveiller votre application pour vous assurer que la fréquence d’images est d’au moins 60 FPS.
