Mode central de la session AR
Le mode central est un concept fondamental d'Unity AR qui détermine quel objet la session choisit comme point de référence (objet central) pour tous les suivis AR pendant son exécution, ainsi que quels objets dans la session peuvent se déplacer librement. Ce qui suit vous permettra de comprendre les concepts de base du mode central et son influence sur le comportement de mouvement des objets dans la scène.
Avant de commencer
- Comprenez les concepts de base, la composition et le flux de travail d'une session grâce à l'introduction à la session AR.
- Apprenez le rôle de la caméra dans une scène AR, et comment la session contrôle les propriétés de la caméra pour garantir une expérience AR correcte.
- Découvrez les concepts de base, la composition et le cycle de vie du XR Origin via XR Origin.
- Explorez les concepts de base, l'état et le cycle de vie d'une cible via Target.
Objet central et mode central
Dans une session, une ou plusieurs fonctionnalités AR différentes peuvent fonctionner simultanément. Ces fonctionnalités AR peuvent suivre différents objets et peuvent utiliser simultanément la fonction de suivi de mouvement pour suivre la position et l'orientation de l'appareil lui-même.
Pour garantir que le comportement de mouvement des objets dans la scène corresponde aux attentes, la session doit sélectionner un point de référence comme centre pour tous les suivis AR. Ce point de référence est représenté dans la scène Unity par l'objet central (CenterObject). Le mode central (CenterMode) est la règle qui détermine quel objet est choisi comme objet central pendant l'exécution de la session.
Le centre d'une session peut être l'un des objets suivants :
- Une cible suivie
- Le XR Origin
- La caméra
Le mode central détermine quel objet la session choisit comme objet central et si cet objet peut se déplacer librement. Les objets autres que celui-ci (y compris la caméra non centrale, le XR Origin et les cibles) sont contrôlés par la session et se déplacent par rapport à l'objet central.
Dans Unity, session prend en charge les quatre modes de centre suivants :
| Nom | Schéma | Description |
|---|---|---|
| FirstTarget SpecificTarget |
![]() |
Utilise target comme centre, ce target peut se déplacer librement. Parmi eux,
|
| SessionOrigin | ![]() |
Utilise XR Origin comme centre, XR Origin peut se déplacer librement. La caméra et les targets de session sont contrôlés par session, se déplaçant par rapport au centre XR Origin. |
| Camera | ![]() |
Utilise la caméra comme centre, la caméra peut se déplacer librement. XR Origin et les targets de session sont contrôlés par session, se déplaçant par rapport à la caméra centrale. |
Le schéma montre trois objets : la sphère bleue représente XR Origin, le cône bleu représente la caméra, l'image jaune représente target. Dans différents modes de centre, session sélectionne différents objets comme objet central, montrant leur système de coordonnées local.
Astuce
Si vous avez de l'expérience avec AR Foundation, vous remarquerez peut-être que ce concept n'existe pas dans AR Foundation. En réalité, le comportement d'AR Foundation est cohérent avec le mode de centre SessionOrigin.
Dans session, la relation de mouvement relative entre target et camera est contrôlée par la session actuelle. La relation de mouvement relative entre XR Origin et camera est contrôlée soit par la session actuelle, soit par un framework tiers (comme AR Foundation). L'existence des modes de centre garantit que session contrôle correctement le comportement de mouvement des objets dans la scène dans différents environnements d'exécution.
Par exemple, si AR Foundation ou un SDK de casque basé sur Unity XR contrôle la relation de mouvement entre XR Origin et camera, XR Origin peut être déplacé par session, tandis que camera ne le peut pas. Dans ce cas, session limitera le mode de centre à FirstTarget, SpecificTarget ou SessionOrigin. Ainsi, pour session, le centre sera XR Origin ou un target, tandis que pour Unity XR, le centre reste XR Origin, le système fonctionne parfaitement.
Avertissement
Dans Unity AR, tout objet existant dans le système de coordonnées du monde Unity et n'ajustant pas son transform via les composants session risque de ne pas s'afficher correctement. Session ajuste la position et l'orientation des autres objets en fonction de la position et de l'orientation de l'objet central. Si un objet n'est pas contrôlé par session, sa position/orientation peut être incohérente avec celle calculée par session, provoquant un comportement imprévisible.
Par exemple, si un modèle de panda est placé dans le système de coordonnées mondial, sa position/orientation peut ne correspondre à aucun objet du monde réel, semblant flotter ou bouger aléatoirement.
La pratique correcte est de toujours placer le contenu à afficher sous un nœud target, ou sous le nœud XR Origin (si le contenu doit suivre XR Origin). Ainsi, la position/orientation du contenu sera ajustée par les calculs de session, assurant un positionnement correct dans le monde réel.
Un alignement manuel du contenu avec target ou XR Origin est possible, mais doit être fait au bon moment. Référez-vous à Choisir le mode de centre approprié.
Modes de centre disponibles
Tous les modes de centre ne sont pas disponibles dans toutes les situations. Session détermine les modes de centre valides en fonction de l'environnement d'exécution et de la source d'images (frame source) utilisée, assurant un contrôle correct du mouvement des objets. La propriété ARSession.AvailableCenterMode récupère la liste des modes de centre valides pour la session actuelle.
Selon la source d'images (frame source) sélectionnée, les modes de centre disponibles varient comme suit :
| Source d'images (frame source) | Caméra contrôlée | Données de mouvement | Conception d'origine | Modes de centre valides |
|---|---|---|---|---|
|
Oui | Non | - |
|
|
Oui | Oui | Oui |
camera n'est pasun enfant de XR Origin |
|
Non | Oui | Oui |
|
|
Non | Oui | Non |
|
Sauf lors de l'utilisation de FramePlayer, les modes de centre valides sont déterminés lors de l'assemblage de session. Avec FramePlayer, ils sont déterminés dynamiquement à chaque image en fonction de la présence de données de mouvement.
Caractéristiques des différents modes centraux
Ensuite, nous allons montrer le comportement de mouvement des objets dans différents modes centraux à travers une série de vidéos d'exemple.
Le contenu vidéo est le suivant :
Dans le monde réel, il y a deux objets traçables de types différents :
- L'un est un sapin de Noël, qui est immobile. Il est suivi via la fonction de carte spatiale éparse.
- L'autre est une feuille A4, sur laquelle une image est préimprimée, et qui peut être déplacée. Il est suivi via la fonction de suivi d'image.
Lors de l'enregistrement vidéo, l'observateur (téléphone) commence à l'arrière droit du sapin et se déplace autour de celui-ci. La feuille A4 oscille de gauche à droite devant l'observateur.
Pour faciliter l'observation, nous avons ajouté des indicateurs aux différents objets de la scène :
- Sapin de Noël : lorsqu'il est suivi, un nuage de points bleu vif est superposé sur l'espace qu'il occupe. Ces indicateurs disparaissent lors de la perte de suivi.
- Feuille A4 : lorsqu'elle est suivie, un panda est superposé juste au-dessus. Une image identique en contenu et en taille à la feuille A4 est également affichée dans la vue
Jeu. Ces indicateurs disparaissent lors de la perte de suivi.- XR Origin : une sphère bleue est placée à sa position
- Caméra : un cône bleu est placé à sa position, l'axe principal du cône correspondant à la direction du regard de la caméra.
Ces vidéos ont été enregistrées en utilisant des données de simulation, en mode Play de l'éditeur Unity. La gauche de la vidéo montre la vue Scène, la droite montre la vue Jeu. Le contenu de la vue Jeu est identique à ce que l'utilisateur voit dans le monde réel sur son téléphone.
Modes centraux FirstTarget et SpecificTarget
Le mode centre FirstTarget et SpecificTarget est un modèle où un target spécifique sert d'objet central. Dans ces deux modes, à l'exception du target central, la camera, le XR Origin et les autres target de la session sont contrôlés par la session et se déplacent relativement au target central.
Certaines cibles sont mobiles dans le monde réel, comme la feuille A4 dans la vidéo.
Dans la vidéo ci-dessus, l'objet central est la feuille A4 suivie par la fonctionnalité de suivi d'image. On observe que, sans intervention externe, la feuille A4 (panda) reste immobile, tandis que la caméra (cône bleu), le XR Origin (sphère bleue) et le sapin de Noël (nuage de points bleu vif) se déplacent.
Certaines cibles sont fixes dans le monde réel, comme le sapin de Noël dans la vidéo.
Dans la vidéo ci-dessus, l'objet central est le sapin de Noël suivi par la fonctionnalité de carte spatiale éparse. On observe que, sans intervention externe, le sapin de Noël (nuage de points bleu vif) reste immobile, tandis que la caméra (cône bleu) et la feuille A4 (panda) se déplacent. Le XR Origin (sphère bleue) ne bouge pas non plus, car il est statique par rapport au sapin.
Dans ces deux modes, le target central servant de point de référence peut se déplacer librement. Dans ce cas, la camera, le XR Origin et les autres target de la session suivent ce mouvement, et leur transform ne peut pas être contrôlé de l'extérieur.
Dans la vidéo ci-dessus, l'objet central est la feuille A4 suivie par la fonctionnalité de suivi d'image. On observe que, après avoir déplacé manuellement la feuille A4 (panda), la caméra (cône bleu), le XR Origin (sphère bleue) et le sapin de Noël (nuage de points bleu vif) suivent ce mouvement. Il est important de noter que le contenu affiché dans la vue
Gamene change pas, car la position et l'orientation de la caméra restent inchangées par rapport à la feuille A4 et aux autres objets.
La différence entre les modes FirstTarget et SpecificTarget réside dans la manière dont le target central est sélectionné lorsqu'un changement survient pendant l'exécution. Pour expliquer cela, il faut considérer les processus de suivi réussi et perdu.
Lorsque l'objet central de la session change, ARSession.CenterObject reflète toujours l'objet central actuel, mais ARSession.CenterMode ne change pas.
Changement de centre dans le mode central FirstTarget
En mode FirstTarget, la session est toujours centrée sur la première target suivie. Si cette target est perdue, la session recentre, et lorsqu'elle suit ou suit à nouveau une autre target, cette autre target est sélectionnée comme nouveau centre.
Le recentrage se produit dans les situations suivantes :
Aucune
targetn'est suivie dans la frame actuelle
Dans ce cas, si le mode SessionOrigin est actif, la session revient au mode SessionOrigin, sélectionnantXR Origincomme centre ; sinon, la session revient au mode Camera, sélectionnant lacameracomme centre.Des
targetssont suivies dans la frame actuelle, et aucunetargetn'était suivie dans la frame précédente
La session sélectionne alors l'une destargetssuivies comme centre.Des
targetssont suivies dans la frame actuelle, et latargetcentrale précédente a été perdue dans la frame actuelle
La session sélectionne alors l'une destargetssuivies comme nouveau centre.
Dans la vidéo ci-dessus, le centre initial est une feuille A4 suivie par reconnaissance d'image (le panda). On observe que lorsque la feuille A4 (panda) est perdue, la session recentre. Le sapin de Noël (nuage de points bleu clair) devient alors le nouveau centre. À la fin de la vidéo, la feuille A4 est retrouvée, mais elle ne redevient pas le centre car le sapin est déjà le centre.
Changement de centre en mode SpecificTarget
En mode SpecificTarget, la session est toujours centrée sur une target spécifiée. Si cette target est perdue, la session recentre mais ne sélectionnera pas d'autre target comme nouveau centre. Si la session retrouve cette target spécifiée, elle redevient le centre.
Le recentrage se produit dans les situations suivantes :
La
targetspécifiée n'est pas suivie dans la frame actuelle
Dans ce cas, si le mode SessionOrigin est actif, la session revient au mode SessionOrigin, sélectionnantXR Origincomme centre ; sinon, la session revient au mode Camera, sélectionnant lacameracomme centre.La
targetspécifiée est suivie dans la frame actuelle, et elle n'était pas suivie dans la frame précédente
La session sélectionne alors latargetspécifiée comme centre.
Dans la vidéo ci-dessus, le centre est spécifié comme étant la feuille A4 (panda) suivie par reconnaissance d'image. On observe que lorsque la feuille A4 est perdue, la session ne sélectionne pas d'autre
target(le sapin de Noël, nuage de points bleu clair, ne devient pas le centre). À la fin, lorsque la feuille A4 est retrouvée, elle redevient le centre.
Mode centre SessionOrigin
Le mode SessionOrigin utilise XR Origin comme centre. Dans ce mode, la camera et les targets de la session sont contrôlées par la session et se déplacent relativement au centre XR Origin.
Dans la vidéo ci-dessus, le centre est
XR Origin. Sans intervention externe,XR Origin(sphère bleue) est immobile, tandis que la caméra (cône bleu) et la feuille A4 (panda) se déplacent. Le sapin de Noël (nuage de points bleu clair) ne bouge pas car il est statique relativement àXR Origin.
Dans ce mode, le centre XR Origin peut être déplacé librement. La camera et les targets de la session suivront ce mouvement ; leurs transform ne peuvent pas être contrôlés de l'extérieur.
Dans la vidéo ci-dessus, le centre est
XR Origin. En déplaçant manuellementXR Origin(sphère bleue), la caméra (cône bleu), le sapin (nuage de points bleu clair) et la feuille A4 (panda) suivent le mouvement. Le contenu de la vueGamene change pas car la position et l'orientation de la caméra relative àXR Originet aux autres objets restent inchangées.
En mode SessionOrigin, XR Origin est obligatoire et valide, donc le centre ne change pas.
Mode centre Camera
Le mode Camera utilise la camera comme centre. Dans ce mode, XR Origin et les targets de la session sont contrôlés par la session et se déplacent relativement au centre camera.
Dans la vidéo ci-dessus, le centre est la caméra. Sans intervention externe, la caméra (cône bleu) est immobile, tandis que
XR Origin(sphère bleue), le sapin (nuage de points bleu clair) et la feuille A4 (panda) se déplacent.
Dans ce mode, le centre camera peut être déplacé librement. XR Origin et les targets suivront ce mouvement ; leurs transform ne peuvent pas être contrôlés de l'extérieur.
Dans la vidéo ci-dessus, le centre est la caméra. En déplaçant manuellement la caméra (cône bleu),
XR Origin(sphère bleue), le sapin (nuage de points bleu clair) et la feuille A4 (panda) suivent le mouvement. Le contenu de la vueGamene change pas car la position et l'orientation de la caméra relative àXR Originet aux autres objets restent inchangées.
En mode Camera, la camera est obligatoire et valide, donc le centre ne change pas.
Étapes suivantes
- Essayez de choisir le mode central approprié


