Plattformspezifische Leitfäden
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreale Engine
Die überwiegende Mehrheit der Augmented Reality-Funktionen erfolgt in Echtzeit. Dazu müssen sie sich zu einer bestimmten Zeit an einem bestimmten Ort befinden, ihr Smartphone in einen speziellen AR-Modus gestellt und eine AR-App geöffnet sein. Wenn ein Nutzer beispielsweise sehen möchte, wie ein AR-Sofa in seinem Wohnzimmer aussieht, muss er es in die Bildschirmumgebung „aufstellen“, während es sich tatsächlich im Raum befindet.
Die Recording and Wiedergabe API macht diese Anforderung in Echtzeit weg, sodass Sie AR-Erlebnisse erstellen können, die sich jederzeit und überall ansehen 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 trotzdem eine Live-Kamerasitzung verwenden, aber mit dieser neuen API können Ihre AR-Anwendungen anstelle dieser Livesitzung eine vorher aufgezeichnete MP4-Datei verwenden.
Auch Endnutzer können diese Funktion nutzen. Ganz gleich, wo sie sich im echten Leben befinden, sie können 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 ihre AR-Shopping-Inhalte im Zug auf dem Weg zum Büro oder im Bett erledigen.
Anwendungsfälle für die Entwicklung mit der Recording and Playback 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 aufzeichnen, ü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 diese Seite nicht jedes Mal aufrufen, 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.
Den manuellen Testaufwand für alle 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.
Eingeschränkte 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.
Wie Video- und AR-Daten für die Wiedergabe aufgezeichnet werden
Mit ARCore werden aufgezeichnete Sitzungen in MP4-Dateien auf dem Zielgerät gespeichert. Diese Dateien enthalten mehrere Videotracks und sonstige Daten. Sobald diese Sitzungen gespeichert sind, 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 mit jedem MP4-kompatiblen Videoplayer darauf zugreifen, mit dem du den Track wechseln kannst. 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-Bildtrack)
Die primäre Videodatei zeichnet die Umgebung oder Szene zur späteren 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 Sie möchten, dass ein hochauflösender Bildstream während der Wiedergabe verfügbar ist, können Sie muss eine Kamera konfigurieren, die ein CPU-Image bereitstellt die die gewünschte Auflösung hat. 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.
- Die Aufnahme des zweiten CPU-Bildstreams kann die App-Leistung beeinträchtigen Geräte unterschiedlich betroffen sein können.
- Während der Wiedergabe verwendet ARCore das hochauflösende CPU-Bild, das während der Aufnahme als GPU-Textur während der Wiedergabe erfasst.
- Das hochauflösende CPU-Bild wird zum Standard-Videostream im MP4-Aufnahme.
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 standardmäßig abgespielt, unabhängig davon, welchen Videoplayer Sie verwenden.
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-Aufrufereignisse
ARCore zeichnet Messungen durch Gyrometer und Beschleunigungsmesser des Geräts auf. Es werden auch andere Daten aufgezeichnet, von denen einige vertraulich sein könnten:
- Versionen des Dataset-Formats
- 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 des Geräts, Magnetometer- und Kompasswerte