Freigeben über


Übersicht über Mixed Reality-Aufnahme

Hinweis

Anleitungen zu einer neuen MRC-Funktion für HoloLens 2 finden Sie unten unter Rendern von der PV-Kamera.

Sie können jederzeit ein MrC-Foto oder -Video ( Mixed Reality Capture ) aufnehmen. Bei der Entwicklung Ihrer Anwendung sind jedoch einige Dinge zu beachten. Dies umfasst bewährte Methoden für die visuelle MRC-Qualität und die Reaktion auf Systemänderungen, während MRCs erfasst werden.

Entwickler können mixed reality capture und insertion auch nahtlos in ihre Apps integrieren.

MRC auf HoloLens (erste Generation) unterstützt Videos und Fotos bis zu 720p, während MRC auf HoloLens 2 Videos bis zu 1080p und Fotos mit einer Auflösung von bis zu 4K unterstützt.

Die Bedeutung von Qualität MRC

Unabhängig davon, ob es sich um Mixed Reality-Screenshots auf Ihrer Microsoft Store-Seite oder um andere Benutzer handelt, die Aufzeichnungsinhalte in sozialen Netzwerken teilen, Mixed Reality Erfassen von Medien ist häufig ein Benutzer, der zuerst ihrer App ausgesetzt ist. Sie können MRC verwenden, um Ihre App zu demonstrieren, Benutzer zu schulen, Benutzer zu ermutigen, ihre Interaktionen mit gemischten Welten zu teilen, und für Die Benutzerforschung und Problemlösung.

Auswirkungen von MRC auf Ihre App

Aktivieren von MRC in Ihrer App

Standardmäßig muss eine App nichts tun, um Benutzern die Aufnahme von Mixed Reality zu ermöglichen.

Aktivieren einer verbesserten Ausrichtung für MRC in Ihrer App

Standardmäßig kombiniert Die Mixed Reality-Aufnahme die holografische Ausgabe des rechten Auges mit der Foto-/Videokamera (PV). Diese beiden Quellen werden mithilfe des Fokuspunkts kombiniert, der von der derzeit ausgeführten immersiven App festgelegt wird.

Dies bedeutet, dass Hologramme außerhalb der Fokusebene aufgrund des physischen Abstands zwischen der PV-Kamera und der rechten Anzeige nicht ausgerichtet werden.

Festlegen des Fokuspunkts

Immersive Apps (auf HoloLens) sollten den Fokus darauf festlegen, wo sich ihre Stabilisierungsebene befinden soll. Dadurch wird die beste Ausrichtung sowohl im Headset als auch in der Mixed Reality-Aufnahme sichergestellt.

Wenn kein Fokuspunkt festgelegt ist, wird die Stabilisierungsebene standardmäßig auf 2 Meter festgelegt.

Rendern von der PV-Kamera (opt-in)

HoloLens 2 fügt die Möglichkeit hinzu, dass eine immersive App von der PV-Kamera gerendert werden kann, während die Mixed Reality-Aufnahme ausgeführt wird. Um sicherzustellen, dass die App das zusätzliche Rendern ordnungsgemäß unterstützt, muss die App diese Funktionalität aktivieren.

Das Rendern von der PV-Kamera bietet die folgenden Verbesserungen gegenüber der MRC-Standardumgebung:

  • Die Ausrichtung des Hologramms auf Ihre physische Umgebung und die Hände für interaktionen in der Nähe sollte in allen Entfernungen genau sein. Vermeiden Sie es, einen Offset in anderen Entfernungen als dem Fokuspunkt zu haben, wie sie im Standard-MRC zu sehen sind.
  • Das rechte Auge im Headset wird nicht kompromittiert, da es nicht zum Rendern der Hologramme für die MRC-Ausgabe verwendet wird.

Erfahren Sie mehr über das Rendern mit der PV-Kamera (DirectX).

Bewährte Methoden (HoloLens-spezifisch)

Es wird erwartet, dass MRC ohne zusätzlichen Entwicklungsaufwand funktioniert, aber es gibt einige Dinge, die Sie beachten sollten, wenn Sie die beste Mixed Reality-Aufnahmeerfahrung bieten.

MRC verwendet den Alphakanal des Hologramms, um sich mit den Kamerabildern zu verbinden.

Der wichtigste Schritt besteht darin, sicherzustellen, dass Ihre App in transparentes Schwarz statt in undurchsichtiges Schwarz löscht. In Unity erfolgt dies standardmäßig mit dem MixedRealityToolkit. Wenn Sie in Nicht-Unity entwickeln, müssen Sie möglicherweise eine Einzige Zeile ändern.

Im Folgenden finden Sie einige der Artefakte, die möglicherweise in MRC angezeigt werden, wenn Ihre App nicht in transparentes Schwarz löscht:

Beispielfehler: Schwarze Ränder um den Inhalt (fehler beim Löschen in transparentes Schwarz)

Fehler beim Löschen in transparentes Schwarz: Schwarze Kantenartefakte um Hologramme Fehler beim Löschen in transparentes Schwarz: Schwarze Kantenartefakte um Hologramme

Beispielfehler: Die gesamte Hintergrundszene des Hologramms wird schwarz angezeigt. Das Festlegen eines Alpha-Hintergrundwerts von 1 führt zu einem schwarzen Hintergrund

Das Festlegen eines Alpha-Hintergrundwerts von 1 führt zu einem schwarzen Hintergrund

Erwartetes Ergebnis: Hologramme werden ordnungsgemäß mit der realen Welt gemischt angezeigt (erwartetes Ergebnis beim Löschen in transparentes Schwarz)

Erwartetes Ergebnis beim Löschen in transparentes Schwarz

Lösung:

  • Ändern Sie alle Inhalte, die als undurchsichtig schwarz angezeigt werden, um den Alphawert 0 zu erhalten.
  • Stellen Sie sicher, dass die App in transparentes Schwarz löscht.
  • Unity wird standardmäßig automatisch mit dem MixedRealityToolkit gelöscht. Wenn es sich jedoch um eine Nicht-Unity-App handelt, sollten Sie die mit ID3D11DeiceContext::ClearRenderTargetView() verwendete Farbe ändern. Sie möchten sicherstellen, dass Sie transparent schwarz (0,0,0,0,0) anstelle von undurchsichtigem Schwarz (0,0,0,1) verwenden.

Sie können jetzt die Alphawerte Ihrer Ressourcen optimieren, wenn Sie möchten, dies aber in der Regel nicht erforderlich ist. In den meisten Fällen sehen MRCs sofort gut aus. MRC geht von einem vorab multiplizierten Alpha aus. Die Alphawerte wirken sich nur auf die MRC-Erfassung aus.

Was Sie erwarten können, wenn MRC auf HoloLens aktiviert ist

Folgendes gilt sowohl für HoloLens (erste Generation) als auch für HoloLens 2, sofern nicht anders angegeben:

  • Das System drosselt die Anwendung auf 30 Hz Rendering. Dadurch entsteht etwas Spielraum für die Ausführung von MRC, sodass die App keine konstante Budgetreserve einhalten muss und auch der MRC-Videoaufzeichnungs-Framerate von 30 fps entspricht.
  • Hologramminhalte im rechten Auge des Geräts scheinen beim Aufzeichnen/Streamen von MRC zu "funkeln": Text kann schwieriger zu lesen sein, und Hologrammränder erscheinen möglicherweise eher jaggy (wenn Sie sich für das Rendern der dritten Kamera auf HoloLens 2 vermeidet diese Kompromittierung).
  • MRC-Fotos und -Videos berücksichtigen den Fokuspunkt der Anwendung, wenn die Anwendung ihn aktiviert hat, wodurch sichergestellt wird, dass Hologramme genau positioniert sind. Für Videos wird der Fokuspunkt geglättet, sodass Hologramme möglicherweise langsam an ort und Stelle abdriften, wenn sich die Fokuspunkttiefe erheblich ändert. Hologramme, die sich in unterschiedlichen Tiefen vom Fokuspunkt befinden, können von der realen Welt entfernt sein (siehe Beispiel unten, in dem der Fokuspunkt auf 2 Meter festgelegt ist, aber das Hologramm auf 1 Meter positioniert ist).

Hologramme bei 2 Metern werden perfekt für die Welt registriert erscheinen. Hologramme in nah oder weit entfernten Entfernungen können leicht versetzt sein.

Integrieren von MRC-Funktionen aus Ihrer App

Ihre Mixed Reality-App kann MRC-Foto- oder Videoaufnahmen aus der App starten, und der erfasste Inhalt wird Ihrer App zur Verfügung gestellt, ohne in der "Kamerarolle" des Geräts gespeichert zu werden. Sie können einen benutzerdefinierten MRC-Rekorder erstellen oder die integrierte Kameraaufnahme-Benutzeroberfläche nutzen.

MRC mit integrierter Kamerabenutzeroberfläche

Entwickler können die Kameraaufnahme-UI-API verwenden, um ein vom Benutzer aufgenommenes Mixed Reality-Foto oder -Video mit nur wenigen Codezeilen abzurufen.

Diese API startet die integrierte MRC-Kamerabenutzeroberfläche, auf der Benutzer ein Foto oder Video aufnehmen können und die resultierende Aufnahme an Ihre App zurückgibt. Sie können einen benutzerdefinierten Mixed Reality Aufnahmerekorder erstellen, wenn Sie Eine eigene Kamerabenutzeroberfläche oder einen zugriff auf niedrigerer Ebene für Aufnahmedatenströme hinzufügen müssen.

Erstellen eines benutzerdefinierten MRC-Recorders

Während der Benutzer jederzeit ein Foto oder Video mit dem MRC-Aufnahmedienst des Systems auslösen kann, kann eine Anwendung eine benutzerdefinierte Kamera-App erstellen, die Hologramme genau wie MRC in den Kameradatenstrom enthält. Dies ermöglicht es der Anwendung, Aufzeichnungen aus Benutzereingaben zu starten, eine benutzerdefinierte Aufzeichnungsoberfläche zu erstellen oder MRC-Einstellungen anzupassen, um einige Beispiele zu nennen.

HoloStudio fügt eine benutzerdefinierte MRC-Kamera mithilfe von MRC-Effekten hinzu

HoloStudio fügt eine benutzerdefinierte MRC-Kamera mithilfe von MRC-Effekten hinzu

Unity-Anwendungen sollten Locatable_camera_in_Unity für die -Eigenschaft sehen, um Hologramme zu aktivieren.

Andere Anwendungen können dazu die Windows Media Capture-APIs verwenden, um die Kamera zu steuern und einen MRC-Video- und Audioeffekt hinzuzufügen, um virtuelle Hologramme und Anwendungsaudio in Stills und Videos einzuschließen.

Erfahren Sie mehr über das Erstellen eines benutzerdefinierten MRC-Recorders (DirectX).

Gleichzeitige MRC-Einschränkungen

Sie müssen bestimmte Einschränkungen beachten, wenn mehrere Apps gleichzeitig auf MRC zugreifen.

Zugriff auf Foto-/Videokameras

Auf HoloLens 1 kann MRC kein Foto oder Video aufnehmen, während ein Prozess videos oder ein Foto aufnimmt. Umgekehrt gilt auch: Wenn MRC ausgeführt wird, erhält die Anwendung keinen Zugriff auf die Kamera.

Mit HoloLens 2 können Sie den Zugriff auf die Kamera freigeben. Wenn Sie keine direkte Steuerung der Auflösung oder Bildfrequenz benötigen, können Sie MediaCapture mithilfe der SharedMode-Eigenschaft mit SharedReadOnly initialisieren.

Integrierter MRC-Foto-/Videokamerazugriff

Erfahren Sie mehr über den integrierten MRC-Foto-/Videokamerazugriff (DirectX).

MRC-Zugriff für Entwickler

Es wird empfohlen, bei Verwendung von MRC immer die exklusive Steuerung für die Kamera anzufordern. Dadurch wird sichergestellt, dass Ihre Anwendung die vollständige Kontrolle über die Einstellungen für die Kamera hat, solange Sie die oben aufgeführten Einschränkungen kennen.

Erfahren Sie mehr über DEN MRC-Zugriff für Entwickler (DirectX).

Siehe auch