Unity SDK
Bauen Sie AR Clip VPS in ein Unity-Projekt ein. Das SDK bestimmt die Position des Nutzers auf Ihren VPS-Karten und platziert Inhalte an der richtigen Stelle, auf Geräten mit ARKit (iOS) und ARCore (Android).
Bevor Sie beginnen
- Unity 2022.3 LTS oder neuer
- Ein Testgerät mit Unterstützung für ARKit oder ARCore
- Git LFS, wenn Sie das Beispielprojekt klonen (es enthält große Assets)
Installieren
Wählen Sie einen von zwei Wegen.
Das Beispielprojekt klonen
git clone https://github.com/WebAR-Studio/was-vps-unity.git
Öffnen Sie das Projekt in Unity 2022.3 oder neuer. Die Szenen in Assets/Scenes zeigen
funktionierende Setups.
Über den Package Manager hinzufügen
- Öffnen Sie Window → Package Manager.
- Klicken Sie auf + → Add package from Git URL….
- Fügen Sie
https://github.com/WebAR-Studio/was-vps-unity.git?path=/Assetsein.
Unity lädt das SDK nach Packages/was-vps-unity herunter.
Die Szene einrichten
- Erstellen oder öffnen Sie eine Szene, die für AR Foundation vorbereitet ist. Sie braucht eine AR Session und einen AR Session Origin.
- Fügen Sie
VPSLocalisationServiceeinem leeren GameObject hinzu. Diese Komponente führt die Lokalisierung aus. - Weisen Sie im Inspector zu:
AR SessionAR Session Origin- die AR-Kamera und UI-Hooks, falls Sie sie brauchen (siehe Beispielszenen)
- Geben Sie Ihren VPS-API Key und mindestens eine Location ID ein.
- Optional: Schalten Sie zum Debuggen Save Images Locally oder Save Logs In File ein.
Brauchen Sie einen API-Schlüssel?
Sie erhalten ihn auf arclip.design oder per E-Mail an support@arclip.design.
Die Lokalisierung starten
Steuern Sie die Lokalisierung aus Ihrem eigenen Skript. Fügen Sie die folgende Komponente hinzu und
weisen Sie im Inspector die Referenz auf VPSLocalisationService zu.
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());
}
}
Einstellungen im Inspector
| Eigenschaft | Was sie tut | Standard |
|---|---|---|
| Start On Awake | Startet die Lokalisierung, wenn die Szene lädt | false |
| Force Mock In Editor | Nutzt im Editor immer den Mock-Provider | true |
| Send GPS | Hängt die GPS-Daten des Geräts an jede VPS-Anfrage an | false |
| Fails Count To Reset | Nach wie vielen Fehlschlägen in Folge die Sitzung zurückgesetzt wird | 5 |
| Save Images Locally | Speichert aufgenommene Frames zum Debuggen | false |
Testen und debuggen
- Schalten Sie
Force Mock In Editorein und nutzen Sie die mitgelieferten Mock-Texturen, um ohne Gerät zu testen. - Rufen Sie
VPSLogger.SetLogLevel(LogLevel.VERBOSE)auf, um HTTP-Anfragen, Antworten und Fehler in der Konsole zu sehen. - Gelingt die Lokalisierung nie, prüfen Sie, ob Ihr API-Schlüssel gültig ist und jede Location ID zu einer Ihrer VPS-Karten gehört.
Beispiele
- Funktionierende Beispiele finden Sie im Beispielprojekt unter
Assets/Scenes/TestScene.unityundAssets/Scripts/ExampleVPS.cs. - Nutzen Sie VPS-Posen in Ihrer eigenen Logik: Anker erzeugen, 3D-Inhalte ausrichten oder die UI aktualisieren.
Weiter: Unity-Plattformen – Builds für Smartphones, Headsets und Brillen.