Aller au contenu principal

SDK Unity

Ajoutez AR Clip VPS à un projet Unity. Le SDK trouve la position de l'utilisateur sur vos cartes VPS et place le contenu au bon endroit, sur les appareils ARKit (iOS) et ARCore (Android).

Avant de commencer​

  • Unity 2022.3 LTS ou plus récent
  • Un appareil de test compatible ARKit ou ARCore
  • Git LFS, si vous clonez le projet d'exemple (il contient des fichiers volumineux)

Installation​

Deux méthodes au choix.

Cloner le projet d'exemple​

git clone https://github.com/WebAR-Studio/was-vps-unity.git

Ouvrez le projet dans Unity 2022.3 ou plus récent. Les scènes de Assets/Scenes montrent des configurations fonctionnelles.

Ajouter le package avec le Package Manager​

  1. Ouvrez Window → Package Manager.
  2. Cliquez sur + → Add package from Git URL….
  3. Collez https://github.com/WebAR-Studio/was-vps-unity.git?path=/Assets.

Unity télécharge le SDK dans Packages/was-vps-unity.

Préparer la scène​

  1. Créez ou ouvrez une scène prête pour AR Foundation. Elle doit contenir une AR Session et un AR Session Origin.
  2. Ajoutez VPSLocalisationService à un GameObject vide. C'est ce composant qui gère la localisation.
  3. Dans l'Inspector, assignez :
    • AR Session
    • AR Session Origin
    • la caméra AR et les éléments d'interface, si vous en avez besoin (voir les scènes d'exemple)
  4. Saisissez votre API Key VPS et au moins un Location ID.
  5. Facultatif : pendant le débogage, activez Save Images Locally ou Save Logs In File.
Besoin d'une clé d'API ?

Obtenez-en une sur arclip.design ou écrivez à support@arclip.design.

Lancer la localisation​

Pilotez la localisation depuis votre propre script. Ajoutez le composant ci-dessous et assignez la référence à VPSLocalisationService dans l'Inspector.

using UnityEngine;
using WASVPS;

public class VPSBootstrap : MonoBehaviour
{
[SerializeField] private VPSLocalisationService vpsService;

private void Start()
{
vpsService.OnPositionUpdated += HandlePositionUpdated;
vpsService.OnErrorHappend += HandleError;

var settings = new SettingsWASVPS(
new[] { "your-location-id" },
failsCountToReset: 5
);

settings.ApiKey = "your-api-key";
settings.LocalizationTimeout = 2.0f;

vpsService.StartVPS(settings);
}

private void HandlePositionUpdated(LocationState state)
{
Debug.Log($"Localized at {state.Localisation.VpsPosition}");
}

private void HandleError(ErrorInfo error)
{
Debug.LogError(error.LogDescription());
}
}

Réglages de l'Inspector​

PropriétéCe qu'elle faitPar défaut
Start On AwakeLance la localisation au chargement de la scènefalse
Force Mock In EditorUtilise toujours le fournisseur simulé quand vous lancez dans l'éditeurtrue
Send GPSAjoute les données GPS de l'appareil à chaque requête VPSfalse
Fails Count To ResetLe nombre d'échecs d'affilée qui réinitialise la session5
Save Images LocallyEnregistre les images capturées pour le débogagefalse

Tester et déboguer​

  • Activez Force Mock In Editor et utilisez les textures simulées fournies pour tester sans appareil.
  • Appelez VPSLogger.SetLogLevel(LogLevel.VERBOSE) pour voir les requêtes HTTP, les réponses et les erreurs dans la console.
  • Si la localisation ne réussit jamais, vérifiez que votre clé d'API est valide et que chaque identifiant de lieu correspond à une carte VPS que vous possédez.

Exemples​

  • Consultez Assets/Scenes/TestScene.unity et Assets/Scripts/ExampleVPS.cs dans le projet d'exemple pour des exemples fonctionnels.
  • Utilisez les poses VPS dans votre propre logique : créer des ancres, aligner du contenu 3D ou mettre à jour l'interface.

Suite : Plateformes Unity — faites un build pour les téléphones, les casques et les lunettes.