Unity-SDK
Überblick
Das WebAR³ VPS Unity-SDK lokalisiert Nutzer:innen in vorbereiteten VPS-Karten und platziert Inhalte mit Zentimeterpräzision auf ARKit- und ARCore-Geräten. Die Struktur orientiert sich am Immersal-Stil: Voraussetzungen prüfen, Paket installieren, Szene konfigurieren und die Lokalisierung starten.
Voraussetzungen
- Unity 2022.3 LTS oder neuer
- Testgerät mit ARKit- oder ARCore-Unterstützung
- Git LFS, falls das Beispielprojekt geklont wird (große Assets)
Installationsoptionen
Beispielprojekt klonen
git clone https://github.com/WebAR-Studio/was-vps-unity.git
Projekt in Unity 2022.3+ öffnen. Unter Assets/Scenes liegen Referenzszenen.
Über Package Manager hinzufügen
- Window → Package Manager öffnen.
- + → Add package from Git URL… wählen.
https://github.com/WebAR-Studio/was-vps-unity.git?path=/Assetseinfügen.
Unity installiert das SDK unter Packages/was-vps-unity.
Projekteinrichtung
- Eine AR-Foundation-fähige Szene anlegen oder öffnen (mit AR Session und AR Session Origin).
VPSLocalisationServiceauf ein leeres GameObject legen – die Komponente steuert den Lokalisierungszyklus.- Im Inspector Referenzen zuweisen:
AR SessionAR Session Origin- optional AR-Kamera und UI wie in den Beispielszenen.
- VPS API Key und mindestens eine Location ID eintragen.
API-Key benötigt? Erhalte ihn über space.web-ar.studio oder per Mail an support@webar3.com / support@web-ar.studio.
- (Optional) Save Images Locally oder Save Logs In File zum Debuggen aktivieren.
Lokalisierung starten
Das SDK bietet eine schlanke API. Hängen Sie den folgenden Script an und setzen Sie die Referenz auf VPSLocalisationService im 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());
}
}
Inspector-Referenz
| Eigenschaft | Bedeutung | Standard |
|---|---|---|
| Start On Awake | Startet die Lokalisierung automatisch beim Szenenladen | false |
| Force Mock In Editor | Erzwingt den Mock-Provider im Unity-Editor | true |
| Send GPS | Sendet GPS-Daten mit jeder Anfrage | false |
| Fails Count To Reset | Anzahl fehlgeschlagener Versuche bis zum Reset | 5 |
| Save Images Locally | Speichert versendete Frames lokal zum Debuggen | false |
Debugging & Tests
Force Mock In Editoraktivieren und mit den mitgelieferten Mock-Texturen ohne Gerät testen.VPSLogger.SetLogLevel(LogLevel.VERBOSE)aufrufen, um HTTP-Anfragen, Antworten und Fehler mitzulesen.- Bleibt die Lokalisierung aus, API-Key und Location IDs überprüfen.
Nächste Schritte
Assets/Scenes/TestScene.unityundAssets/Scripts/ExampleVPS.csim Beispielprojekt ansehen.- VPS-Posen für Anchors, Content-Platzierung und UI-Updates verwenden.