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
- Ouvrez Window → Package Manager.
- Cliquez sur + → Add package from Git URL….
- 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
- Créez ou ouvrez une scène compatible AR Foundation (avec AR Session et AR Session Origin).
- Ajoutez
VPSLocalisationServicesur un GameObject vide ; la composante gère la boucle de localisation. - Renseignez les références dans l’inspecteur :
AR SessionAR Session Origin- éventuellement la caméra AR et l’UI (cf. scènes d’exemple).
- 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.
- (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ôle | Valeur par défaut |
|---|---|---|
| Start On Awake | Lance la localisation dès le chargement de la scène | false |
| Force Mock In Editor | Force le fournisseur simulé dans l’éditeur Unity | true |
| Send GPS | Ajoute les données GPS à chaque requête | false |
| Fails Count To Reset | Nombre d’échecs consécutifs avant remise à zéro | 5 |
| Save Images Locally | Sauvegarde les images envoyées pour le debug | false |
Debug & tests
- Activez
Force Mock In Editoret 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.unityetAssets/Scripts/ExampleVPS.csdans le projet d’exemple. - Exploitez les poses VPS pour créer des ancres, placer du contenu et synchroniser votre interface.