Kurzanleitung für Google Cardboard für Unity

In diesem Leitfaden erfahren Sie, wie Sie mit dem Google Cardboard XR-Plugin für Unity eigene Virtual Reality-Erlebnisse (VR) erstellen.

Mit dem Cardboard SDK können Sie ein Smartphone in eine VR-Plattform verwandeln. Ein Mobilgerät kann 3D-Szenen mit stereoskopischem Rendering darstellen, Kopfbewegungen erfassen und darauf reagieren sowie mit Apps interagieren, indem es erkennt, wenn der Nutzer die Schaltfläche des Viewers drückt.

Zuerst verwenden Sie HelloCardboard, ein Demospiel, das die wichtigsten Funktionen des Cardboard SDK veranschaulicht. Im Spiel sehen sich Nutzer in einer virtuellen Welt um, um Objekte zu finden und zu sammeln. Darin wird Folgendes beschrieben:

  • Entwicklungsumgebung einrichten
  • Demo-App herunterladen und erstellen
  • QR‑Code eines Cardboard-Viewers scannen, um seine Parameter zu speichern
  • Kopfbewegungen des Nutzers erfassen
  • Stereoskopische Bilder rendern, indem Sie die richtige Verzerrung für jedes Auge festlegen
  • VR-Modus aktivieren und deaktivieren

Entwicklungsumgebung einrichten

Softwareanforderungen:

  • Unity 2021.3.44f1 oder höher
    • Achten Sie darauf, dass Sie während der Installation Android- und iOS-Build-Unterstützung einbeziehen.
    • Installieren Sie die Patch-Version 44f1 oder höher.
  • Git muss installiert sein und die ausführbare Datei git muss in der Umgebungsvariable PATH enthalten sein. Weitere Informationen finden Sie in der Dokumentation zum Git-Support des Unity-Paketmanagers.

SDK importieren und neues Projekt erstellen

Führen Sie die folgenden Schritte aus, um das Unity SDK zu importieren und ein neues Projekt zu erstellen.

  1. Öffnen Sie Unity und erstellen Sie ein neues 3D-Projekt.
  2. Klicken Sie in Unity auf Window > Package Manager.
  3. Klicken Sie auf + und wählen Sie Paket über Git-URL hinzufügen aus.
  4. Fügen Sie https://github.com/googlevr/cardboard-xr-plugin.git in das Texteingabefeld ein.
    Das Paket sollte den installierten Paketen hinzugefügt werden.
  5. Rufen Sie das Paket Google Cardboard XR Plugin for Unity auf. Wählen Sie im Bereich Beispiele die Option In Projekt importieren aus.
    Die Beispiel-Assets sollten in Assets/Samples/Google Cardboard/<version>/Hello Cardboard geladen werden.

HelloCardboard-Szene konfigurieren

  1. Rufen Sie Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes auf, wählen Sie Open Scenes hinzufügen und dann HelloCardboard aus, um die Beispielszene zu öffnen.
  2. Öffnen Sie das Menü Ebenen und wählen Sie Ebenen bearbeiten… aus.
  3. Definieren Sie eine neue Ebene mit dem Namen „Interaktiv“.
  4. Klicken Sie auf das GameObject Treasure, um das Inspector-Fenster zu öffnen. Legen Sie die Ebene auf „Interaktiv“ fest. Wenn ein Pop-up-Fenster angezeigt wird, in dem Sie gefragt werden, ob Sie die Ebene auch für alle untergeordneten Objekte auf „Interaktiv“ festlegen möchten, klicken Sie auf „Ja, untergeordnete Elemente ändern“.
  5. Klicken Sie auf das GameObject Player > Camera > CardboardReticlePointer, um das Inspector-Fenster zu öffnen. Wählen Sie im Script „Cardboard reticle pointer“ (Cardboard-Fadenkreuzzeiger) als Reticle Interaction Layer Mask (Ebene für Fadenkreuzinteraktion) die Option „Interactive“ (Interaktiv) aus.

Android-Build-Einstellungen konfigurieren

Klicken Sie auf File > Build Settings.

  1. Wählen Sie Android und dann Plattform wechseln aus.
  2. Wählen Sie Open Scenes hinzufügen und dann HelloCardboard aus.

Videoplayer-Einstellungen

Klicken Sie auf Bearbeiten > Projekteinstellungen….

Einstellungen für Auflösung und Präsentation konfigurieren

Rufen Sie Player > Auflösung und Darstellung auf.

  1. Legen Sie die Standardausrichtung auf Querformat links oder Querformat rechts fest.
  2. Deaktiviere Optimized Frame Pacing.

Weitere Einstellungen konfigurieren

Gehen Sie zu Player > Other Settings.

  1. Wählen Sie unter Graphics APIs (Grafik-APIs) OpenGLES2, OpenGLES3 oder Vulkan oder eine beliebige Kombination davon aus.
  2. Wählen Sie in Mindest-API-Level die Option Android 8.0 'Oreo' (API level 26) oder höher aus.
  3. Wählen Sie in Ziel-API-Level die Option API level 35 oder höher aus.
  4. Wählen Sie IL2CPP unter Scripting Backend aus.
  5. Wählen Sie die gewünschten Architekturen aus, indem Sie in Zielarchitekturen ARMv7, ARM64 oder beides auswählen.
  6. Wählen Sie Require unter Internetzugriff aus.
  7. Wählen Sie Input System Package (New) unter Active Input Handling (Aktive Eingabebehandlung) aus.
  8. Geben Sie die Unternehmensdomain unter Paketname an.
  9. Wenn Vulkan als Graphics API (Grafik-API) ausgewählt wurde:
    • Deaktivieren Sie in den Vulkan-Einstellungen das Kästchen Displayausrichtung beim Rendern anwenden.
    • Wenn die Unity-Version 2021.2 oder höher ist, wählen Sie unter Texturkomprimierungsformat die Option ETC2 aus.
  10. Wenn die Unity-Version 2023.1 oder höher ist, wählen Sie Activity aus und entfernen Sie das Häkchen bei GameActivity unter Application Entry Point (Anwendungseinstiegspunkt).

Veröffentlichungseinstellungen konfigurieren

Gehen Sie zu Player > Publishing Settings (Player > Veröffentlichungseinstellungen).

  1. Wählen Sie im Abschnitt Build die Optionen Custom Main Gradle Template und Custom Gradle Properties Template aus.
  2. Fügen Sie dem Abschnitt „dependencies“ von Assets/Plugins/Android/mainTemplate.gradle die folgenden Zeilen hinzu:

      implementation 'androidx.appcompat:appcompat:1.6.1'
      implementation 'com.google.android.gms:play-services-vision:20.1.3'
      implementation 'com.google.android.material:material:1.12.0'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. Fügen Sie Assets/Plugins/Android/gradleTemplate.properties die folgenden Zeilen hinzu:

      android.enableJetifier=true
      android.useAndroidX=true
    

XR Plug-in Management-Einstellungen konfigurieren

Rufen Sie die XR-Plug-in-Verwaltung auf.

  1. Wählen Sie unter Plug-in-Anbieter die Option Cardboard XR Plugin aus.

Projekt erstellen

Klicken Sie auf File > Build Settings.

  1. Wählen Sie Build (Erstellen) oder ein Gerät und dann Build and Run (Erstellen und ausführen) aus.

iOS-Projekteinstellungen konfigurieren

Klicken Sie auf File > Build Settings.

  1. Wählen Sie iOS und dann Plattform wechseln aus.
  2. Wählen Sie Open Scenes hinzufügen und dann HelloCardboard aus.

Videoplayer-Einstellungen

Klicken Sie auf Bearbeiten > Projekteinstellungen….

Einstellungen für Auflösung und Präsentation konfigurieren

Gehen Sie zu Player > Auflösung und Darstellung.

  1. Legen Sie die Standardausrichtung auf Querformat links oder Querformat rechts fest.

Weitere Einstellungen konfigurieren

Gehen Sie zu Player > Other Settings.

  1. Geben Sie unter Beschreibung der Kameranutzung den Text Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters). ein.
  2. Geben Sie unter Target minimum iOS Version (Mindest-iOS-Zielversion) 12.0 ein.
  3. Geben Sie die Unternehmensdomain unter Paketname an.
  4. Prüfen Sie Top Edge, Left Edge und Right Edge in Systemgesten an Kanten aufschieben.

XR Plug-in Management-Einstellungen konfigurieren

Rufen Sie die XR-Plug-in-Verwaltung auf.

  1. Wählen Sie unter Plug-in-Anbieter die Option Cardboard XR Plugin aus.

Projekt erstellen

Klicken Sie auf File > Build Settings.

  1. Wählen Sie Erstellen oder Erstellen und ausführen aus.

Zentrieren

Mit dem Cardboard SDK können Sie den Head-Tracker mit Recenter() neu zentrieren.

So probieren Sie es mit der Beispielanwendung aus:

  1. Bewege das Gerät an die Position, an der du es neu zentrieren möchtest (verwende es als neue Kopfhaltung für die Blickrichtung nach vorn).
  2. Halten Sie den Auslöser Ihres Cardboard-Geräts mindestens drei Sekunden lang gedrückt.
  3. Lassen Sie den Auslöser los.
  4. Die Anfangspose ist jetzt in der Richtung, in die die Kamera zeigt.

VR-Modus aktivieren und deaktivieren

Mit der Unity XR Plugin Management API können Sie den VR-Modus für das Google Cardboard XR-Plug-in für Unity aktivieren oder deaktivieren. Die Endnutzerdokumentation und Anwendungsbeispiele sind in der Endnutzerdokumentation von Unity verfügbar.

Die Szene VrMode im HelloCardboard-Beispiel zeigt eine grundlegende Verwendung der oben genannten API. In dieser Szene kann der VR-Modus durch Tippen auf Beenden X-Taste deaktiviert und durch Tippen auf eine beliebige Stelle auf dem Bildschirm wieder aktiviert werden. Weitere Informationen dazu finden Sie in VrModeController.cs.

Nächste Schritte