Zum Hauptinhalt springen

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

  1. Window → Package Manager öffnen.
  2. + → Add package from Git URL… wählen.
  3. https://github.com/WebAR-Studio/was-vps-unity.git?path=/Assets einfügen.

Unity installiert das SDK unter Packages/was-vps-unity.

Projekteinrichtung

  1. Eine AR-Foundation-fähige Szene anlegen oder öffnen (mit AR Session und AR Session Origin).
  2. VPSLocalisationService auf ein leeres GameObject legen – die Komponente steuert den Lokalisierungszyklus.
  3. Im Inspector Referenzen zuweisen:
    • AR Session
    • AR Session Origin
    • optional AR-Kamera und UI wie in den Beispielszenen.
  4. 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.

  5. (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

EigenschaftBedeutungStandard
Start On AwakeStartet die Lokalisierung automatisch beim Szenenladenfalse
Force Mock In EditorErzwingt den Mock-Provider im Unity-Editortrue
Send GPSSendet GPS-Daten mit jeder Anfragefalse
Fails Count To ResetAnzahl fehlgeschlagener Versuche bis zum Reset5
Save Images LocallySpeichert versendete Frames lokal zum Debuggenfalse

Debugging & Tests

  • Force Mock In Editor aktivieren 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.unity und Assets/Scripts/ExampleVPS.cs im Beispielprojekt ansehen.
  • VPS-Posen für Anchors, Content-Platzierung und UI-Updates verwenden.