Développement de la réalité mixte: avez-vous installé un haut-parleur dans un salon virtuel?

Nous continuons la série d'articles sur Windows Mixed Reality et développons à partir de zéro une application de réalité mixte Unity au format de travail de laboratoire. Vous pouvez vous-même, parallèlement à la publication d'articles, créer une telle application. Dans cette partie, nous considérons le support du contrôleur de mouvement et ajoutons le préfabriqué du haut-parleur au salon virtuel.



Le guide complet comprendra 5 parties. Il sera réapprovisionné chaque semaine. Ci-dessous, vous pouvez accéder à la pièce dont vous avez besoin.

Partie 1: Exporter l'application UWP pour Windows Mixed Reality depuis Unity ;
Partie 2: Configuration de l'environnement (VR) ;
Partie 3: Contrôleurs ;
Partie 4: Son spatial ;
Partie 5: HoloLens et graphiques .

Contrôleurs


À ce stade de la leçon pratique, nous allons créer un préfabriqué de haut-parleur et l'ajouter au salon virtuel. Ensuite, nous ajoutons la prise en charge du contrôleur de mouvement à notre scène afin que l'utilisateur puisse déplacer et faire tourner le haut-parleur.

Ajout d'un haut-parleur dans une pièce


  1. Accédez au dossier Modèles dans le panneau Projet et faites glisser le modèle Speaker3 dans le panneau Hiérarchie afin que ce modèle devienne l'objet racine et non l'enfant de l'un des objets de scène.
  2. Renommez le haut-parleur en cliquant dessus avec le bouton droit et en sélectionnant Renommer. Nommez-le Président.
  3. Sélectionnez l'objet Haut-parleur sur la scène, puis dans le panneau Inspecteur, modifiez les propriétés de transformation suivantes:

  • définissez le paramètre Scale sur (0,02; 0,02; 0,02);
  • définissez le paramètre Position sur (2,68; 0,14; 2).



Ajout de la prise en charge du contrôleur


Plus tôt, lorsque nous avons appliqué des paramètres de réalité mixte à notre scène, nous avons ajouté la prise en charge du contrôleur de mouvement.

Rappelons-nous comment ces paramètres affectent le fonctionnement des contrôleurs de mouvement dans notre scène.

  • L'élément MixedRealityCameraParent que nous avons ajouté contient un objet enfant appelé MotionControllers et contient un script MotionControllerVisualizer. Ce script surveille et visualise le modèle de contrôleur (change sa position, le fait pivoter et traite également les événements d'entrée).
  • L'objet InputManager que nous avons ajouté attend des événements d'entrée provenant de diverses sources. Parmi ses objets enfants figurent des objets pour la souris (souris), la saisie tactile (tactile), les gestes (GesturesInput) et la Xbox. L'objet GestureInput a un élément InteractionInputSource qui attend les événements du contrôleur de mouvement de l'InteractionManager. Ce sont des événements de contrôleur de mouvement qui seront utilisés pour contrôler notre haut-parleur.



Contrôle des haut-parleurs


Pour que l'utilisateur puisse déplacer et faire tourner le haut-parleur, des propriétés physiques doivent lui être ajoutées - nous pouvons alors déterminer que la vue est dirigée vers le haut-parleur.

  1. Sélectionnez l'objet Haut-parleur dans le panneau Hiérarchie pour modifier ses propriétés et son comportement dans le panneau Inspecteur.
  2. Dans le panneau Inspecteur, cliquez sur Ajouter un composant, puis recherchez et sélectionnez le composant Box Collider.
  3. Dans le composant Box Collider ajouté, définissez la propriété Size sur (21, 20, 53) afin qu'elle entoure complètement le haut-parleur.

Ensuite, ajoutez le comportement Bounding Box de la boîte à outils Mixed Reality:

1. Dans le panneau Projet, accédez au dossier Holotoolkit → UX → Scripts → BoundingBoxes (Holotoolkit → UX → Scripts → Bounding Boxes), sélectionnez le script BoundingBoxRig.cs et faites glisser ce script vers le panneau Inspecteur pour l'ajouter aux composants Conférencier

2. Comme nous n'avons pas besoin de changer l'échelle des enceintes, le paramètre Scale Rate peut être réglé sur 0.

Le composant BoundingBoxRig ajoute un élément gizmo à l'objet de jeu (dans ce cas, le haut-parleur). À l'aide du gizmo, l'utilisateur peut faire pivoter, déplacer et mettre à l'échelle un objet à l'aide de contrôleurs de mouvement ou de gestes HoloLens (touches et manipulations).

3. Avec l'objet Haut-parleur sélectionné, cliquez sur Ajouter un composant et dans la zone de recherche, saisissez Manipulable à deux mains, puis cliquez sur le script mis en évidence dans les résultats de la recherche.

4. Réglez le mode de manipulation de ce composant sur Rotation pour empêcher les enceintes de zoomer.

Ce scénario vous permet de contrôler des objets à deux mains - à l'aide des contrôleurs de mouvement ou à l'aide de gestes de pression et de maintien dans HoloLens.

5. Dans le panneau Projet, recherchez le préfabriqué BoundingBoxBasic dans le dossier Actifs → HoloToolkit → UX → Prefabs → BoundingBoxes (Ressources → HoloToolkit → UX → Prefabs → Bounding Boxes) et faites-le glisser sur la propriété Bounding Box Prefab du script B Rig dans l'objet Haut-parleur.

6. Faites également glisser le préfabriqué BoundingBoxBasic sur la propriété Bounding Box Prefab du composant manipulable à deux mains.

Le préfabriqué BoundingBoxBasic contient des éléments visuels qui sont rendus lors des manipulations, nous l'ajoutons donc à chaque composant.



7. Dans le panneau Projet, recherchez le préfabriqué AppBarCustom dans le dossier Assets -> Prefabs et faites-le glisser sur la propriété App Bar Prefab du composant Bounding Box Rig dans le haut-parleur.

Nous avons fait beaucoup de changements. Assurez-vous que le panneau Inspecteur de l'objet de jeu Speaker ressemble à ceci:



Lancement de l'application et déplacement du haut-parleur


Enregistrez la scène et exécutez-la pour vérifier vos modifications.

Essayez ce qui suit:

  • sélectionnez un haut-parleur et déplacez-le (les signaux de votre contrôleur doivent être surveillés);
  • Cliquez sur le panneau d'application du haut-parleur pour accéder aux boutons-pression qui vous permettent de faire pivoter le haut-parleur.
  • changer la taille / l'échelle de l'enceinte (si vous n'avez pas précédemment désactivé cette fonction).

Original

Auteurs: Eric Ahlstrom, cbarkerms, Madison Hight

Source: https://habr.com/ru/post/fr418661/


All Articles