Table of Contents

Ajouter un groupe de sources de trames

Une session AR peut contenir plusieurs composants de source de trame, appelés groupe de sources de trames (frame source group). À l'exécution, la session sélectionne la source de trame la plus appropriée dans le groupe en fonction du périphérique actuel et des fonctionnalités AR activées. Cet article explique comment utiliser et gérer un groupe de sources de trames.

Avant de commencer

  • Comprendre les concepts de base, les types et les méthodes de sélection à l'exécution des sources de trames.

Utiliser le groupe de sources de trames d'une session AR prédéfinie

Une session créée avec la configuration par défaut inclut un groupe de sources de trames, généralement suffisant pour une seule fonctionnalité AR.

Les sessions prédéfinies contiennent différentes sources de trames.

La session créée avec la prédéfinition ARSessionFactory.ARSessionPreset.ImageTracking ou le menu AR Session (Image Tracking Preset) ne contient qu'une seule source de trame :

alt text

La session créée avec la prédéfinition ARSessionFactory.ARSessionPreset.MegaBlock_MotionTracking_Inertial ou le menu AR Session (Mega Block Default Preset) contient une structure hiérarchique de scène avec plusieurs composants de sources de trames :

alt text

Si une session utilise initialement une prédéfinition, et que d'autres fonctionnalités sont ajoutées lors d'itérations, il est nécessaire d'ajouter des composants de source de trame appropriés en plus des composants frame filter correspondants.

Important

Après une mise à niveau depuis la version 4.7 ou inférieure, supprimez entièrement la session et recréez-la via le menu ou ARSessionFactory pour utiliser le groupe de sources de trames prédéfini.

Voici les composants FrameDataSource par défaut pour toutes les fonctions AR prédéfinies. Notez que l'ordre dans la liste correspond à l'ordre des composants FrameDataSource dans la scène :

Présélection Composants FrameDataSource
  1. CameraDeviceFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  9. EditorCameraDeviceFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  9. InertialCameraDeviceFrameSource
  10. EditorCameraDeviceFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  9. InertialCameraDeviceFrameSource
  10. ThreeDofCameraDeviceFrameSource
  11. EditorCameraDeviceFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  9. InertialCameraDeviceFrameSource
  10. ThreeDofCameraDeviceFrameSource
  11. CameraDeviceFrameSource
  1. XREALFrameSource
  2. AREngineFrameSource
  3. ARCoreFrameSource
  4. ARCoreARFoundationFrameSource
  5. ARKitFrameSource
  6. ARKitARFoundationFrameSource
  7. VisionOSARKitFrameSource
  8. MotionTrackerFrameSource
  9. CameraDeviceFrameSource
Note

L'ordre des composants créés avec des prédéfinitions garantit l'utilisation de la source de trame optimale sur tous les périphériques pris en charge par les sources de trames intégrées.

Utiliser la configuration par défaut des sources de trames

Avec les paramètres par défaut, la configuration de la source de trame s'ajuste automatiquement en fonction du périphérique et des fonctionnalités AR activées à l'exécution.

Si les paramètres de la source de trame ont été modifiés manuellement, et que les fonctionnalités AR de la session changent (par exemple, en ajoutant une fonctionnalité de suivi de mouvement à une session initialement dédiée au suivi d'images), il peut être nécessaire d'ajuster manuellement les paramètres de la source de trame pour répondre aux nouveaux besoins. Ainsi, toutes les fonctionnalités AR fonctionneront de manière optimale.

Important

Après une mise à niveau depuis la version 4.7 ou inférieure, supprimez entièrement la session et recréez-la via le menu ou ARSessionFactory pour utiliser les paramètres par défaut corrects.

Ajouter un groupe de sources de trames

Dans la vue Hierarchy, sélectionnez AR Session (EasyAR), cliquez droit, puis via le menu EasyAR Sense > [ Fonctionnalité AR ] > Frame Source : *, ajoutez un composant frame source adapté à cette fonctionnalité. Vous pouvez également utiliser le menu EasyAR Sense > Frame Source by Transform Type > * Dof > Frame Source : * pour ajouter le composant frame source requis.

Dans un script, utilisez ARSessionFactory.AddFrameSource<Source>(GameObject, bool) pour ajouter un composant frame source.

Par exemple, via le menu EasyAR Sense > Frame Source by Transform Type > 3 Dof Rot-Only > Frame Source : Three Dof Camera Device, ajoutez un ThreeDofCameraDeviceFrameSource à la session actuellement sélectionnée.

alt text

Le code de script correspondant est :

ARSessionFactory.AddFrameSource<ThreeDofCameraDeviceFrameSource>(session);

Trier les sources de trames

Lors de l'assemblage de la session, une seule source de trame du groupe est sélectionnée et assemblée dans la session. Les règles de sélection dépendent de la valeur de la propriété AssembleOptions.FrameSourceSelection. Avec la configuration par défaut, l'ordre des composants dans le groupe de sources de trames influence la source de trame finalement sélectionnée.

Généralement, utilisez la méthode de tri des objets dans la scène dans la vue Hierarchy pour déplacer directement les objets frame source et les trier.

Dans un script, utilisez Transform.SetSiblingIndex(int) pour ajuster l'ordre des objets.

Par exemple, pour placer MotionTrackerFrameSource avant les autres sources de trames, sélectionnez l'objet Motion Tracker dans la vue Hierarchy et déplacez-le en première position.

Le même effet peut être obtenu avec ce code de script :

motionTrackerFrameSource.transform.SetSiblingIndex(0);

Il existe également des méthodes de tri prédéfinies. Dans la vue Hierarchy, sélectionnez AR Session (EasyAR), cliquez droit, puis via le menu EasyAR Sense > Utility > Sort Frame Source : * > *, triez des composants de sources de trames spécifiques.

Dans un script, utilisez ARSessionFactory.SortFrameSource(GameObject, ARSessionFactory.FrameSourceSortMethod) pour obtenir le même effet.

Par exemple, via le menu EasyAR Sense > Utility > Sort Frame Source : Motion Tracker > System SLAM, placez MotionTrackerFrameSource avant ARCoreFrameSource, ARCoreARFoundationFrameSource, ARKitFrameSource, ARKitARFoundationFrameSource et AREngineFrameSource.

alt text

Le code de script correspondant est :

ARSessionFactory.SortFrameSource(session, new ARSessionFactory.FrameSourceSortMethod { MotionTracker = ARSessionFactory.FrameSourceSortMethod.MotionTrackerSortMethod.PreferEasyAR });

Après ce tri, la structure hiérarchique de la scène devient :

alt text

Sujets connexes