Übersicht über die Mixed Reality-Aufnahme

Hinweis

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

Sie können jederzeit ein Mixed Reality-Foto oder Video (Mixed Reality Capture) aufnehmen, aber es gibt einige Dinge, die beim Entwickeln Ihrer Anwendung berücksichtigt werden sollen. Dies umfasst bewährte Methoden für die visuelle QUALITÄT von MRC und reaktionsfähig auf Systemänderungen, während MRCs erfasst werden.

Entwickler können die Mixed Reality-Aufnahme 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 bis zu 4K-Auflösung unterstützt.

Die Bedeutung der Qualität von MRC

Unabhängig davon, ob es sich um Screenshots mit gemischter Realität auf Ihrer Microsoft Store Seite oder anderen Benutzern handelt, die Inhalte auf sozialen Netzwerken teilen, Mixed Reality Erfassen von Medien ist häufig eine erste Belichtung ihrer App. Sie können MRC verwenden, um Ihre App zu demoieren, Benutzer zu informieren, benutzer zu ermutigen, ihre gemischten Weltinteraktionen zu teilen, und für Benutzerforschung und Problemlösung.

Wie MRC Ihre App beeinflusst

Aktivieren von MRC in Ihrer App

Standardmäßig muss eine App nichts tun, damit Benutzer Mixed Reality-Aufzeichnungen durchführen können.

Aktivieren einer verbesserten Ausrichtung für MRC in Ihrer App

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

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

Festlegen des Fokuspunkts

Immersive Apps (auf HoloLens) sollten den Fokuspunkt festlegen, an dem sie ihre Stabilisierungsebene verwenden möchten. Dadurch wird die beste Ausrichtung sowohl im Headset als auch in der Mixed Reality-Aufnahme sichergestellt.

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

Rendern aus der PV-Kamera (Opt-In)

HoloLens 2 fügt die Möglichkeit hinzu, dass eine immersive App aus der PV-Kamera gerendert werden kann, während die Mixed Reality-Aufnahme ausgeführt wird. Um sicherzustellen, dass die App den zusätzlichen Render ordnungsgemäß unterstützt, muss sich die App bei dieser Funktionalität anmelden.

Rendern aus der PV-Kamera bietet die folgenden Verbesserungen über die Standard-MRC-Erfahrung:

  • Hologrammausrichtung auf Ihre physische Umgebung und Hände für nahe Interaktionen sollte bei allen Entfernungen genau sein. Vermeiden Sie, dass ein Offset in anderen Abständen als dem Fokuspunkt vorhanden ist, da Sie möglicherweise im Standard-MRC sehen.
  • Das rechte Auge im Headset wird nicht kompromittiert, da es nicht verwendet wird, um die Hologramme für die MRC-Ausgabe zu rendern.

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

Bewährte Methoden (HoloLens-spezifische)

MRC wird erwartet, ohne zusätzliche Entwicklungsaufwand zu arbeiten, aber es gibt einige Dinge, die beim Bereitstellen der besten Mixed Reality-Aufnahmeerfahrung bekannt sind.

MRC verwendet den Alphakanal des Hologramms, um mit dem Kamerabild zu blenden.

Der wichtigste Schritt besteht darin, sicherzustellen, dass Ihre App transparent schwarz ist, anstatt schwarz zu löschen, anstatt schwarz zu löschen. In Unity erfolgt dies standardmäßig mit dem MixedRealityToolkit. Wenn Sie sich in Nicht-Unity entwickeln, müssen Sie möglicherweise eine Zeilenänderung vornehmen.

Hier finden Sie einige der Artefakte, die Sie in MRC sehen können, wenn Ihre App nicht auf transparent schwarz gelöscht wird:

Beispielfehler: Schwarze Kanten um den Inhalt herum (Fehler beim Löschen zu transparentem Schwarz)

Failure to clear to transparent black: black edge artifacts around holograms Failing to clear to transparent black: black edge artifacts around holograms

Beispielfehler: Die gesamte Hintergrundszene des Hologramms wird schwarz angezeigt. Festlegen eines Hintergrund-Alphawerts von einem Ergebnis in einem schwarzen Hintergrund

Setting a background alpha value of 1 results in a black background

Erwartetes Ergebnis: Hologramme werden ordnungsgemäß mit der realen Welt kombiniert (erwartetes Ergebnis, wenn das Löschen auf transparent schwarz)

Expected result if clearing to transparent black

Lösung:

  • Ändern Sie alle Inhalte, die als undurchsichtig schwarz angezeigt werden, um einen Alphawert von 0 zu haben.
  • Stellen Sie sicher, dass die App auf transparent schwarz gelöscht wird.
  • Unity standardmäßig automatisch mit dem MixedRealityToolkit löschen, aber wenn es sich um eine Nicht-Unity-App handelt, sollten Sie die Farbe ändern, die mit ID3D11DeiceContext::ClearRenderTargetView() verwendet wird. Sie möchten sicherstellen, dass Sie transparent schwarz (0,0,0,0) statt undurchsichtig schwarz (0,0,0,1) löschen möchten.

Sie können jetzt die Alphawerte Ihrer Ressourcen optimieren, wenn Sie möchten, aber normalerweise nicht benötigt werden. Die meisten Zeit, MRCs werden aus dem Feld gut aussehen. MRC geht davon aus, dass vorab multiplizierte Alpha. Die Alphawerte wirken sich nur auf die MRC-Aufnahme aus.

Was erwartet wird, wenn MRC auf HoloLens aktiviert ist

Im Folgenden gelten sowohl HoloLens (erste Generation) als auch HoloLens 2, sofern nicht anders angegeben:

  • Das System drosselt die Anwendung auf 30-Hz-Rendering. Dadurch wird einige Kopfraum für MRC erstellt, um auszuführen, damit die App kein konstantes Budget reservieren muss und auch mit der MRC-Videodatensatz-Framerate von 30 fps übereinstimmt.
  • Hologramminhalte im rechten Auge des Geräts erscheinen möglicherweise "funkeln" beim Aufzeichnen/Streamen von MRC: Text wird möglicherweise schwieriger zu lesen und Hologrammränder erscheinen möglicherweise mehr Jaggy (opt in to third kamera render on HoloLens 2 vermeiden diese Kompromittierung)
  • MRC-Fotos und Videos achten auf den Fokus der Anwendung, wenn die Anwendung es aktiviert hat, wodurch sichergestellt wird, dass Hologramme genau positioniert sind. Für Videos wird der Fokuspunkt geglättet, sodass Hologramme möglicherweise langsam an ortswechseln, wenn sich die Fokuspunkttiefe erheblich ändert. Hologramme, die sich in unterschiedlichen Tiefen vom Fokuspunkt befinden, kann aus der realen Welt versetzt werden (siehe Beispiel unten, wo Fokuspunkt auf 2 Meter festgelegt ist, aber Hologramm ist auf 1 Meter positioniert).

Holograms at 2 meters will appear perfectly registered to the world. Holograms at close or far distances may be slightly offset.

Integrieren von MRC-Funktionen aus Ihrer App

Ihre Mixed Reality-App kann MRC-Foto- oder Videoaufnahme aus der App starten, und die erfassten Inhalte werden ihrer App zur Verfügung gestellt, ohne auf die "Kameraroll" des Geräts gespeichert zu werden. Sie können einen benutzerdefinierten MRC-Recorder erstellen oder die integrierte Benutzeroberfläche für die Kameraaufnahme nutzen.

MRC mit integrierter Kamera-BEnutzeroberflä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-Kamera-UI, in 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 Aufnahmerecorder erstellen, wenn Sie Ihre eigene Kamera-UI oder den Zugriff auf die Aufnahmedatenströme auf niedrigerer Ebene hinzufügen müssen.

Erstellen eines benutzerdefinierten MRC-Recorders

Der Benutzer kann zwar immer ein Foto oder Video mithilfe des System-MRC-Aufnahmediensts auslösen, aber eine Anwendung möchte möglicherweise eine benutzerdefinierte Kamera-App erstellen, die Hologramme im Kameradatenstrom wie MRC enthält. Dadurch kann die Anwendung Aufzeichnungen von Benutzereingaben starten, benutzerdefinierte Aufzeichnungsoberflächen erstellen oder MRC-Einstellungen anpassen, um einige Beispiele zu nennen.

HoloStudio fügt eine benutzerdefinierte MRC-Kamera mit MRC-Effekten hinzu

HoloStudio adds a custom MRC camera using MRC effects

Unity Applications sollte Locatable_camera_in_Unity für die Eigenschaft anzeigen, um Hologramme zu ermöglichen.

Andere Anwendungen können dies mithilfe der Windows Media Capture-APIs ausführen, um die Kamera zu steuern und einen MRC-Video- und Audioeffekt hinzuzufügen, um virtuelle Hologramme und Anwendungsaudios in Stills und Videos einzuschließen.

Weitere Informationen zum Erstellen eines benutzerdefinierten MRC-Recorders (DirectX).

Gleichzeitige MRC-Einschränkungen

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

Foto-/Videokamerazugriff

Auf HoloLens 1 kann MRC ein Foto oder Aufnahmevideo nicht erfassen, während ein Prozess Video aufzeichnen oder ein Foto aufnehmen kann. Die Umgekehrte ist auch wahr: Wenn MRC ausgeführt wird, kann die Anwendung keinen Zugriff auf die Kamera erhalten.

Mit HoloLens 2 ist es möglich, den Zugriff auf die Kamera zu teilen. Wenn Sie keine direkte Kontrolle über die Auflösung oder Framerate benötigen, können Sie MediaCapture mithilfe der SharedMode-Eigenschaft mit SharedReadOnly initialisieren.

Integrierte MRC-Foto-/Videokamerazugriff

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

MRC-Zugriff für Entwickler

Wir empfehlen Ihnen, beim Verwenden von MRC immer exklusive Kontrolle für die Kamera anzufordern. Dadurch wird sichergestellt, dass Ihre Anwendung die vollständigen Kontrolle über die Einstellungen für die Kamera hat, solange Sie sich der oben aufgeführten Einschränkungen bewusst sind.

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

Siehe auch