Cible de suivi dans Unity AR - target
target représente divers objets traçables dans Unity. Grâce au contenu suivant, vous comprendrez les concepts de base, l'état et le cycle de vie de l'objet tracé target dans Unity AR.
Avant de commencer
- Comprenez les concepts de base, la composition et le flux de travail de la session via Introduction à ARSession.
Qu'est-ce qu'un target
target fait référence à la représentation dans Unity des objets identifiés et suivis par les fonctionnalités AR. Dans le monde réel, ces objets peuvent être des images, des objets 3D, des cartes spatiales, etc. En identifiant et en suivant ces objets, les applications AR peuvent superposer du contenu virtuel au monde réel, offrant ainsi des expériences interactives riches.
Certains target sont immobiles dans le monde réel (comme une affiche sur un mur).
Cette vidéo montre une scène AR simple exécutant un suivi d'image. La vue de gauche est
Hierarchy, le milieu estScene, et la droite estGame. La vidéo est enregistrée en modePlayde l'éditeur Unity en utilisant des données de simulation. Le contenu de la vueGameest identique à ce que l'utilisateur verrait dans le monde réel sur un téléphone. Dans cette vidéo, le target (ImageTarget) représente une carte de visite dans le monde réel. Nous plaçons une sphère jaune au-dessus pour observer son mouvement.Vous pouvez voir que le target est fixe à la fois dans le monde réel et dans la scène, tandis que la caméra représentant l'utilisateur (cône bleu) se déplace avec les mouvements de l'utilisateur dans le monde réel. Le cône blanc capture la trajectoire de la position et de l'orientation de la caméra au cours de la période précédente. Notez que la sphère jaune est sous le nœud target (ImageTarget), ce qui est une organisation typique des objets dans ce type de scène.
Certains target peuvent se déplacer dans le monde réel (comme une affiche sur un bus).
Cette vidéo montre la même scène, mais cette fois nous avons déplacé le target (carte de visite) dans le monde réel. Vous pouvez voir qu'après le déplacement du target, la sphère jaune suit le mouvement de la carte, et l'indicateur de la sphère dans la vue
Gamereste aligné sur la carte.
Pour faciliter la compréhension, l'affichage du gizmo de ImageTarget est désactivé dans les deux vidéos, et le mode centre SessionOrigin est utilisé. Dans ces vidéos, le mouvement des objets dans la vue Scene correspond à celui du monde réel. Dans les scènes AR réelles, cette relation de mouvement est plus complexe.
Comportement du target dans différents modes centre
Dans Unity, le point de référence central pour tout suivi AR est appelé le centre de la session, et la règle déterminant ce centre pendant l'exécution de la session est appelée mode centre. Le comportement du target varie selon le mode centre:
En mode centre SessionOrigin, le target ne peut pas être déplacé librement.
Le mode SessionOrigin ne peut exister que dans des scènes avec suivi de mouvement.
Bien que ce mode montre bien le mouvement du target et de la caméra dans les scènes simples précédentes, il n'est pas couramment utilisé dans les scènes AR réelles car, dans ce mode, la session contrôle le mouvement du target. De plus, en raison des erreurs de calcul du suivi de mouvement ou de la fonctionnalité AR elle-même, il est difficile de garantir que le target reste complètement immobile. Dans ce cas, le nœud racine du contenu doit suivre le mouvement du target, ce qui peut affecter certains comportements du système Unity (comme le système physique).
En mode centre FirstTarget ou SpecificTarget, si le target est l'objet sélectionné comme centre, il peut être déplacé librement.
Généralement, le mode FirstTarget est plus couramment utilisé. Il garantit que le premier objet suivi dans la scène n'est pas contrôlé par la session. S'il n'y a pas besoin de déplacer le target, il reste fixe, que l'objet correspondant dans le monde réel se déplace ou non.
En mode centre FirstTarget ou SpecificTarget, si le target n'est pas l'objet sélectionné comme centre, et en mode centre Camera, le target ne peut pas être déplacé librement.
Lors du suivi simultané de plusieurs objets, même s'ils sont fixes dans l'environnement réel, en raison des erreurs de calcul, un seul target peut être exempt du contrôle de la session à la fois. Selon la configuration, le mouvement des autres target n'est pas garanti. Même sans mouvement réel, de légers mouvements peuvent survenir dans la scène. Tenez compte de ce comportement lors du suivi de plusieurs objets et ajustez votre stratégie de contenu en conséquence.
Pour plus de détails sur les modes centre et le mouvement des objets dans la scène, consultez: Mode centre.
État du target
L'état du target reflète sa détection et son suivi dans la session actuelle. Les états courants incluent:
- Tracked: Le target a été identifié et suivi avec succès. L'application AR peut superposer du contenu virtuel qui s'alignera sur l'objet réel.
- Not Tracked: Le target n'est actuellement pas détecté ou suivi. Si l'application AR superpose du contenu virtuel, il ne s'alignera pas sur l'objet réel.
De plus, lors des changements d'état, vous pouvez réagir via ces événements:
- TargetFound: Déclenché lorsque le target est détecté et suivi avec succès.
- TargetLost: Déclenché lorsque le target perd l'état de suivi.
Cycle de vie du target
Dans une scène AR Unity, le target est généralement géré par le composant frame filter correspondant. Le frame filter traite les données d'image de la frame source, identifie et suit les target. Le cycle de vie du frame filter dépend de la session. Bien que les implémentations des différentes fonctionnalités AR puissent varier, dans la plupart des cas, au démarrage de la session, le target est chargé, puis contrôlé par la session. À l'arrêt de la session, le target est déchargé et reste en place jusqu'à être utilisé par une session ultérieure ou supprimé manuellement.
Étapes suivantes
- Essayez Obtenir l'état du target
- Utilisez le target correspondant dans diverses fonctionnalités AR