Erste Schritte mit OpenXR

Sie können mit OpenXR auf einem immersiven HoloLens 2- oder Windows Mixed Reality-Headset auf dem Desktop entwickeln. Wenn Sie keinen Zugriff auf ein Headset haben, können Sie stattdessen den HoloLens 2-Emulator oder den Windows Mixed Reality Simulator verwenden.

Erste Schritte mit OpenXR für HoloLens 2

So beginnen Sie mit der Entwicklung von OpenXR-Anwendungen für HoloLens 2:

  1. Richten Sie ein HoloLens 2 Gerät ein, oder installieren Sie eine aktuelle Version des HoloLens 2-Emulators.

Das ist alles! Die OpenXR-API-Runtime ist auf HoloLens 2 Geräten vorinstalliert, und Sie erhalten automatische Updates über den Store.

Um sicherzustellen, dass Sie über die neueste OpenXR-Runtime mit allen vorhandenen Erweiterungen verfügen, können Sie die Store-App über das HoloLens-Gerät oder den HoloLens-Emulator starten. Öffnen Sie das Menü oben rechts in der Store-App, wählen Sie Downloads und Updates aus, und wählen Sie Updates abrufen aus.

Hinweis

Wenn Sie den Emulator verwenden, wird das Emulatorimage jedes Mal zurückgesetzt, wenn Sie es starten. Daher sollten Sie am besten sicherstellen, dass Sie über die neueste Version des HoloLens 2 Emulatorimages verfügen.

Erste Schritte mit OpenXR für Windows Mixed Reality Headsets

So beginnen Sie mit der Entwicklung von OpenXR-Anwendungen für immersive Windows Mixed Reality Headsets:

  1. Stellen Sie sicher, dass Sie mindestens das Windows 10 Update vom Oktober 2020 (20H2) ausführen, das mindestens unterstützte Betriebssystemversion für Windows Mixed Reality Endbenutzer zum Ausführen von OpenXR-Anwendungen ist. Frühere Versionen von Windows 10 sollten weiterhin mit OpenXR funktionieren, weisen jedoch möglicherweise keine optimale Leistung oder Qualität auf. Wenn Sie eine frühere Version von Windows 10 verwenden, können Sie ein Upgrade mithilfe des Windows 10 Update-Assistenten durchführen.
  2. Richten Sie ein Windows Mixed Reality Headset ein, oder aktivieren Sie den Windows Mixed Reality Simulator.

Das ist alles! Die Windows Mixed Reality OpenXR-Runtime wird installiert und automatisch für alle Windows Mixed Reality Benutzer aktiviert. Der Microsoft Store hält die Laufzeit dann auf dem neuesten Stand.

Wenn Sie mehrere VR-Headsets auf Ihrem PC verwendet haben, denken Sie daran, dass die aktive OpenXR-Runtime möglicherweise von der Systemsoftware eines anderen Anbieters geändert wird. Um die Windows Mixed Reality OpenXR Runtime erneut zu aktivieren, starten Sie im Startmenü "Mixed Reality Portal", und wählen Sie dann oben im Fenster "Fix it" aus. Wenn diese Schaltfläche fehlt, ist die OpenXR-Runtime bereits aktiv.

Abrufen der OpenXR-Tools für Windows Mixed Reality

Wenn Sie OpenXR-Anwendungen für HoloLens 2 oder PC VR entwickeln, finden Sie diese OpenXR-Tools für Windows Mixed Reality App möglicherweise nützlich. Es bietet eine Demo verschiedener OpenXR-Features und eine OpenXR-Runtime-Seite, die wichtige Informationen zur aktiven Runtime und zum aktuellen Headset enthält.

Um die OpenXR Tools-App zu finden und zu installieren, wechseln Sie auf Ihrem HoloLens 2 zur Store-App, und suchen Sie nach "OpenXR".

Wenn Sie den HoloLens 2-Emulator verwenden, können Sie die OpenXR-Tools für Windows Mixed Reality am einfachsten über das Windows-Geräteportal installieren. Navigieren Sie im Portal zur Seite "OpenXR", und wählen Sie dann unter Entwicklerfeatures die Schaltfläche Installieren aus. Dies funktioniert auch auf physischen HoloLens 2 Geräten.

OpenXR-Tools für Windows Mixed Reality-App

Erkunden der OpenXR-API und der Beispiel-App

Installieren Sie unbedingt die Tools, die Sie für die OpenXR-Entwicklung benötigen, wenn Sie dies noch nicht getan haben.

Das BasicXrApp-Projekt zeigt ein einfaches OpenXR-Beispiel mit Win32- und UWP-HoloLens 2 Projektdateien in Visual Studio. Da die Projektmappe ein HoloLens-UWP-Projekt enthält, benötigen Sie die in Visual Studio installierte Universelle Windows-Plattform-Entwicklungsworkload, um sie vollständig zu öffnen.

Während die Win32- und UWP-Projektdateien aufgrund von Unterschieden bei der Paketerstellung und Bereitstellung getrennt sind, ist der App-Code in jedem Projekt fast identisch!

Einen Überblick über die OpenXR-API finden Sie in diesem 60-minütigen Video des BasicXrApp-Beispiels in Visual Studio. Das Video zeigt, wie jede der Hauptkomponenten der OpenXR-API in Ihrer eigenen Engine verwendet werden kann, und zeigt auch einige der Anwendungen, die heute auf OpenXR basieren:

Ausführen Ihrer OpenXR-App

Nachdem Sie eine OpenXR Win32-Desktop-.EXE erstellt haben, können Sie es mit einem VR-Headset auf jeder Desktop-VR-Plattform verwenden, die OpenXR unterstützt, unabhängig vom Headsettyp.

Nachdem Sie ein OpenXR-UWP-App-Paket erstellt haben, können Sie dieses Paket entweder auf einem HoloLens 2 Gerät oder im HoloLens 2-Emulator bereitstellen.

Verwenden von OpenXR in einem vorhandenen Projekt

Um mit OpenXR in einem vorhandenen Projekt zu beginnen, schließen Sie den OpenXR-Ladeprogramm ein. Das Ladeprogramm ermittelt die aktive OpenXR-Runtime auf dem Gerät und ermöglicht den Zugriff auf die kernigen Funktionen und Erweiterungsfunktionen, die er implementiert.

Sie können in Ihrem Visual Studio-Projekt auf das offizielle OpenXR NuGet-Paket verweisen oder die offizielle OpenXR-Ladeprogrammquelle aus dem Khronos GitHub-Repository einschließen. Bei beiden Ansätzen erhalten Sie Zugriff auf OpenXR 1.0-Kernfeatures sowie veröffentlichte KHR, EXT und MSFT Erweiterungen.

Wenn Sie auch mit MSFT_preview Erweiterungen experimentieren möchten, können Sie in der Vorschau OpenXR-Header aus dem Mixed Reality GitHub-Repository kopieren.

Referenz des offiziellen OpenXR NuGet-Pakets

Das OpenXR.Loader NuGet-Paket ist die einfachste Möglichkeit, auf einen vordefinierten OpenXR-Ladeer zu verweisen, der in Ihrer Visual Studio C++-Lösung .DLL. Dadurch erhalten Sie Zugriff auf OpenXR 1.0-Kernfeatures sowie auf veröffentlichte KHR, EXT und MSFT Erweiterungen.

So fügen Sie Ihrer Visual Studio C++-Lösung einen Verweis auf das OpenXR.Loader-NuGet-Paket hinzu:

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, das OpenXR verwendet, und wählen Sie NuGet-Pakete verwalten... aus.
  2. Wechseln Sie zur Registerkarte Durchsuchen , und suchen Sie nach OpenXR.Loader.
  3. Wählen Sie das Paket OpenXR.Loader aus, und wählen Sie im Detailbereich rechts installieren aus.
  4. Wählen Sie OK aus, um die Änderungen an Ihrem Projekt zu übernehmen.
  5. Fügen Sie #include <openxr/openxr.h> einer Quelldatei hinzu, um mit der Verwendung der OpenXR-API zu beginnen.

Ein Beispiel für die OpenXR-API in Aktion finden Sie in der Beispiel-App BasicXrApp .

Einschließen der offiziellen OpenXR-Ladeprogrammquelle

Wenn Sie den Ladevorgang selbst erstellen möchten, z. B. um den zusätzlichen Ladevorgang .DLL zu vermeiden, können Sie die offiziellen Khronos OpenXR-Ladeprogrammquellen in Ihr Projekt ziehen. Dadurch erhalten Sie Zugriff auf OpenXR 1.0-Kernfeatures sowie auf veröffentlichte KHR, EXT und MSFT Erweiterungen.

Um hier zu beginnen, befolgen Sie die Anweisungen im Repository Khronos OpenXR-SDK auf GitHub. Das Projekt ist für die Erstellung mit CMake eingerichtet. Wenn Sie MSBuild verwenden, müssen Sie den Code in Ihr eigenes Projekt kopieren.

Verwenden von Vorschauerweiterungen

Bei MSFT_preview den in der Erweiterungsroadmap aufgeführten Erweiterungen handelt es sich um experimentelle Anbietererweiterungen, die in der Vorschau angezeigt werden, um Feedback zu sammeln. Diese Erweiterungen sind nur für Entwicklergeräte bestimmt und werden entfernt, wenn die echte Erweiterung ausgeliefert wird.

Wenn Sie die verfügbaren MSFT_preview Erweiterungen ausprobieren möchten, führen Sie die folgenden Schritte aus, um Ihr Projekt zu aktualisieren:

  1. Führen Sie einen der oben genannten Ansätze aus, um einen OpenXR-Ladeer in Ihr Projekt zu integrieren.
  2. Ersetzen Sie die OpenXR-Standardheader in Ihrem Projekt durch die Vorschauheader aus dem Mixed Reality OpenXR-Repository auf GitHub.

So aktivieren Sie dann die Vorschauerweiterungsunterstützung auf Ihrem Ziel-HoloLens 2- oder Desktop-PC:

  1. Um sicherzustellen, dass Sie über die neueste OpenXR-Runtime mit allen vorhandenen Erweiterungen verfügen, starten Sie die Store-App über das Zielgerät oder den Emulator, öffnen Sie das Menü oben rechts, wählen Sie Downloads und Updates aus, und wählen Sie Updates abrufen aus.
  2. Installieren Sie die OpenXR-Tools für Windows Mixed Reality-App aus dem Microsoft Store auf dem Zielgerät, und führen Sie sie aus.
  3. Navigieren Sie zur Registerkarte Einstellungen , und aktivieren Sie Die neueste OpenXR-Runtime verwenden. Dadurch wird die Vorschaulaufzeit auf Ihrem Gerät aktiviert, für die Vorschauerweiterungen aktiviert sind. Registerkarte
  4. Vergewissern Sie sich, dass die Laufzeitversion auf der Registerkarte OpenXR Runtime der OpenXR-Tools für Windows Mixed Reality der erforderlichen Version der Vorschauerweiterungen entspricht, die Sie ausprobieren möchten. Wenn ja, sollte die Erweiterung in der Liste Erweiterungen angezeigt werden. Sobald eine stabile Erweiterung verfügbar ist, wird die Vorschauerweiterung entfernt.
    Registerkarte OpenXR Tools for Windows Mixed Reality App OpenXR Runtime

Im Mixed Reality OpenXR-Repository finden Sie eine Dokumentation zu diesen Vorschauerweiterungen und Beispiele für deren Verwendung.

Problembehandlung

Wenn Sie Probleme beim Starten und Ausführen der OpenXR-Entwicklung haben, lesen Sie unsere Tipps zur Problembehandlung.