Plattformspezifische Anleitungen
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreale Engine
Die überwiegende Mehrheit der Augmented-Reality-Funktionen ist „Echtzeit“. Nutzer müssen sich zu einer bestimmten Zeit an einem bestimmten Ort befinden, ihr Smartphone muss in einem speziellen AR-Modus eingerichtet sein und eine AR-App geöffnet haben. Wenn ein Nutzer beispielsweise sehen möchte, wie eine AR-Couch in seinem Wohnzimmer aussieht, muss er die Couch in der Umgebung auf dem Bildschirm platzieren, während er sich tatsächlich im Raum befindet.
Die Recording and Playback API macht diese Echtzeitanforderung überflüssig. So können Sie AR-Inhalte erstellen, die überall und jederzeit angesehen werden können. Die Recording API speichert den Videostream einer Kamera, IMU-Daten oder andere benutzerdefinierte Metadaten, die Sie in einer MP4-Datei speichern. Diese aufgezeichneten Videos kannst du dann über die Playback API in ARCore einspeisen. Dadurch wird die MP4-Datei genau wie ein Live-Sitzungsfeed behandelt. Sie können weiterhin eine Live-Kamerasitzung verwenden. Mit dieser neuen API können Ihre AR-Anwendungen jedoch anstelle dieser Live-Sitzung eine vorab aufgezeichnete MP4-Datei verwenden.
Auch Endnutzer können diese Funktion nutzen. Unabhängig davon, wo sie sich gerade befinden, können sie jedes mit der Recording and Playback API aufgenommene Video aus ihrer nativen Galerie aufrufen und AR-Objekte, -Effekte und -Filter bearbeiten oder wiedergeben. Mit dieser Funktion können Nutzer in der Bahn auf dem Weg zur Arbeit oder im Bett AR-Shopping betreiben.
Anwendungsfälle für die Entwicklung mit der Recording and Wiedergabe API
Die Recording and Wiedergabe API beseitigt die zeitlichen und räumlichen Beschränkungen beim Erstellen von AR-Apps. Hier sind einige Möglichkeiten, wie Sie es in Ihren eigenen Projekten verwenden können.
Einmal aufnehmen, überall testen
Anstatt eine AR-Funktion jedes Mal vor Ort zu besuchen, kannst du ein Video mit der Recording API aufnehmen und auf einem beliebigen kompatiblen Gerät abspielen. Du entwickelst ein Erlebnis in einem Einkaufszentrum? Sie müssen nicht jedes Mal dorthin gehen, wenn Sie eine Änderung testen möchten. Zeichnen Sie Ihren Besuch einfach einmal auf und entwickeln Sie die Ergebnisse dann ganz bequem von Ihrem Schreibtisch aus weiter.
Durchlaufzeit reduzieren
Anstatt für jedes einzelne Android-Gerät, das du unterstützen möchtest, ein Video aufzunehmen, kannst du das Video für jedes einzelne Szenario, das du testen möchtest, einmal aufzeichnen und während der Durchlaufphase auf verschiedenen Geräten abspielen.
Manuelle Tests für Entwicklungsteams reduzieren
Anstatt für jede neue Funktion benutzerdefinierte Datasets zu erstellen, können Sie vorab aufgezeichnete Datasets nutzen und gleichzeitig neue Funktionen einführen, die detaillierte Informationen oder die neuesten Tracking-Verbesserungen von ARCore enthalten.
Gerätekompatibilität
Für die Aufzeichnung von Daten über die Recording and Wiedergabe API benötigst du ARCore. Für die Wiedergabe ist ARCore nicht erforderlich. Mit dieser Funktion aufgenommene MP4-Dateien sind im Wesentlichen Videodateien mit zusätzlichen Daten, die mit jedem Videoplayer wiedergegeben werden können. Du kannst sie mit dem ExoPlayer von Android oder einem anderen kompatiblen Player überprüfen, der MP4s aufschlüsseln und die zusätzlichen Daten verwalten kann, die von ARCore hinzugefügt werden.
So werden Video- und AR-Daten für die Wiedergabe aufgezeichnet
Mit ARCore werden aufgezeichnete Sitzungen in MP4-Dateien auf dem Zielgerät gespeichert. Diese Dateien enthalten mehrere Videotracks und andere Daten. Nachdem diese Sitzungen gespeichert wurden, können Sie Ihre App so einrichten, dass diese Daten anstelle einer Live-Kamerasitzung verwendet werden.
Was enthält eine Aufnahme?
ARCore erfasst die folgenden Daten in einem H.264-Video. Du kannst sie mit jedem MP4-kompatiblen Videoplayer abspielen, der das Umschalten von Tracks unterstützt. Der Titel mit der höchsten Auflösung steht an erster Stelle in der Liste, da einige MP4-kompatible Videoplayer automatisch den ersten Titel in der Liste wiedergeben, ohne dass Sie auswählen können, welcher Videotrack wiedergegeben werden soll.
Primärer Videotrack (CPU-Image-Track)
Die primäre Videodatei zeichnet die Umgebung oder Szene für die spätere Wiedergabe auf. Von zeichnet ARCore das 640 × 480 (VGA) CPU-Image auf, das für Bewegungserkennung als primäres Video .
ARCore erfasst nicht die (hochauflösende) GPU-Textur, die gerendert wird, den Bildschirm als Passthrough-Kamerabild.
Wenn während der Wiedergabe ein Bildstream mit hoher Auflösung verfügbar sein soll, müssen Sie eine Kamera konfigurieren, die ein CPU-Bild mit der gewünschten Auflösung liefert. In diesem Fall gilt:
- ARCore fordert sowohl das 640 x 480 (VGA) CPU-Image an, das für der Bewegungserkennung und des hochauflösenden CPU-Bildes, das vom konfigurierten Kamerakonfiguration.
- Das Erfassen des zweiten CPU-Imagestreams kann sich auf die App-Leistung auswirken. Die Auswirkungen können je nach Gerät unterschiedlich sein.
- Während der Wiedergabe verwendet ARCore das hochauflösende CPU-Bild, das während der Aufnahme erfasst wurde, als GPU-Textur.
- Das hochauflösende CPU-Bild wird zum Standardvideostream in der MP4-Aufzeichnung.
Die während der Aufnahme ausgewählte Kamerakonfiguration bestimmt das CPU-Bild und den primären Videostream in der Aufnahme. Wenn Sie keine Kamerakonfiguration mit einem hochauflösenden CPU-Bild auswählen, ist dieses Video der erste Track in der Datei und wird unabhängig vom verwendeten Videoplayer standardmäßig wiedergegeben.
Visualisierung der Tiefenkarte der Kamera
Hierbei handelt es sich um eine Videodatei, die die Tiefenkarte der Kamera darstellt. Sie wird vom Hardware-Tiefensensor des Geräts, wie einem Flugzeitsensor, aufgezeichnet und in RGB-Kanalwerte konvertiert. Dieses Video sollte nur für Vorschauzwecke verwendet werden.
API-Aufruf-Ereignisse
ARCore erfasst Messungen vom Gyroskop und Beschleunigungsmesser des Geräts. Außerdem werden andere Daten erfasst, von denen einige möglicherweise sensibel sind:
- Versionen des Datensatzformats
- ARCore SDK-Version
- Google Play-Dienste für AR-Version
- Fingerabdruck des Geräts (Ausgabe von
adb shell getprop ro.build.fingerprint
) - Weitere Informationen zu Sensoren, die für die AR-Verfolgung verwendet werden
- Bei Verwendung der ARCore Geospatial API: geschätzter Standort, Magnetometer- und Kompasswerte des Geräts