Systèmes de coordonnées
À leur cœur, les applications de réalité mixte placent des hologrammes dans votre monde 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 de regard ou les positions de main.
Prise en charge des appareils
Fonctionnalité | HoloLens (1re génération) | HoloLens 2 | Casques immersifs |
Trame stationnaire de référence | ✔️ | ✔️ | ✔️ |
Cadre de référence attaché | ✔️ | ✔️ | ✔️ |
Cadre intermédiaire de référence | Non pris en charge à ce jour | Non pris en charge à ce jour | ✔️ |
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, de visionneuses vidéo de 360 degrés à l’aide de l’orientation du casque vers des applications et des jeux à l’échelle mondiale à l’aide de mappages spatiaux et d’ancres spatiales :
Mise à l’échelle de l' | Spécifications | 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 debout | Au-dessus de l’origine du plancher intermédiaire | Jeu d’action où vous canard et dodge en place |
Mise à l’échelle de la salle | Polygone des limites supérieures et intermédiaires | Jeu de puzzle où vous vous promenez autour du puzzle |
Échelle mondiale | Ancres spatiales (et généralement 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 « poupées d’imbrication ». Le principal principe de conception de 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 de 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 | Room |
Oui | Oui | Oui | Oui | Oui | Horloge internationale |
Le cadre intermédiaire de référence 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 cartesiens 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 à part sur l’axe X, Y ou Z apparaissent à deux mètres de l’autre lorsqu’ils sont rendus en réalité mixte. En 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 cartesiens sont appelés « droitiers » ou « gauchers », car vous pouvez utiliser des positions de 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 de droite, l’axe Z pointe vers vous, tandis que dans le système de coordonnées gaucher, l’axe Z pointe loin de vous.
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, il existe d’autres systèmes de coordonnées utilisés dans les logiciels 3D. Par exemple, il n’est pas inhabituel pour les applications de modélisation 3D d’utiliser 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 change la vue de votre application de ses hologrammes chaque image lorsque 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 stationnaire de référence.
Certains contenus doivent ignorer les mises à jour de position de tête, rester fixes à un titre choisi et à la distance de l’utilisateur toujours. L’exemple principal est une vidéo de 360 degrés : étant donné que la vidéo est capturée d’une seule perspective fixe, elle ruine l’illusion de la position de vue de se déplacer en fonction du contenu, même si l’orientation de l’affichage change à mesure que l’utilisateur regarde autour de lui. Vous pouvez créer de telles expériences d’orientation uniquement à l’aide d’une trame de référence attachée.
Trame stationnaire de référence
Le système de coordonnées fourni par une trame stationnaire de référence fonctionne pour conserver les positions des objets proches de l’utilisateur aussi stable que possible en fonction du monde, tout en respectant les changements dans 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 stationnaire est ce qui définit l’origine du moteur « world ». Les objets placés à une coordonnée mondiale spécifique utilisent le cadre stationnaire 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 promene, est connu sous le nom de contenu verrouillé dans le monde.
Une application crée généralement une trame stationnaire de référence 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 passe à un nouvel endroit et souhaite poursuivre son expérience de mise à l’échelle assise, vous pouvez recentr l’origine mondiale à 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 celles que le système croyait précédemment. Si vous restituez des hologrammes dans un cadre stationnaire 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 la 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, ce qui nécessite d’autres techniques pour maintenir les hologrammes stables, comme décrit ci-dessous.
Cadre de référence attaché
Une trame jointe de référence se déplace avec l’utilisateur à 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 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 restituer des hologrammes. Cela permet d’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 assises à l’échelle ou supérieure doivent inclure un secours d’orientation uniquement pour aider l’utilisateur à revenir, avec l’interface utilisateur similaire à celle affichée dans la maison de réalité mixte.
Création d’une expérience à l’échelle debout ou à l’échelle de la salle
Pour aller au-delà de l’échelle assise sur un casque immersif et créer une expérience de mise à l’échelle debout, vous pouvez utiliser le cadre intermédiaire de référence.
Pour offrir une expérience à l’échelle de la salle, permettre aux utilisateurs de se promener dans la limite de 5 mètres qu’ils ont prédéfinis, vous pouvez également vérifier les limites d’étape.
Cadre intermédiaire de référence
Lors de la configuration d’un casque immersif, l’utilisateur définit une étape qui représente la salle dans laquelle il connaîtra la réalité mixte. L’étape définit au minimum une origine intermédiaire, un système de coordonnées spatiales centré sur la position de plancher choisie et l’orientation vers l’avant de l’utilisateur où il a l’intention d’utiliser l’appareil. En plaçant du contenu dans ce système de coordonnées à l’étage Y=0, vous pouvez vous assurer que vos hologrammes apparaissent confortablement sur le sol lorsque l’utilisateur est debout, fournissant aux utilisateurs une expérience à l’échelle debout.
Limites d’étape
L’utilisateur peut également définir des limites intermédiaires, une zone au sein de la salle 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 vous assurer que les hologrammes sont toujours placés 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 des applications à l’échelle debout et à l’échelle de la salle développées pour les casques de réalité virtuelle. Toutefois, comme avec ces plateformes VR, un système de coordonnées unique ne peut stabiliser le contenu qu’à environ 5 mètres (16 pieds), avant que les effets du bras de levier provoquent le déplacement notable du contenu loin du centre à mesure que le système s’ajuste. Pour aller au-delà de 5 mètres, les 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 mondial 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 de ce monde. Si vous n’avez pas déplacé ces objets, leurs transformations relatives restent toujours identiques. 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. Les applications VR à l’échelle de la salle établissent aujourd’hui généralement ce type de système de coordonnées à l’échelle de la salle absolue avec son origine sur le sol.
En revanche, un appareil de réalité mixte non attaché tel que HoloLens a une compréhension dynamique basée sur les capteurs du monde, en ajustant continuellement ses connaissances au fil du temps de l’environnement de l’utilisateur au fur et à mesure qu’il marche plusieurs mètres sur un étage entier d’un bâtiment. Dans une expérience à l’échelle mondiale, si vous avez placé 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 croire actuellement deux emplacements dans le monde à 4 mètres d’écart, puis affiner ultérieurement cette compréhension, en apprenant que les emplacements sont en fait de 3,9 mètres à part. Si ces hologrammes avaient initialement été placés de 4 mètres à part dans un seul système de coordonnées rigides, l’un d’entre eux apparaît toujours 0,1 mètres de loin 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 besoins pour garantir 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 en fonction des uns des 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 conservent toutes une relation rigide entre elles. Toutefois, lorsque 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 apparaissent stables.
Les hologrammes placés dans le cadre intermédiaire de référence conservent également une relation rigide entre eux. 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 l’étape au-delà de sa limite de 5 mètres n’apparaît que stable pendant que l’utilisateur se trouve dans 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 stationnaire de référence, qui optimise toujours la stabilité près de l’utilisateur, le cadre intermédiaire de référence et d’ancres spatiales garantit la stabilité près de leurs origines. Cela aide ces hologrammes à 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 connaîtront des effets de levier-bras de plus en plus graves. Cela est dû au fait que de petits ajustements à la position et à l’orientation de l’étape ou de l’ancre sont agrandis proportionnellement à la distance de cette ancre.
Une bonne règle de pouce est de s’assurer que tout ce que vous affichez en fonction du système de coordonnées d’une ancre spatiale distante se trouve dans environ 3 mètres de son origine. Pour une origine d’étape proche, le rendu du contenu distant est OK, car toute erreur positionnelle accrue affecte uniquement les petits hologrammes qui ne changent 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 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 charger 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 à votre application pour 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-le dans le stockage local de votre application et associez-le à 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 place ses différents hologrammes, puis trouver ces hologrammes plus tard là où ils s’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 emplacement fixe dans l’affichage (par exemple, un HUD). En général, le contenu verrouillé par la tête est mal à l’aise pour les utilisateurs et ne se sent pas comme une partie naturelle de leur monde.
Le contenu verrouillé par 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, 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 est possible qu’un casque utilise le suivi à l’intérieur pour se localiser correctement dans le monde. Cela peut entraîner l’affichage ou l’affichage des hologrammes à des emplacements 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 les conseils pour mieux gérer 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. Cette erreur peut se produire dans les cas suivants :
- La chambre est sombre
- Si les capteurs sont couverts par les cheveux ou les mains
- Si les environs n’ont pas assez de texture.
Lorsque cela se produit, le casque ne pourra pas suivre sa position avec suffisamment de précision pour afficher les hologrammes verrouillés dans le monde. 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é par le corps dans le cadre de référence attaché.
Votre application doit indiquer à l’utilisateur comment récupérer le suivi positionnel, rendre du contenu verrouillé par le corps de secours qui décrit quelques conseils, tels que la découverte des capteurs et l’activation d’autres lumières.
Le casque suit de manière incorrecte en raison de modifications dynamiques dans l’environnement
L’appareil ne peut pas suivre correctement s’il y a beaucoup de changements dynamiques dans l’environnement, tels que de nombreuses personnes se promenant dans la pièce. Dans ce cas, les hologrammes peuvent sembler sauter ou dériver à mesure que l’appareil tente de se suivre dans cet environnement dynamique. Nous vous recommandons d’utiliser l’appareil dans un environnement moins dynamique si vous atteignez ce scénario.
Le casque suit de manière incorrecte, car l’environnement a changé de manière significative au fil du temps
Lorsque vous commencez à utiliser un casque dans un environnement où les meubles, les pendaisons murales, et ainsi de suite, ont été déplacés, il est possible que certains hologrammes puissent apparaître décalés de leurs emplacements d’origine. Les hologrammes précédents peuvent également sauter lorsque 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 remappper l’environnement tout en essayant de rapprocher les caractéristiques de la salle. 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 là où ils sont attendus.
Le casque suit de manière incorrecte 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 vue de l’appareil. Dans de tels scénarios, l’appareil peut parfois se confondre 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 conseillé de réinitialiser la compréhension environnementale du système. La réinitialisation de la carte entraîne la perte de tous les placements 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 confondu entre les zones identiques à nouveau.