Partager via


Systèmes de coordonnées

À la base, les applications de réalité mixte placent dans votre monde des hologrammes qui ressemblent à des objets réels et sonnent. Cela implique de positionner et d’orienter précisément ces hologrammes à des endroits significatifs dans le monde, que le monde soit leur salle physique ou un domaine virtuel que vous avez créé. Windows fournit différents systèmes de coordonnées réels pour exprimer la géométrie, appelés systèmes de coordonnées spatiales. Vous pouvez utiliser ces systèmes pour raisonner la position de l’hologramme, l’orientation, le rayon du regard ou la position de la main.

Prise en charge des appareils

Fonctionnalité HoloLens (1ère génération) HoloLens 2 Casques immersifs
Cadre de référence stationnaire ✔️ ✔️ ✔️
Cadre de référence attaché ✔️ ✔️ ✔️
Cadre d’étape de référence Pas encore pris en charge Pas encore pris en charge ✔️
Ancres spatiales ✔️ ✔️ ✔️
Mappage spatial ✔️ ✔️
Compréhension de la scène ✔️

Échelles d’expérience de réalité mixte

Vous pouvez concevoir des applications de réalité mixte pour un large éventail d’expériences utilisateur, des visionneuses vidéo à 360 degrés utilisant l’orientation du casque aux applications et jeux complets à l’échelle mondiale utilisant le mappage spatial et les ancres spatiales :


Expérience de mise à l’échelle Configuration requise Exemple d’expérience
Orientation uniquement Orientation du casque (alignée sur la gravité) Visionneuse vidéo 360°
Échelle assise Au-dessus plus la position du casque en fonction de la position zéro Jeu de course ou simulateur d’espace
Mise à l’échelle permanente Au-dessus de l’origine de l’étage plus Jeu d’action où vous canard et esquive en place
À l’échelle de la salle Polygone des limites d’étape ci-dessus plus Jeu de puzzle où vous vous promenez autour du puzzle
À l’échelle mondiale Ancres spatiales (et généralement le mappage spatial) Jeu avec des ennemis provenant de vos murs réels, comme RoboRaid

Les échelles d’expérience ci-dessus suivent un modèle de « poupées imbriquées ». Le principe de conception clé pour Windows Mixed Reality est le suivant : un casque donné prend en charge les applications conçues pour une échelle d’expérience cible et toutes les échelles inférieures.


Suivi 6DOF Plancher défini Suivi à 360° Limites définies Ancres spatiales Expérience maximale
Non - - - - Orientation uniquement
Oui Non - - - Assis
Oui Oui Non - - Debout - Vers l’avant
Oui Oui Oui Non - Debout - 360°
Oui Oui Oui Oui Non Room
Oui Oui Oui Oui Oui Monde

Le cadre de référence Stage n’est pas encore pris en charge sur HoloLens. Une application à l’échelle de la salle sur HoloLens doit actuellement utiliser le mappage spatial ou la compréhension des scènes pour trouver le sol et les murs de l’utilisateur.

Systèmes de coordonnées spatiales

Toutes les applications graphiques 3D utilisent des systèmes de coordonnées cartésiens pour raisonner les positions et les orientations des objets virtuels. Ces systèmes de coordonnées établissent trois axes perpendiculaires : X, Y et Z. Chaque objet que vous ajoutez à une scène aura une position XYZ dans son système de coordonnées. Windows appelle un système de coordonnées qui a une signification réelle dans le monde physique un système de coordonnées spatiales , qui exprime ses valeurs de coordonnées en mètres. Cela signifie que les objets placés à deux unités l’un de l’autre sur l’axe X, Y ou Z apparaissent à deux mètres l’un de l’autre lorsqu’ils sont affichés en réalité mixte. Sachant cela, vous pouvez facilement afficher des objets et des environnements à l’échelle réelle.

En général, les systèmes de coordonnées cartésiens sont appelés « droitiers » ou « gauchers », car vous pouvez utiliser les positions de la main pour indiquer la direction des axes XYZ. Dans les deux systèmes de coordonnées, l’axe X positif pointe vers la droite et l’axe Y positif pointe vers le haut. La différence entre les deux est que dans le système de coordonnées droitier, l’axe Z pointe vers vous, tandis que dans le système de coordonnées gaucher, l’axe Z pointe loin de vous.

Image de la main droite d’une personne montrant le système de coordonnées droitier

Image de la main gauche d’une personne montrant le système de coordonnées gaucher

Les systèmes de coordonnées spatiales sur Windows (et par conséquent, Windows Mixed Reality) sont toujours droitiers.

[! REMARQUES]

  • Unity et Unreal utilisent le système de coordonnées gaucher.
  • Bien que les coordonnées gaucher et droite soient les systèmes les plus courants, d’autres systèmes de coordonnées sont utilisés dans les logiciels 3D. Par exemple, il n’est pas rare que les applications de modélisation 3D utilisent un système de coordonnées dans lequel l’axe Y pointe vers ou loin de la visionneuse et l’axe Z pointe vers le haut.

Création d’une expérience d’orientation uniquement ou d’échelle assise

La clé du rendu holographique consiste à modifier la vue de votre application de ses hologrammes chaque image à mesure que l’utilisateur se déplace, pour qu’elle corresponde à son mouvement de tête prédit. Vous pouvez créer des expériences de mise à l’échelle assis qui respectent les modifications apportées à la position de la tête et à l’orientation de la tête de l’utilisateur à l’aide d’un cadre de référence stationnaire.

Certains contenus doivent ignorer les mises à jour de la position de la tête, en restant fixes à un titre choisi et à la distance de l’utilisateur. L’exemple principal est la vidéo à 360 degrés : étant donné que la vidéo est capturée à partir d’une seule perspective fixe, cela ruinerait l’illusion que la position de la vue se déplace en fonction du contenu, même si l’orientation de la vue change à mesure que l’utilisateur regarde autour de lui. Vous pouvez créer ces expériences d’orientation uniquement à l’aide d’un cadre de référence attaché.

Cadre de référence stationnaire

Le système de coordonnées fourni par un cadre fixe de référence veille à maintenir les positions des objets près de l’utilisateur aussi stables que possible en fonction du monde, tout en respectant les changements de la position de la tête de l’utilisateur.

Pour les expériences à l’échelle assis dans un moteur de jeu comme Unity, un cadre de référence stationnaire est ce qui définit l'« origine du monde » du moteur. Les objets placés à une coordonnée de monde spécifique utilisent le cadre de référence stationnaire pour définir leur position dans le monde réel à l’aide de ces mêmes coordonnées. Le contenu qui reste dans le monde, même lorsque l’utilisateur se déplace, est appelé contenu verrouillé dans le monde .

Une application crée généralement un cadre de référence stationnaire au démarrage et utilise son système de coordonnées tout au long de la durée de vie de l’application. En tant que développeur d’applications dans Unity, vous pouvez simplement commencer à placer du contenu en fonction de l’origine, qui sera à la position et à l’orientation initiales de l’utilisateur. Si l’utilisateur se déplace vers un nouvel emplacement et souhaite poursuivre son expérience de mise à l’échelle assise, vous pouvez recentrer l’origine du monde à cet emplacement.

Au fil du temps, à mesure que le système en apprend davantage sur l’environnement de l’utilisateur, il peut déterminer que les distances entre différents points du monde réel sont plus courtes ou plus longues que ce que le système croyait précédemment. Si vous affichez des hologrammes dans un cadre fixe de référence pour une application sur HoloLens où les utilisateurs se promènent au-delà d’une zone d’environ 5 mètres de large, votre application peut observer une dérive à l’emplacement observé de ces hologrammes. Si votre expérience a des utilisateurs errant au-delà de 5 mètres, vous créez une expérience à l’échelle mondiale, qui nécessite d’autres techniques pour maintenir la stabilité des hologrammes, comme décrit ci-dessous.

Cadre de référence attaché

Un cadre de référence attaché se déplace avec l’utilisateur à mesure qu’il se déplace, avec un titre fixe défini lorsque l’application crée le frame pour la première fois. Cela permet à l’utilisateur de regarder confortablement le contenu placé dans ce cadre de référence. Le contenu rendu de cette façon relative par l’utilisateur est appelé contenu verrouillé par le corps .

Lorsque le casque ne peut pas déterminer où il se trouve dans le monde, un cadre de référence attaché fournit le seul système de coordonnées, qui peut être utilisé pour afficher les hologrammes. Il est donc idéal pour afficher l’interface utilisateur de secours pour indiquer à l’utilisateur que son appareil ne peut pas les trouver dans le monde. Les applications dont l’échelle est assise ou supérieure doivent inclure un secours d’orientation uniquement pour aider l’utilisateur à recommencer, avec une interface utilisateur similaire à celle indiquée dans la page d’accueil du Mixed Reality.

Création d’une expérience à l’échelle de la salle ou à l’échelle de la salle

Pour aller au-delà de la mise à l’échelle assise sur un casque immersif et créer une expérience à l’échelle debout, vous pouvez utiliser le cadre de référence de l’étape.

Pour fournir une expérience à l’échelle de la salle, en permettant aux utilisateurs de se déplacer dans la limite de 5 mètres qu’ils ont prédéfinie, vous pouvez également case activée pour les limites de phase.

Cadre d’étape de référence

Lors de la première configuration d’un casque immersif, l’utilisateur définit une phase, qui représente la salle dans laquelle il va expérimenter la réalité mixte. L’étape définit au minimum une origine de phase, un système de coordonnées spatiales centré sur la position de plancher choisie par l’utilisateur et l’orientation vers l’avant où il a l’intention d’utiliser l’appareil. En plaçant le contenu de ce système de coordonnées d’étape au niveau du plan de plancher Y=0, vous pouvez vous assurer que vos hologrammes apparaissent confortablement sur le sol lorsque l’utilisateur est debout, offrant ainsi aux utilisateurs une expérience à l’échelle debout.

Limites d’étape

L’utilisateur peut également éventuellement définir des limites de phase, une zone dans la pièce qu’il a effacée pour se déplacer dans la réalité mixte. Si c’est le cas, l’application peut créer une expérience à l’échelle de la salle, en utilisant ces limites pour s’assurer que les hologrammes sont toujours placés là où l’utilisateur peut les atteindre.

Étant donné que le cadre de référence intermédiaire fournit un système de coordonnées fixe unique dans lequel placer le contenu relatif au sol, il s’agit du chemin le plus simple pour le portage des applications à l’échelle de la salle et à l’échelle de la salle développées pour les casques de réalité virtuelle. Toutefois, comme pour ces plateformes VR, un système de coordonnées unique ne peut stabiliser le contenu que dans un diamètre d’environ 5 mètres (16 pieds), avant que les effets du bras de levier entraînent le déplacement du contenu loin du centre à mesure que le système s’ajuste. Pour dépasser 5 mètres, des ancres spatiales sont nécessaires.

Création d’une expérience à l’échelle mondiale

HoloLens permet de véritables expériences à l’échelle mondiale qui permettent aux utilisateurs d’errer au-delà de 5 mètres. Pour créer une application à l’échelle mondiale, vous aurez besoin de nouvelles techniques au-delà de celles utilisées pour les expériences à l’échelle de la salle.

Pourquoi un système de coordonnées rigide unique ne peut pas être utilisé au-delà de 5 mètres

Aujourd’hui, lors de l’écriture de jeux, d’applications de visualisation de données ou d’applications de réalité virtuelle, l’approche classique consiste à établir un système de coordonnées monde absolu auquel toutes les autres coordonnées peuvent être mappées de manière fiable. Dans cet environnement, vous pouvez toujours trouver une transformation stable qui définit une relation entre deux objets dans ce monde. Si vous ne déplacez pas ces objets, leurs transformations relatives restent toujours les mêmes. Ce type de système de coordonnées global fonctionne bien lors du rendu d’un monde purement virtuel où vous connaissez toute la géométrie à l’avance. Aujourd’hui, les applications VR à l’échelle de la salle établissent généralement ce type de système de coordonnées absolu à l’échelle de la pièce avec son origine sur le sol.

En revanche, un appareil de réalité mixte non attaché tel que HoloLens a une compréhension dynamique du monde par capteur, qui ajuste en permanence sa connaissance de l’environnement de l’utilisateur au fil du temps à mesure qu’il marche plusieurs mètres à travers un étage entier d’un bâtiment. Dans une expérience à l’échelle du monde, si vous placez tous vos hologrammes dans un système de coordonnées rigide unique, ces hologrammes dérivent nécessairement au fil du temps, soit en fonction du monde, soit entre eux.

Par exemple, le casque peut actuellement croire que deux emplacements dans le monde sont séparés de 4 mètres, puis affiner cette compréhension, en apprenant que les emplacements sont en fait à 3,9 mètres. Si ces hologrammes avaient été initialement placés à 4 mètres de distance dans un système de coordonnées rigide unique, l’un d’eux apparaît alors toujours à 0,1 mètre du monde réel.

Ancres spatiales

Windows Mixed Reality résout le problème décrit dans la section précédente en vous permettant de créer des ancres spatiales pour marquer des points importants dans le monde où l’utilisateur a placé des hologrammes. Une ancre spatiale représente un point important du monde que le système doit suivre au fil du temps.

Au fur et à mesure que l’appareil en apprend davantage sur le monde, ces ancres spatiales peuvent ajuster leur position en fonction des autres en fonction des besoins pour s’assurer que chaque ancre reste précisément là où elle a été placée en fonction du monde réel. En plaçant une ancre spatiale à l’emplacement où l’utilisateur place un hologramme, puis en le positionnant en fonction de son ancre spatiale, vous pouvez vous assurer que l’hologramme maintient une stabilité optimale, même si l’utilisateur se déplace sur des dizaines de mètres.

Cet ajustement continu des ancres spatiales basées les unes sur les autres est la principale différence entre les systèmes de coordonnées des ancres spatiales et les trames fixes de référence :

  • Les hologrammes placés dans le cadre stationnaire de référence gardent tous une relation rigide les uns avec les autres. Toutefois, lorsque l’utilisateur parcourt de longues distances, le système de coordonnées de cette trame peut dériver en fonction du monde pour garantir que les hologrammes à côté de l’utilisateur semblent stables.

  • Les hologrammes placés dans le cadre de la phase de référence conservent également une relation rigide les uns avec les autres. Contrairement au cadre stationnaire, le cadre d’étape reste toujours fixe en place en fonction de son origine physique définie. Toutefois, le contenu affiché dans le système de coordonnées de la phase au-delà de sa limite de 5 mètres n’apparaît stable que lorsque l’utilisateur se trouve à l’intérieur de cette limite.

  • Les hologrammes placés à l’aide d’une ancre spatiale peuvent dériver en fonction des hologrammes placés à l’aide d’une autre ancre spatiale. Cela permet à Windows d’améliorer sa compréhension de la position de chaque ancre spatiale, même si, par exemple, une ancre doit s’ajuster à gauche et une autre ancre doit s’ajuster à droite.

Contrairement à un cadre de référence stationnaire, qui optimise toujours la stabilité près de l’utilisateur, le cadre intermédiaire des ancres spatiales et de référence garantit la stabilité près de leurs origines. Cela permet à ces hologrammes de rester précisément en place au fil du temps, mais cela signifie également que les hologrammes rendus trop loin de l’origine de leur système de coordonnées subissent des effets de levier-bras de plus en plus graves. Cela est dû au fait que les petits ajustements de la position et de l’orientation de l’étape ou de l’ancre sont agrandis proportionnellement à la distance de cette ancre.

Une bonne règle consiste à vous assurer que tout ce que vous affichez en fonction du système de coordonnées d’une ancre spatiale distante se trouve à environ 3 mètres de son origine. Pour une origine de phase proche, le rendu du contenu distant est correct, car toute erreur de position accrue affecte uniquement les petits hologrammes qui ne changeront pas beaucoup dans l’affichage de l’utilisateur.

Persistance de l’ancre spatiale

Les ancres spatiales peuvent également permettre à votre application de mémoriser un emplacement important même après l’arrêt de votre application ou l’arrêt de l’appareil.

Vous pouvez enregistrer sur disque les ancres spatiales créées par votre application, puis les recharger ultérieurement, en les rendant persistantes dans le magasin d’ancres spatiales de votre application. Lors de l’enregistrement ou du chargement d’une ancre, vous fournissez une clé de chaîne qui est significative pour votre application, afin d’identifier l’ancre ultérieurement. Considérez cette clé comme le nom de fichier de votre ancre. Si vous souhaitez associer d’autres données à cette ancre, par exemple un modèle 3D que l’utilisateur a placé à cet emplacement, enregistrez-les dans le stockage local de votre application et associez-la à la clé que vous avez choisie.

En persistant les ancres dans le Store, vos utilisateurs peuvent placer des hologrammes individuels ou placer un espace de travail autour duquel une application placera ses différents hologrammes, puis trouver ces hologrammes plus tard là où ils les attendent, sur de nombreuses utilisations de votre application.

Éviter le contenu verrouillé par la tête

Nous déconseillons fortement le rendu du contenu verrouillé par la tête, qui reste à un endroit fixe dans l’affichage (par exemple, un HUD). En général, le contenu fermé à la tête est inconfortable pour les utilisateurs et ne se sent pas comme une partie naturelle de leur monde.

Le contenu fermé à la tête doit généralement être remplacé par des hologrammes attachés à l’utilisateur ou placés dans le monde lui-même. Par exemple, les curseurs doivent généralement être poussés vers le monde, mis à l’échelle naturellement pour refléter la position et la distance de l’objet sous le regard de l’utilisateur.

Gestion des erreurs de suivi

Dans certains environnements tels que les couloirs sombres, il n’est peut-être pas possible qu’un casque utilisant le suivi intérieur-extérieur se localise correctement dans le monde. Cela peut conduire les hologrammes à ne pas s’afficher ou à s’afficher à des endroits incorrects s’ils sont gérés de manière incorrecte. Nous abordons maintenant les conditions dans lesquelles cela peut se produire, son impact sur l’expérience utilisateur et des conseils pour gérer au mieux cette situation.

Le casque ne peut pas effectuer le suivi en raison de données de capteur insuffisantes

Parfois, les capteurs du casque ne sont pas en mesure de déterminer où se trouve le casque. Cela peut se produire si :

  • La chambre est sombre
  • Si les capteurs sont couverts de cheveux ou de mains
  • Si l’environnement n’a pas assez de texture.

Dans ce cas, le casque ne pourra pas suivre sa position avec suffisamment de précision pour afficher les hologrammes verrouillés dans le monde entier. Vous ne pouvez pas déterminer l’emplacement d’une ancre spatiale, d’une trame stationnaire ou d’une trame de phase sur l’appareil. Toutefois, vous pouvez toujours afficher le contenu verrouillé par le corps dans le cadre de référence attaché.

Votre application doit indiquer à l’utilisateur comment obtenir un suivi positionnel, en affichant du contenu de secours verrouillé par le corps qui décrit certains conseils, tels que la découverte des capteurs et l’activation d’autres lumières.

Le casque effectue un suivi incorrect en raison de modifications dynamiques dans l’environnement

L’appareil ne peut pas suivre correctement s’il existe de nombreux changements dynamiques dans l’environnement, comme de nombreuses personnes se promenant dans la pièce. Dans ce cas, les hologrammes peuvent sembler sauter ou dériver lorsque l’appareil tente de se suivre dans cet environnement dynamique. Nous vous recommandons d’utiliser l’appareil dans un environnement moins dynamique si vous rencontrez ce scénario.

Le casque effectue un suivi incorrect, car l’environnement a considérablement changé au fil du temps

Lorsque vous commencez à utiliser un casque dans un environnement où des meubles, des suspensions murales, etc. ont été déplacés, il est possible que certains hologrammes semblent déplacés de leur emplacement d’origine. Les hologrammes précédents peuvent également sauter à mesure que l’utilisateur se déplace dans le nouvel espace, car la compréhension de votre espace par le système n’est plus vraie. Le système tente ensuite de remapper l’environnement tout en essayant de rapprocher les fonctionnalités de la pièce. Dans ce scénario, il est recommandé d’encourager les utilisateurs à remplacer les hologrammes qu’ils ont épinglés dans le monde s’ils n’apparaissent pas comme prévu.

Le casque effectue un suivi incorrect en raison d’espaces identiques dans un environnement

Parfois, une maison ou un autre espace peut avoir deux zones identiques. Par exemple, deux salles de conférence identiques, deux coins identiques, deux grandes affiches identiques qui couvrent le champ de vision de l’appareil. Dans de tels scénarios, l’appareil peut parfois être confondu entre les parties identiques et les marquer comme identiques dans sa représentation interne. Cela peut entraîner l’affichage des hologrammes de certaines zones à d’autres emplacements. L’appareil peut commencer à perdre le suivi souvent, car sa représentation interne de l’environnement a été endommagée. Dans ce cas, il est recommandé de réinitialiser la compréhension de l’environnement du système. La réinitialisation de la carte entraîne la perte de tous les placements d’ancre spatiale. Ainsi, le casque sera bien suivi dans les zones uniques de l’environnement. Toutefois, le problème peut se reproduire si l’appareil est à nouveau confondu entre les zones identiques.

Voir aussi