Ajouter un groupe de sources de données de frame
Une AR Session peut contenir plusieurs composants de source de données de frame, appelés frame source group. Au runtime, la session sélectionne dans le frame source group la source de données de frame la plus adaptée selon l'appareil actuel et les fonctions AR activées. Cet article explique comment utiliser et gérer un frame source group.
Avant de commencer
- Comprenez les concepts de base, les types et les méthodes de sélection au runtime de frame source.
Utiliser le frame source group d'une AR Session preset
Les sessions créées avec la configuration par défaut incluent déjà un groupe de sources de données de frame, généralement suffisant lorsqu'une seule fonction AR est utilisée.
Les sources de données de frame incluses diffèrent selon les preset sessions.
Une session créée avec le preset ARSessionFactory.ARSessionPreset.ImageTracking ou via le menu
AR Session (Image Tracking Preset)ne possède qu'une seule source de données de frame:
La scene hierarchy d'une session créée avec le preset ARSessionFactory.ARSessionPreset.MegaBlock_MotionTracking_Inertial ou via le menu
AR Session (Mega Block Default Preset)contient plusieurs composants de source de données de frame:
Si une session créée avec un preset est utilisée au départ dans la scène, lorsque d'autres fonctions sont ajoutées pendant l'itération, il faut non seulement ajouter les composants frame filter correspondants, mais aussi ajouter les composants de source de données de frame appropriés si nécessaire.
Important
Après une mise à niveau depuis la version 4.7 ou antérieure, vous devez supprimer entièrement la session puis la recréer via le menu ou ARSessionFactory afin d'utiliser le preset frame source group.
La liste suivante présente les composants de source de données de frame configurés par défaut pour toutes les fonctionnalités AR prédéfinies. Notez que l'ordre de la liste est identique à l'ordre des composants de source de données de frame dans la scène:
| Préréglage | Groupe de sources de données de frame |
|---|---|
Note
L'ordre des composants créés par le preset garantit l'utilisation de la source de données de frame optimale sur tous les appareils pris en charge par built-in frame source.
Utiliser la configuration par défaut de frame source
Lorsque les paramètres par défaut sont utilisés, la configuration de frame source s'ajuste automatiquement selon l'appareil et les fonctions AR activées au runtime.
Si vous avez modifié manuellement les paramètres de frame source, lorsque les fonctions AR de la session changent (par exemple l'ajout de motion tracking à une session qui contenait initialement seulement image tracking), vous devrez peut-être ajuster manuellement les paramètres de frame source pour répondre aux nouveaux besoins fonctionnels, afin que toutes les fonctions AR fonctionnent avec le meilleur résultat.
Important
Après une mise à niveau depuis la version 4.7 ou antérieure, vous devez supprimer entièrement la session puis la recréer via le menu ou ARSessionFactory afin d'utiliser les bons paramètres par défaut.
Ajouter un frame source group
Dans la vue Hierarchy, sélectionnez AR Session (EasyAR) et faites un clic droit. Via le menu EasyAR Sense > [ AR Feature ] > Frame Source : *, vous pouvez ajouter un composant frame source adapté à cette fonction. Vous pouvez aussi utiliser le menu EasyAR Sense > Frame Source by Transform Type > * Dof > Frame Source : * pour ajouter le composant frame source requis.
Dans les scripts, utilisez ARSessionFactory.AddFrameSource<Source>(GameObject, bool) pour ajouter des composants frame source.
Par exemple, le menu EasyAR Sense > Frame Source by Transform Type > 3 Dof Rot-Only > Frame Source : Three Dof Camera Device permet d'ajouter un ThreeDofCameraDeviceFrameSource à la session actuellement sélectionnée.

Le code de script correspondant est:
ARSessionFactory.AddFrameSource<ThreeDofCameraDeviceFrameSource>(session);
Ordre des frame source
Pendant l'assembly de la session, une seule source de données de frame du frame source group sera finalement sélectionnée et assemblée dans la session. La règle de sélection dépend de la valeur de la propriété AssembleOptions.FrameSourceSelection. Dans la configuration par défaut, vous pouvez influencer la frame source finalement sélectionnée en ajustant l'ordre des composants dans le frame source group.
En général, vous pouvez déplacer directement les objets frame source pour les ordonner en utilisant la méthode de tri des objets dans la scene dans la vue Hierarchy.
Dans les scripts, utilisez Transform.SetSiblingIndex(int) pour ajuster l'ordre des objets.
Par exemple, pour placer MotionTrackerFrameSource avant les autres frame sources, sélectionnez l'objet Motion Tracker dans la vue Hierarchy et faites-le glisser tout en haut.
Le même effet peut aussi être obtenu avec le code de script suivant:
motionTrackerFrameSource.transform.SetSiblingIndex(0);
Il existe aussi plusieurs méthodes de tri predefined. Dans la vue Hierarchy, sélectionnez AR Session (EasyAR) et faites un clic droit. Via le menu EasyAR Sense > Utility > Sort Frame Source : * > *, vous pouvez trier certains composants frame source spécifiques.
Dans les scripts, utilisez ARSessionFactory.SortFrameSource(GameObject, ARSessionFactory.FrameSourceSortMethod) pour obtenir le même effet.
Par exemple, le menu EasyAR Sense > Utility > Sort Frame Source : Motion Tracker > System SLAM peut placer MotionTrackerFrameSource avant ARCoreFrameSource, ARCoreARFoundationFrameSource, ARKitFrameSource, ARKitARFoundationFrameSource et AREngineFrameSource.

Le code de script correspondant est:
ARSessionFactory.SortFrameSource(session, new ARSessionFactory.FrameSourceSortMethod { MotionTracker = ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod.PreferEasyAR });
Après le tri ci-dessus, la scene hierarchy devient:

Sujets connexes
- Apprenez comment ajouter et configurer des frame sources pour les headsets
- Essayez de récupérer la frame source utilisée au runtime
