Forum aux questions

Définitions utilisées dans cette documentation :

Pose – une position et une orientation.

Hologramme : un objet virtuel visible.

Monde réel : le monde physique.

Monde physique : le monde réel.

Monde virtuel : produit et simulé de manière synthétique, présenté par le biais d’un support électronique.

Marqueur de monde virtuel – pose dans le système de coordonnées virtuel (modélisation). C’est tout, juste une position et une orientation de référence.

Marqueur réel – une pose relative à l’environnement réel et à la caméra correspondant à un marqueur de monde virtuel. La pose du marqueur réel est établie par une combinaison de données sensées.

Fonctionnalités visibles : fonctionnalités du monde physique qui sont reconnaissables visuellement.

Que fait World Locking Tools ?

En raison d’incohérences entre les marqueurs virtuels et réels, World Locking Tools offre un système de coordonnées stable et un réglage de caméra qui réduit les incohérences visibles.

En d’autres termes, il verrouille l’ensemble de la scène avec un pool partagé d’ancres, au lieu de verrouiller chaque groupe d’objets avec la propre ancre individuelle du groupe.

Pourquoi les marqueurs virtuels et réels sont-ils incohérents ?

Parmi les nombreuses technologies exceptionnelles sous-jacentes à la réalité mixte Microsoft, la possibilité de suivre la pose du casque dans le monde physique en temps réel, sans l’aide d’appareils externes, est particulièrement spectaculaire.

Le système de suivi de tête est remarquablement précis pour déterminer la pose de la tête par rapport aux points de référence virtuels connus dans l’environnement physique. Pour cette discussion, ces points de référence virtuels seront appelés « fonctionnalités visibles ».

Lors de la sortie d’une position connue par rapport aux fonctionnalités visibles environnantes, par exemple si l’utilisateur parcourt la salle, puis retourne à cette même position, le système reconnaît un grand nombre de ces mêmes fonctionnalités visibles. Il peut également déterminer les poses de ces fonctionnalités visibles par rapport à la pose actuelle de la tête, et le faire avec une précision étonnante.

À présent, le système de suivi sait où ces fonctionnalités et la tête se trouvent respectivement, mais elles ne savent pas, en termes absolus, les coordonnées de la tête ou des fonctionnalités. Étant donné que le monde physique n’a pas de système de coordonnées absolues, il n’existe aucune réponse appropriée. Le système de suivi affecte donc des coordonnées cohérentes avec l’historique récent, mais qui peuvent être incohérentes sur l’ensemble de l’historique. Autrement dit, lors du retour à la même pose, la tête peut désormais afficher des valeurs différentes des coordonnées précédentes. Il s’agit d’une forme de dérive de capteur.

Toutefois, si les nouvelles coordonnées de pose virtuelle de la tête sont décalées vers le X positif, par exemple, tous les objets hologrammes qui sont stationnaires dans ce système de coordonnées virtuelles sont désormais décalés vers le X négatif par rapport à la tête. Cela signifie que pour l’observateur qui porte le dispositif de suivi de tête, ces coordonnées sont décalées par rapport au monde réel et à leur positionnement précédent.

Unity peut-il gérer cela ?

Oui, avec certaines restrictions. Unity fournit un excellent mécanisme pour traiter ce problème, connu sous le nom d’ancres spatiales. Si l’espace virtuel est décalé par rapport à l’espace physique, en effectuant le suivi des fonctionnalités visibles sous-jacentes, une ancre spatiale peut se déplacer dans l’espace virtuel et rester ainsi verrouillée dans l’espace physique. Tout ce qui est attaché à l’ancre spatiale sera également déplacé vers l’espace virtuel d’Unity pour rester immobile dans l’espace physique.

Les limitations sont liées au fait que les fonctionnalités visibles deviennent peu fiables lorsqu’elles s’éloignent des caméras du dispositif de suivi de tête. Ce n’est pas surprenant. Les fonctionnalités visibles qui ne sont pas visibles entraînent de mauvais points de référence.

La plage utile d’une ancre spatiale est donc limitée à 3 mètres. Selon les exigences de précision de l’application, la plage utilisable peut être inférieure.

Cela semble assez bon, alors quel est le problème ?

C’est bien mieux que cela, c’est tout simplement incroyable. Toutefois, il existe des situations importantes où les ancres spatiales ne fournissent pas une solution satisfaisante.

Tout d’abord, chaque ancre spatiale se déplace par le biais de l’espace de coordonnées virtuelles d’Unity, en tentant de rester stationnaire dans le monde physique. Cela signifie que les objets ancrés indépendamment seront déplacés les uns par rapport aux autres lorsqu’ils essaieront de rester dans leurs positions physiques. Pour une application qui tente de maintenir une mise en page précise, cela peut constituer un gros problème.

Deuxièmement, avec sa plage limitée, une seule ancre spatiale ne fournit pas de bons résultats pour les objets uniques qui sont plus grands que la plage utilisable de cette ancre spatiale. Tandis que les points de l’objet près de l’ancre spatiale resteront bien verrouillés, en raison de l’effet de levier, les points plus éloignés de l’ancre spatiale resteront affectés par des erreurs sans cesse croissantes. Cela laisse un objet, ou une collection d’objets, supérieur à un mètre ou sans une solution robuste de verrouillage universel.

Quels sont les autres problèmes potentiels ?

Lors du retour à une pose déjà occupée, World Locking Tools a suffisamment d’informations pour restaurer le système de coordonnées virtuelles là où il était par rapport au monde physique. Ainsi, les hologrammes qui sont stationnaires dans le monde virtuel le sont également dans le monde physique.

Mais la dérive peut se produire aussi bien sur un trajet aller que sur un trajet retour.

À titre d'exemple concret, nous pouvons mesurer 10 mètres entre deux codes QR placés dans une pièce physique, et modéliser ainsi deux boîtiers dans la pièce virtuelle comme étant à 10 mètres l'un de l'autre. Mais au moment de l’exécution, en raison de la dérive de la pose de la tête dans l'espace virtuel, 10 mètres entre les codes QR correspondent à 11 mètres dans l'espace virtuel.

L'application peut opter pour une fonctionnalité World Locking Tools afin de résoudre ce problème en fournissant des informations calibrant la distance dans l'espace virtuel par rapport à la distance dans l'espace physique. World Locking Tools se place au-dessus du premier code QR et regarde vers le bas pour apercevoir le premier boîtier. Lorsque les 10 mètres sont parcourus dans le monde physique, le mètre supplémentaire dans l'espace virtuel est absorbé, laissant la tête à 10 mètres également dans l'espace virtuel. Ainsi, en atteignant le deuxième code QR physique et en regardant vers le bas, le deuxième boîtier virtuel apparaîtra comme prévu.

Notez que des ajustements correspondants seront effectués sur toutes les ancres qui ne disposent pas de données de terrain réelles car ils sont transmis sur le chemin entre les deux codes QR. Cet ajustement est, bien sûr, appliqué en douceur pour minimiser sa perception.

Que se passe-t-il si les marqueurs réels ne sont pas stables ?

En outre, si les marqueurs du monde réel sont mis à jour de manière dynamique, World Locking Tools peut ajuster son cadre spatial et le réglage de la caméra pour s’adapter de manière optimale à la configuration actuelle.

Par exemple, sur HoloLens, si les marqueurs du monde réel sont des ancres spatiales, ils dériveront au fil du temps. Ils se déplaceront également lors du rétablissement (par exemple, la fermeture d'une boucle), et dans d'autres circonstances. À mesure que leurs poses sont mises à jour, World Locking Tools compense en ajustant la caméra comme précédemment pour minimiser les incohérences perçues entre les ancres spéciales détectées et leurs contreparties virtuelles.

Notez que cette compensation pour les mises à jour des positions des ancres peut se produire même en l'absence de données de terrain réelles sur les marqueurs. Les données de terrain réelles impliquent que les relations actuelles entre les marqueurs du monde réel sont (davantage) correctes.

Que se passe-t-il si les incohérences sont vraiment mauvaises ?

World Locking Tools peut détecter plusieurs scénarios dans lesquels les incohérences entre les marqueurs réels et virtuels sont importantes et peuvent être améliorées. Par exemple, vous pouvez obtenir davantage d'informations qui établissent la relation spatiale entre deux groupes de marqueurs précédemment isolés. Ou la fermeture d'une boucle peut suggérer un déplacement des marqueurs le long de l'itinéraire pour permettre aux points terminaux de se rencontrer.

Dans de tels cas, World Locking Tools informe le client de l'existence d'un correctif potentiel et, à sa demande, effectue le correctif et l’informe des ajustements à apporter à ses objets qui suivent les marqueurs virtuels. Tant que le client ne demande pas une telle correction, World Locking Tools continue à minimiser les incohérences perçues.