Aller au contenu principal

SDK Unity

Vue d’ensemble

Le SDK Unity de WebAR³ VPS permet de localiser les utilisateurs dans vos cartes VPS et de placer du contenu avec une précision centimétrique sur les appareils ARKit et ARCore. Cette page suit le style Immersal : vérifiez les prérequis, installez le package, préparez la scène puis lancez la localisation.

Prérequis

  • Unity 2022.3 LTS ou version ultérieure
  • Appareil de test compatible ARKit ou ARCore
  • Git LFS si vous clonez le projet d’exemple (assets volumineux)

Options d’installation

Cloner le projet d’exemple

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

Ouvrez le projet dans Unity 2022.3+. Des scènes de référence sont disponibles dans Assets/Scenes.

Ajouter via le Package Manager

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

Unity installe alors le SDK sous Packages/was-vps-unity.

Configuration du projet

  1. Créez ou ouvrez une scène compatible AR Foundation (avec AR Session et AR Session Origin).
  2. Ajoutez VPSLocalisationService sur un GameObject vide ; la composante gère la boucle de localisation.
  3. Renseignez les références dans l’inspecteur :
    • AR Session
    • AR Session Origin
    • éventuellement la caméra AR et l’UI (cf. scènes d’exemple).
  4. Saisissez votre API Key VPS et au moins un Location ID.

    Besoin d’une API key ? Obtenez-la sur space.web-ar.studio ou écrivez à support@webar3.com / support@web-ar.studio.

  5. (Optionnel) activez Save Images Locally ou Save Logs In File durant le debug.

Lancer la localisation

Le SDK expose une API simple. Attachez le script ci-dessous et liez VPSLocalisationService via l’inspecteur.

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éférence de l’inspecteur

PropriétéRôleValeur par défaut
Start On AwakeLance la localisation dès le chargement de la scènefalse
Force Mock In EditorForce le fournisseur simulé dans l’éditeur Unitytrue
Send GPSAjoute les données GPS à chaque requêtefalse
Fails Count To ResetNombre d’échecs consécutifs avant remise à zéro5
Save Images LocallySauvegarde les images envoyées pour le debugfalse

Debug & tests

  • Activez Force Mock In Editor et utilisez les textures fournies pour itérer sans appareil.
  • Appelez VPSLogger.SetLogLevel(LogLevel.VERBOSE) pour inspecter requêtes HTTP, réponses et erreurs.
  • Si la localisation échoue, vérifiez l’API key et les Location ID utilisés.

Prochaines étapes

  • Consultez Assets/Scenes/TestScene.unity et Assets/Scripts/ExampleVPS.cs dans le projet d’exemple.
  • Exploitez les poses VPS pour créer des ancres, placer du contenu et synchroniser votre interface.