Exemple de repères spatiaux

La fonctionnalité illustrée dans l’exemple de repères spatiaux est également disponible dans l’exemple de scène World Locked Physics.

Cependant, l’exemple Space Pin offre une vue simplifiée et plus ciblée de la fonctionnalité Space Pin. Elle est conçue pour se rapprocher du fonctionnement interne d’une application réelle qui doit aligner un ou des objets volumineux avec des caractéristiques réelles.

Il ne dispose donc pas de la plupart des options et de l’interface utilisateur de l’exemple plus général World Locked Physics.

Paramètres par défaut

Les paramètres du gestionnaire de World Locking Tools appliqués peuvent être examinés dans l’inspecteur Unity en sélectionnant le nœud WorldLocking > WorldLockingManager.

En particulier, les fonctionnalités d’enregistrement automatique et de chargement automatique de World Locking Tools sont activées. Par conséquent, après avoir aligné les sphères et le faisceau de mesure sur des caractéristiques du monde réel, comme décrit ci-dessous, la session suivante au démarrage reprendra cet alignement automatiquement.

Pour réinitialiser l’exemple à un état propre, désinstallez-le et redéployez-le. Il existe, bien sûr, des API à réinitialiser à partir d’un script, mais celles-ci sont omises ici à des fins de clarté. Voir IAlignmentManager.ClearAlignmentAnchors().

En outre, la démonstration permet d’activer automatiquement les opérations de réajustement. Voir ci-dessous.

Configuration de l’espace physique

Cet exemple contient 4 marqueurs. Pour explorer complètement l’exemple, placez les marqueurs physiques dans un espace correspondant à la disposition des marqueurs virtuels.

Remarque : la disposition des marqueurs virtuels dans la scène Unity peut être modifiée pour correspondre à n’importe quel espace physique. Il n’y a rien de spécial sur la disposition par défaut. Toutefois, bénéficier des avantages de la fonctionnalité de repères spatiaux nécessite une répartition importante des marqueurs, avec des séparations d’au moins quelques mètres.

La disposition des marqueurs physiques dans la salle doit correspondre à la disposition des marqueurs virtuels dans la scène Unity, comme indiqué dans ce diagramme :

Disposition des marqueurs d’épingle d’espace

Exécution de l'exemple

Démarrage

Au démarrage de la première session, l’origine de l’espace de coordonnées Unity sera à la position de la tête.

Si vous regardez à gauche et que vous avancez de 6 mètres, vous verrez une sphère cyan, avec un cube cyan au-dessus.

En regardant vers la droite et vers l’arrière, vous verrez une sphère rouge et un cube, à 10 mètres de distance.

En se déplaçant vers l’avant à partir de l’origine et en regardant en arrière, vous voyez une sphère et un cube blancs. Huit mètres plus loin, vous verrez une sphère et un cube jaunes.

Il y a aussi des faisceaux de couleurs alternées qui courent sous les sphères. Leur intérêt sera plus clair au cours de la procédure pas à pas.

Alignement du monde

Déplacez-vous vers l’une des sphères colorées. Cette procédure pas à pas va commencer par la sphère rouge.

Allez à la sphère rouge. La sphère peut être saisie à distance à l’aide de rayons HL2, ou du pointage du regard avec HL1. Sur HL2, elle peut également être saisie à la main.

Recherchez le marqueur placé dans la salle physique correspondant à la sphère rouge. Saisissez la sphère rouge virtuelle à l’aide de l’une des méthodes ci-dessus et faites-la glisser vers le marqueur de la sphère rouge. Ajustez ensuite la sphère pour l’aligner sur le marqueur physique, aussi bien que possible.

Les autres sphères sont désormais également déplacées. Toutefois, leur orientation est inchangée. Autrement dit, le monde virtuel a été traduit pour placer la sphère rouge sur son marqueur, mais l’orientation du monde n’a pas encore été affectée.

Déplacez-vous vers une autre sphère. Pour cette procédure pas à pas, la sphère blanche vient ensuite.

Répétez la procédure ci-dessus, en déplaçant la sphère blanche virtuelle pour l’aligner sur son marqueur physique.

À présent, l’espace virtuel a été pivoté et traduit, de sorte que les sphères rouge, blanche et cyan sont toujours alignées, la sphère jaune sur un décalage perpendiculaire par rapport à la sphère blanche.

Vérifiez que lorsqu’elle est proche de la sphère blanche, elle est alignée sur son marqueur physique. Passez à la sphère rouge et vérifiez qu’elle est alignée sur son marqueur physique.

Passez maintenant à une autre sphère. Cette procédure pas à pas va passer à la sphère cyan.

Si la sphère cyan est alignée sur la rouge et la blanche, elle n’est pas positionnée correctement au niveau de son marqueur. Le vecteur exact et l’ampleur de l’erreur dépendent de l’appareil et même de la situation, mais il est probable qu’elle se situe presque correctement sur la ligne des sphères rouge et blanche, mais en deçà du marqueur physique.

Faites glisser la sphère cyan vers son alignement correct avec le marqueur physique. Vérifiez, en allant vers chacun d’eux et en les examinant, que chacun des trois marqueurs placés est maintenant correctement aligné lorsqu’ils se trouvent à proximité les uns des autres.

Si vous le souhaitez, répétez ce processus pour la sphère finale.

Mode de manipulation alternatif

La procédure pas à pas ci-dessus est basée sur la configuration par défaut de l’application, dans laquelle l’orientation de l’espace virtuel est impliquée par le positionnement relatif des marqueurs.

Dans un autre mode, l’orientation peut être définie explicitement en saisissant les sphères et en les faisant pivoter sur l’axe Y.

Le mode de manipulation par défaut décrit ci-dessus est généralement beaucoup plus facile, car le positionnement des objets dans l’espace virtuel a tendance à être beaucoup plus précis que de les faire pivoter vers une orientation spécifique.

De même, lors de l’utilisation de codes QR pour l’alignement automatique, la position retournée pour un marqueur de code QR a tendance à être bien plus fiable que l’orientation.

Toutefois, certaines applications peuvent avoir une connaissance approfondie et spécifique de l’orientation souhaitée de l’espace, qu’elles peuvent exploiter en utilisant cette seconde méthode.

Pour activer la méthode d’orientation explicite dans la démonstration, désactivez simplement les composants de manipulation orientable des repères spatiaux sur les sphères du marqueur dans :

Content > Manipulation > Markers > CyanSphere/RedSphere/YellowSphere/GreySphere.

et activez les composants de manipulation de repères spatiaux actuellement désactivés.

La procédure pas à pas suggérée est la suivante :

Positionnez l’une des sphères dans l’alignement de son repère physique et orientez-la de manière à ce que les autres sphères soient dans la bonne direction par rapport à elle.

Les autres sphères se trouvent maintenant à des distances incorrectes, mais avec approximativement le bon vecteur.

Déplacez-les ensuite l’une après l’autre, puis repositionnez-les pour les aligner avec leur marqueur physique. Aucune modification d’orientation supplémentaire ne devrait être nécessaire.

Examen des résultats

Si un outil de mesure, comme une mesure de bande, est disponible, cet alignement peut être examiné plus en détail.

Si les sphères ont été placées correctement, il ne devrait y avoir aucune erreur sur chacune d’elles.

Le rayon T passant sous la sphère alterne les couleurs à chaque mètre. En mesurant l’écart des variations de couleur des faisceaux avec les marques de mesure dans l’appareil de mesure, l’erreur dans les zones entre les repères spatiaux peut être vue.

Opérations de réajustement

Les opérations de réajustement automatique se manifestent le plus souvent comme suit :

  1. Après le positionnement d’une ou plusieurs des sphères, les objets virtuels sont alignés comme prévu.
  2. Par la suite, le suivi est perdu.
  3. Le suivi reprend après le déplacement vers une autre zone physique.
  4. L’alignement de la première sphère est perdu et n’a aucun effet (car elles se trouvent dans un fragment différent).
  5. Après avoir déplacé la nouvelle section de l’espace (éventuellement en positionnant une autre sphère), la tête revient à l’espace d’origine.
  6. Une opération de réajustement associe automatiquement et silencieusement les fragments originaux et nouveaux.
  7. L’alignement de la première sphère devient à nouveau effectif (car elles se trouvent toutes dans le même fragment désormais).