AR Clip SDK
Créez dans Unity des expériences AR qui s'ouvrent dans AR Clip sous forme d'App Clip. Votre contenu WebGL est chargé en streaming, et ARKit et AR Clip VPS se chargent de la localisation.
Avant de commencer
- Unity 2020 LTS ou plus récent (testé avec 2021+)
- La cible de build WebGL
- Un accès à l'outil de mise en ligne de zip AR Clip
Dans l'éditeur Unity, la plupart des API AR Clip sont encapsulées dans Application.isEditor.
Pour un vrai suivi, faites un build WebGL et testez dans l'application mobile AR Clip.
Installer le package
- Ouvrez Window → Package Manager.
- Cliquez sur + → Add package from Git URL….
- Collez
https://github.com/WebAR-Studio/arclip_sdk.gitet validez.
Avant l'import, supprimez l'éventuel ancien dossier Assets/ARLib. Sinon, vous aurez des erreurs
de symboles en double comme celle-ci :
error CS0433: The type 'ARLibTester' exists in both 'ARLib' and 'Assembly-CSharp'
Importer les exemples
Dans Package Manager → AR Clip → Samples :
- Importez WebGLTemplates et copiez le dossier créé à la racine de
Assets/. Il apparaît ensuite dans Project Settings → Player → WebGL Template. - Importez TransparentBackground et déplacez
TransparentBackground.jslibdansAssets/Plugins. WebGL obtient ainsi un fond transparent.
Préparer la scène
- Ajoutez un GameObject vide nommé
ARClipController. - Ajoutez-lui
ARLibControlleret assignez une caméra au champrenderCamera. - Désactivez le composant Camera de ce GameObject. Réglez Clear Flags = Solid Color et utilisez RGBA(0,0,0,0) pour le fond.
- Facultatif : dans l'éditeur, ajoutez
ARLibTester(depuis les exemples) pour simuler les callbacks natifs.
Script de démarrage minimal
using UnityEngine;
using ARLib;
public class ARClipBootstrap : MonoBehaviour
{
[SerializeField] private Camera renderCamera;
private void OnEnable()
{
ARLibController.Initialized += HandleInitialized;
ARLibController.VPSPositionUpdated += HandleVpsPose;
}
private void OnDisable()
{
ARLibController.Initialized -= HandleInitialized;
ARLibController.VPSPositionUpdated -= HandleVpsPose;
}
private void Start()
{
ARLibController.SetRenderCamera(renderCamera);
ARLibController.Initialize();
}
private void HandleInitialized()
{
ARLibController.EnableCamera();
ARLibController.EnableAR();
ARLibController.EnableSurfaceTracking("horizontal");
}
private void HandleVpsPose(VPSPoseData pose)
{
Debug.Log($"VPS pose: {pose.Position}");
}
}
Lancer la localisation VPS
Configurez le VPS après l'initialisation et avant de lancer la localisation :
var settings = new VPSSettings
{
apiKey = "your-api-key",
locationIds = new[] { "your-location-id" }
};
ARLibController.SetupVPS(settings);
ARLibController.StartVPS();
Écoutez ces événements :
ARLibController.VPSInitialized— le VPS est prêt.ARLibController.VPSPositionUpdated— une nouvelle pose de localisation.ARLibController.OnVPSErrorHappened— une erreur, sous forme de chaîne.
Pour régler la fréquence d'envoi des requêtes sur un lieu donné, utilisez SetSendPhotoDelay,
SetGpsAccuracyBarrier et SetFirstRequestDelay.
Suivi d'images et de surfaces
- Enregistrez les images avec
AddTrackingImageavant d'activer le suivi. AttendezTrackedImagesArrayUpdatepour confirmer qu'elles sont chargées. - Appelez
EnableSurfaceTracking("horizontal" | "vertical" | "both")pour détecter des plans. Les résultats arrivent parSurfaceTrackingUpdated.
Build et mise en ligne
- Choisissez le template WebGL. Dans Project Settings → Player → WebGL → Resolution and Presentation, choisissez le template que vous avez copié depuis le package.
- Faites le build. Utilisez File → Build Settings → WebGL → Build.
- Compressez. Compressez le build en zip de sorte que
index.htmlsoit à la racine de l'archive. - Mettez en ligne. Envoyez l'archive dans l'outil de mise en ligne.
- Testez. Scannez le QR code obtenu avec l'application AR Clip pour iOS.
Dépannage
- Pas d'image caméra en WebGL. Vérifiez que
TransparentBackground.jslibest bien dansAssets/Plugins, et que la caméra de rendu est à la fois assignée et désactivée. - Pas d'événements AR en mode Play dans l'éditeur. C'est normal. Utilisez
ARLibTester, ou faites un build WebGL pour avoir des données réelles. - Erreurs de symboles en double. Vérifiez que vous avez supprimé l'ancien dossier
ARLibavant d'importer le package.