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. Ils sont 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 fixe de référence ✔️ ✔️ ✔️
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 des scènes ✔️

É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 à l’aide de l’orientation du casque à des applications et des jeux à l’échelle mondiale à l’aide de mappage spatial et d’ancrages spatiaux :


Mise à l’échelle de l' Configuration requise Exemple d’expérience
Orientation uniquement Orientation du casque (alignée sur la gravité) Visionneuse vidéo 360°
Échelle assise Au-dessus de la position plus du casque en fonction de la position zéro Jeu de course ou simulateur d’espace
Mise à l’échelle permanente Origine du plancher au-dessus de la phase supérieure Jeu d’action où vous canardez et esquivez en place
À l’échelle de la salle Polygone de 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) Jouez avec des ennemis provenant de vos murs réels, tels que 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 - Avant
Oui Oui Oui Non - Debout - 360°
Oui Oui Oui Oui Non Chambre
Oui Oui Oui Oui Oui World (Monde)

L’image stage de référence n’est pas encore prise 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 compteurs. Cela signifie que les objets placés à deux unités sur l’axe X, Y ou Z apparaissent à deux mètres les uns des autres lorsqu’ils sont rendus en réalité mixte. Sachant cela, vous pouvez facilement restituer des objets et des environnements à l’échelle réelle.

En général, les systèmes de coordonnées cartésiens sont appelés « droitier » ou « gaucher », car vous pouvez utiliser les positions de la main pour indiquer les directions 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 illustrant 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 droitier 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 d’échelle assise 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 : comme la vidéo est capturée à partir d’une perspective fixe unique, elle ruinerait l’illusion que la position d’affichage 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 de telles 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 de référence stationnaire permet de maintenir les positions des objets près de l’utilisateur aussi stables que possible en fonction du monde, tout en respectant les changements de position de la tête de l’utilisateur.

Pour les expériences à l’échelle assise 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 mondiale 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 placé dans le monde, même lorsque l’utilisateur se déplace, est connu sous le nom de contenu verrouillé dans le monde .

Une application crée généralement une trame 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 se trouve à 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 d’é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 auparavant. Si vous affichez des hologrammes dans un cadre de référence stationnaire 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 en-tête fixe défini lorsque l’application crée le frame pour la première fois. Cela permet à l’utilisateur de regarder facilement 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 affichée dans le Mixed Reality accueil.

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

Pour aller au-delà de 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.

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 vérifier les limites de phase .

Cadre de référence de phase

Lors de la première configuration d’un casque immersif, l’utilisateur définit une étape, qui représente la salle dans laquelle il fera l’expérience de 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 d’étage choisie par l’utilisateur et l’orientation vers l’avant où il a l’intention d’utiliser l’appareil. En plaçant le contenu dans ce système de coordonnées d’étape sur le plan d’étage Y=0, vous pouvez vous assurer que vos hologrammes s’affichent confortablement sur le sol lorsque l’utilisateur est debout, ce qui offre aux utilisateurs une expérience à l’échelle debout.

Limites d’étape

L’utilisateur peut également définir éventuellement 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 intermédiaire de référence fournit un système de coordonnées fixe unique dans lequel placer du contenu relatif au sol, il s’agit du chemin le plus simple pour le portage d’applications à l’échelle permanente et à l’échelle de la salle développées pour les casques de réalité virtuelle. Toutefois, comme pour ces plateformes VR, un seul système de coordonnées ne peut stabiliser le contenu que dans un diamètre d’environ 5 mètres (16 pieds), avant que les effets levier-bras ne provoquent un décalage notable du contenu éloigné du centre à mesure que le système s’ajuste. Pour aller au-delà de 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 de se promener 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 universel absolu auquel toutes les autres coordonnées peuvent revenir 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 de réalité virtuelle à l’échelle de la pièce é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é comme HoloLens a une compréhension dynamique du monde pilotée par les capteurs, en ajustant continuellement ses connaissances au fil du temps de l’environnement de l’utilisateur à mesure qu’il marche de nombreux mètres sur un étage entier d’un bâtiment. Dans une expérience à l’échelle mondiale, 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îtrait 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 dans le monde un point important dont le système doit effectuer le suivi au fil du temps.

À mesure que l’appareil apprend 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 stationnaires de référence :

  • Les hologrammes placés dans le cadre stationnaire de référence gardent tous une relation rigide entre eux. Toutefois, à mesure que l’utilisateur marche sur de longues distances, le système de coordonnées de cette trame peut dériver en fonction du monde pour s’assurer que les hologrammes en regard de l’utilisateur semblent stables.

  • Les hologrammes placés dans le cadre de référence de l’étape conservent également une relation rigide les uns avec les autres. Contrairement à l’image stationnaire, la trame de phase reste toujours fixe en place en fonction de son origine physique définie. Toutefois, le contenu rendu 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 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 de référence et les ancres spatiales garantissent 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 subiront 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 la scène ou de l’ancre sont agrandis proportionnellement à la distance de cette ancre.

Une bonne règle consiste à s’assurer que tout rendu basé sur le 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 n’affectera que 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 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-le à la clé que vous avez choisie.

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

Vous pouvez également utiliser Azure Spatial Anchors pour la persistance asynchrone des hologrammes sur les appareils HoloLens, iOS et Android. En partageant une ancre spatiale cloud durable, plusieurs appareils peuvent observer le même hologramme persistant au fil du temps, même si ces appareils ne sont pas présents ensemble en même temps.

Partage d’ancre spatiale

Votre application peut également partager une ancre spatiale en temps réel avec d’autres appareils, ce qui permet des expériences partagées en temps réel.

En utilisant Azure Spatial Anchors, votre application peut partager une ancre spatiale sur plusieurs appareils HoloLens, iOS et Android. Quand chaque appareil affiche un hologramme à l’aide de la même ancre spatiale, tous les utilisateurs voient l’hologramme au même endroit dans le monde réel.

Éviter le contenu à tête verrouillé

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 à tête verrouillée est inconfortable pour les utilisateurs et ne se sent pas comme une partie naturelle de leur monde.

Le contenu à tête verrouillé 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 peut ne pas être possible qu’un casque utilisant le suivi intérieur-extérieur se trouve correctement dans le monde. Cela peut conduire les hologrammes à ne pas s’afficher ou à apparaître à des emplacements incorrects s’ils sont mal gérés. Nous discutons maintenant des conditions dans lesquelles cela peut se produire, de son impact sur l’expérience utilisateur et des conseils pour gérer au mieux cette situation.

Le casque ne peut pas suivre 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 pièce est sombre
  • Si les capteurs sont couverts par des cheveux ou des mains
  • Si l’environnement n’a pas assez de texture.

Dans ce cas, le casque ne peut 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 où une ancre spatiale, une trame stationnaire ou une trame intermédiaire est basée sur l’appareil. Toutefois, vous pouvez toujours afficher le contenu verrouillé au 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 changements dynamiques dans l’environnement

L’appareil ne peut pas suivre correctement s’il y a 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 tentures 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 caractéristiques 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 zones d’angle 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 souvent le suivi, 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 emplacements d’ancre spatiale. Cela entraîne le suivi du casque dans les zones uniques de l’environnement. Toutefois, le problème peut se reproduire si l’appareil est à nouveau confondu entre les mêmes zones.

Voir aussi