Partager via


Outils et visualiseurs

Les outils et visualiseurs dans l’espace de noms Microsoft.MixedReality.WorldLocking.Tools sont destinés à faciliter le développement. Ils peuvent également constituer un point de départ pour l’interaction directe avancée avec le système WLT (World Locking Tools).

Bien qu’ils ne soient pas destinés à une utilisation directe comme c’est le cas dans une application, le développeur de l’application est libre de les utiliser ainsi.

WorldLocking.Core est conçu pour fonctionner en l’état dans n’importe quel scénario d’application approprié. Toutefois, les outils peuvent formuler des hypothèses sur l’application. Ces hypothèses peuvent les rendre inappropriés dans certaines situations.

Avant d’intégrer l’un des outils directement dans votre application, envisagez de créer une version de cet outil personnalisée pour vos besoins et vos ressources.

outils

Ajusteurs

Les ajusteurs sont des composants qui gèrent les événements de réajustement. Plus spécifiquement, ils créent des points d’attache. Dans le cas d’une opération de réajustement, le point d’attache sert de rappel de la notification. L’ajusteur gère cet événement de manière appropriée.

Pour plus d’informations conceptuelles, consultez AttachmentPoints.

La réaction exacte à un événement de réajustement varie en fonction des différents types d’objets et elle est spécifique à l’application. Par exemple, si l’élément Fragment de l’objet est actuellement inactif, l’objet doit-il être affiché ? Pour certaines applications, dans la mesure où le placement correct de l’objet ne peut pas être déterminé, il doit être masqué. Pour d’autres applications, il peut être préférable d’afficher l’objet dans une position temporairement incorrecte plutôt que de subir la confusion que peut causer sa disparition. Et même pour les applications qui doivent masquer l’objet, il existe différentes façons d’effectuer le masquage (par exemple, la désactivation ou le déplacement).

Les composants AdjusterFixed et AdjusterMoving gèrent deux scénarios courants au minimum.

Le composant AdjusterFixed suppose que sa cible n’est généralement pas en mouvement. Si World Locking Tools envoie un réglage de la position en raison d’un événement de réajustement, le but est de garder l’objet de AdjusterFixed immobile dans le monde.

En revanche, le composant AdjusterMoving suppose que sa cible est mobile dans l’espace de coordonnées Unity. Il maintient le système World Locking Tools au courant de l’emplacement de sa cible. Ainsi, en cas d’opération de réajustement, le système peut fournir la correction la plus précise pour maintenir la position de la cible par rapport à la constante du monde physique à ce moment précis.

Adaptateurs

Les composants adaptateurs sont uniquement destinés à l’illustration. Si vous utilisez l’un des adaptateurs, vous devriez probablement repenser la façon dont vous essayez d’utiliser World Locking Tools.

En particulier, MRTK a déjà des adaptateurs intégrés, donc aucune transformation du système de coordonnées supplémentaire n’est requise de la part de l’application.

Parfois, surtout si vous n’utilisez pas MRTK, lors de la conversion à partir de ressources natives, les coordonnées de l’espace Spongy sont communiquées à l’espace figé. Dans ce cas, l’un des adaptateurs inclus ici peut constituer une bonne référence pour le développeur de l’application.

  • WorldAnchorAdapter : un WorldAnchor ajuste la taille d’un objet dans l’espace Spongy pour qu’il reste fixe dans l’espace physique. Cela est redondant dans l’espace universel verrouillé fourni par World Locking Tools, et l’objet dérive vers l’espace figé. Cet adaptateur permet à un WorldAnchor de conserver la position d’un objet dans l’espace figé. Cela n’est pas nécessaire, sauf pour les diagnostics. Tous les objets dans l’espace de coordonnées global d’Unity sont de type universel verrouillé par World Locking Tools.

  • ToggleWorldAnchor : similaire à WorldAnchorAdapter, mais peut être activé/désactivé. Et il convertit automatiquement en comportement WorldAnchor normal lorsque le composant WorldLockingManager est désactivé. Utile uniquement pour les diagnostics.

  • FrozenSpatialMapping : un adaptateur gère et restitue correctement les résultats à partir d’un SurfaceObserver. Le système MRTK Spatial Awareness fournit toutes ces fonctionnalités et plus encore, et ne nécessite pas d’adaptateur pour fonctionner avec World Locking Tools.

  • FrozenTapToAdd : l’interfaçage direct avec le système d’entrée Unity nécessite la conversion des données de coordonnées entrantes comme indiqué ici. Cela n’est pas nécessaire avec le système d’entrée MRTK.

Visualiseurs

Visualisation du graphe d’ancrage

Le composant AnchorGraphVisual et ses composants préfabriqués associés sont au cœur des visualisations fournies. Les éléments du composant sont les suivants :

  1. Axes : les positions actuelles des origines de l’espace Spongy (vert) et de l’espace figé (bleu) sont indiquées sous forme d’identificateurs d’axe standard à 3 flèches.

  2. Ancres Spongy : il s’agit des ancres sous-jacentes natives qui ont été créées pour alimenter l’optimisation du moteur Frozen World. Chacune est représentée par un anneau avec une balise de texte qui l’identifie. En outre, la couleur et la taille fournissent des informations supplémentaires.

    • Une ancre suivie active est verte.

    • Une ancre suivie avec une pertinence nulle est rouge.

    • Une ancre non prise en charge est jaune.

    • Plus l’anneau est grand, plus la pertinence de cette ancre est importante.

  3. Ancres figées : il s’agit des points de référence correspondants dans l’espace figé. En l’absence d’erreur du dispositif de suivi, celles-ci sont exactement alignées sur les ancres Spongy.

  4. Contours Spongy-Frozen : ils connectent les ancres Spongy à leurs ancres figées correspondantes. En l’absence d’erreur du dispositif de suivi, celles-ci coïncident. Si ces contours ne s’affichent pas, cela signifie que tout fonctionne parfaitement. Dans tous les cas, ces contours ne doivent pas mesurer plus de quelques centimètres. Ils sont rouges du côté de l’espace gelé. La couleur passe au bleu du côté de l’espace Spongy.

  5. Contours d’ancrage : ces fines lignes bleues-grises affichent les connexions entre les ancres Spongy dans le graphe d’ancrage.

Graphique d’ancre classique parcourant une pièce

L’activation de l’affichage du graphe d’ancrage généré par World Locking Tools lorsque l’utilisateur se déplace dans l’environnement physique nécessite uniquement l’abandon du préfabriqué WorldLockingTools > Prefabs > AnchorGraphVisual dans la scène. Il est habituellement ajouté en tant que frère de WorldLockingContext, mais son emplacement exact dans la hiérarchie n’est pas important. Toutefois, il ne doit pas être placé dans la hiérarchie de la caméra.

Les ancres spatiales que WLT crée et utilise en interne sont créées à l’emplacement de la caméra. Étant donné qu’il est déroutant de parcourir un champ de visualisations d’ancrage au niveau oculaire, le système les affiche par défaut à 1 mètre en-dessous de leur position réelle. Pour afficher les visualisations d’ancrage aux positions d’ancrage réelles, configurez le paramètre Déplacement vertical du composant Visuel du graphe d’ancrage sur zéro.

Sortie supplémentaire

Les Exemples World Locking incluent des diagnostics de texte. La plupart d’entre eux s’appliquent uniquement aux développeurs de World Locking Tools, plutôt qu’aux clients qui exploitent ses capacités. Toutefois, ils sont disponibles pour la lecture et, comme indiqué dans le script StatusToText, pour un affichage en temps réel.

Affichage des diagnostics classiques

Pour l’analyse post-mortem, la section Diagnostics de WorldLockingContext peut être très utile pour signaler les défaillances du moteur Frozen World. Consultez Signaler un bogue pour plus d’informations.