Systèmes de coordonnées

À leur 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 du monde réel 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 de référence stationnaire ✔️ ✔️ ✔️
Cadre de référence attaché ✔️ ✔️ ✔️
Cadre de référence de phase 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 utilisant l’orientation du casque aux applications et jeux à l’échelle mondiale à l’aide du mappage spatial et des ancres spatiales :


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 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 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) Jeu 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 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 sur l’axe X, Y ou Z apparaissent à deux mètres l’un de l’autre lorsqu’ils sont rendus dans la 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 « droitier » ou « gaucher », car vous pouvez utiliser des 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 illustrant 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 est de 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 à l’é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 fixe.

Certains contenus doivent ignorer les mises à jour de la position de la tête, en restant toujours fixes à un titre choisi et à la distance de l’utilisateur. Le principal exemple 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 fixe de référence

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

Pour les expériences à l’échelle assise dans un moteur de jeu tel que Unity, un cadre de référence fixe est ce qui définit l'« origine du monde » du moteur. Les objets placés à une coordonnée mondiale spécifique utilisent le cadre fixe de référence 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 un cadre de référence fixe au démarrage et utilise son système de coordonnées pendant toute 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 d’échelle assise, vous pouvez recentérer 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 fixe de référence pour une application sur HoloLens où les utilisateurs errent 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écessitera d’autres techniques pour maintenir la stabilité des hologrammes, comme décrit ci-dessous.

Cadre de référence attaché

Une image de référence attachée se déplace avec l’utilisateur au fur et à mesure qu’il se déplace, avec un titre fixe défini lorsque l’application crée d’abord le cadre. Cela permet à l’utilisateur de regarder confortablement le contenu placé dans ce cadre de référence. Le contenu rendu de cette manière 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. Cela le rend 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 qui sont à l’échelle 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 l’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 scène 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 case activée pour les limites d’étape.

Cadre d’étape de référence

Lors de la première configuration d’un casque immersif, l’utilisateur définit une scène, 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 de l’étage 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 définir éventuellement des limites d’étape, 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 de l’étape fournit un système de coordonnées fixe unique dans lequel placer du contenu relatif à l’étage, il s’agit du chemin le plus simple pour le portage des 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 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 de levier-bras ne provoquent un déplacement sensible du contenu loin 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 autres que 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 n’avez pas déplacé ces objets, leurs transformations relatives resteraient 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é comme HoloLens a une compréhension dynamique du monde pilotée par les capteurs, en ajustant continuellement au fil du temps sa connaissance de l’environnement de l’utilisateur alors qu’il marche de nombreux mètres sur 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 séparés de 3,9 mètres. Si ces hologrammes avaient été initialement placés à 4 mètres d’intervalle dans un seul système de coordonnées rigides, 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.

Au fur et à mesure que l’appareil apprend sur le monde, ces ancres spatiales peuvent ajuster leur position les unes sur les autres selon les 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 positionnant cet hologramme en fonction de son ancrage spatial, 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 fixe de référence gardent tous une relation rigide les uns avec les autres. Toutefois, à mesure que l’utilisateur marche sur de longues distances, le système de coordonnées de cette image 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 la phase de référence gardent également une relation rigide les uns avec les autres. Contrairement au cadre fixe, le cadre 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 ancre doit s’ajuster à droite.

Contrairement à un cadre fixe de référence, 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 auront des effets de levier-bras de plus en plus graves. En effet, 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 de base consiste à s’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 à proximité, 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 des ancres spatiales

Les ancres spatiales peuvent également permettre à votre application de mémoriser un emplacement important même après la suspension 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 persistant 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-les à 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.

Vous pouvez également utiliser Azure Spatial Anchors pour la persistance asynchrone de l’hologramme 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.

À l’aide d’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 à verrouillage frontal

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 qui sont 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, la mise à 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 pour un casque utilisant le suivi intérieur-extérieur de se localiser correctement dans le monde. Cela peut conduire les hologrammes à ne pas s’afficher ou à des endroits incorrects s’ils sont gérés de manière incorrecte. 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 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 pièce est sombre
  • Si les capteurs sont couverts par les cheveux ou les 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 du 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 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 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