Activer l'API Geospatial pour votre application Unity (AR Foundation) ciblant iOS

Configurez les paramètres de votre application pour qu'elle puisse utiliser l'API Geospatial.

Prérequis

Avant de continuer, assurez-vous de bien comprendre les concepts fondamentaux de la RA et de savoir configurer une session ARCore.

Pour en savoir plus sur l'API Geospatial, consultez la section Présentation de l'API Geospatial.

Si vous débutez dans le développement avec ARCore, consultez la section Premiers pas pour en savoir plus sur les exigences logicielles et matérielles, les prérequis et d'autres informations spécifiques aux plates-formes que vous utilisez.

Pour utiliser l'API ARCore Geospatial, votre projet doit prendre en charge AR Foundation et les extensions ARCore pour AR Foundation.

Activer l'API ARCore

Avant d'utiliser le système VPS (Visual Positioning System) dans votre application, vous devez d'abord activer l'API ARCore dans un projet Google Cloud nouveau ou existant. Ce service est chargé d'héberger, de stocker et de résoudre les ancrages géospatiaux.

L'autorisation sans clé est recommandée, mais l'autorisation par clé API est également acceptée.

Ajouter les bibliothèques requises à votre application

Après avoir autorisé votre application à appeler l'API ARCore, vous devez ajouter des bibliothèques pour activer les fonctionnalités géospatiales dans votre application.

  1. Accédez à Edit > Project Settings > XR Plug-In Management > ARCore Extensions (Modifier > Paramètres du projet > Gestion des plug-ins XR > Extensions ARCore). Assurez-vous que l'option iOS Support Enabled (Compatibilité avec iOS activée) est sélectionnée.
  2. Sous Fonctionnalités facultatives, sélectionnez Geospatial.

Activer les fonctionnalités géospatiales dans la configuration de la session

Une fois la fonctionnalité Geospatial activée dans votre application, activez les fonctionnalités Geospatial dans la configuration de session AR de votre application afin qu'elle puisse communiquer avec l'API ARCore:

  1. Assurez-vous que le dossier Assets du projet contient un objet ARCoreExtensionsConfig scriptable. Pour en créer une, effectuez un clic droit dans le volet Assets (Composants), puis sélectionnez Create (Créer) > XR (XR) > ARCore Extensions Config (Configuration des extensions ARCore).
  2. Sélectionnez l'objet scriptable ARCoreExtensionsConfig dans le dossier Assets et définissez le mode géospatial sur Enabled (Activé).

  3. Configurez l'objet de jeu Extensions ARCore pour utiliser la configuration ARCoreExtensionsConfig. Dans le volet Hierarchy (Hiérarchie), localisez l'objet de jeu ARCore Extensions que vous avez créé lors de la configuration initiale des extensions ARCore, puis connectez le champ ARCore Extensions Config à l'objet scriptable ARCoreExtensionsConfig dans votre dossier Assets.

Demander à l'utilisateur d'autoriser l'utilisation des données de l'appareil

Les applications qui utilisent l'API ARCore Geospatial doivent présenter à l'utilisateur une invite pour qu'il confirme et autorise l'utilisation des données de son appareil. Pour en savoir plus, consultez la section Exigences concernant la confidentialité des utilisateurs.

Vérifier la compatibilité de l'appareil

Tous les appareils compatibles avec ARCore ne sont pas compatibles avec l'API Geospatial. Pour vérifier la compatibilité de l'appareil de l'utilisateur, appelez AREarthManager.IsGeospatialModeSupported(). Si la valeur FeatureSupported.Unsupported est renvoyée, n'essayez pas de configurer la session.

Demander à l'utilisateur l'autorisation d'accéder à la position au moment de l'exécution

Pour activer les services de localisation d'Unity dans un script qui déclenche les requêtes d'autorisation d'exécution, procédez comme suit:

  1. Dans Project Settings > iOS > Other Settings > Location Usage Description, saisissez le nom de l'application qui demande des autorisations.

  2. Activez les services de localisation d'Unity pour déclencher la requête d'autorisation d'exécution, comme suit:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Pour en savoir plus, consultez la documentation sur LocationService dans Unity.

Vérifier la disponibilité des services géospatiaux à l'emplacement actuel de l'appareil

Étant donné que l'API Geospatial utilise une combinaison de VPS et de GPS pour déterminer une pose géospatiale, elle peut être utilisée tant que l'appareil est en mesure de déterminer sa position. Dans les zones où la précision du GPS est faible, comme les espaces intérieurs et les environnements urbains denses, l'API s'appuie sur la couverture du VPS pour générer des poses de haute précision. Dans des conditions normales, le VPS peut fournir une précision de position d'environ 5 mètres et une précision de rotation de 5 degrés. Utilisez AREarthManager.CheckVpsAvailability() pour déterminer si un emplacement donné est couvert par le VPS.

L'API Geospatial peut également être utilisée dans les zones qui ne disposent pas de couverture VPS. Dans les environnements extérieurs avec peu ou pas d'obstacles au-dessus, le GPS peut suffire à générer une pose avec une grande précision.

Étape suivante