Freigeben über


Hologrammstabilität

Um stabile Hologramme zu erzielen, verfügt HoloLens über eine integrierte Bildstabilisierungspipeline. Die Stabilisierungspipeline funktioniert automatisch im Hintergrund, sodass Sie keine zusätzlichen Schritte ausführen müssen, um sie zu aktivieren. Sie sollten jedoch Techniken ausführen, die die Stabilität des Hologramms verbessern und Szenarien vermeiden, die die Stabilität verringern.

Hologrammqualitätsterminologie

Die Qualität von Hologrammen ist ein Ergebnis einer guten Umgebung und einer guten App-Entwicklung. Apps, die mit konstanten 60 Frames pro Sekunde in einer Umgebung ausgeführt werden, in der HoloLens die Umgebung nachverfolgen kann, stellen sicher, dass das Hologramm und das übereinstimmende Koordinatensystem synchron sind. Aus Der Perspektive eines Benutzers werden Hologramme, die stationär sein sollen, nicht relativ zur Umgebung verschoben.

Die folgende Terminologie kann Ihnen helfen, wenn Sie Probleme mit der Umgebung, inkonsistente oder niedrige Renderingraten oder sonst etwas identifizieren.

  • Genauigkeit Sobald das Hologramm weltgesperrt und in der realen Welt platziert ist, sollte es dort bleiben, wo es relativ zur Umgebung und unabhängig von Benutzerbewegungen oder kleinen und spärlichen Umgebungsänderungen platziert wird. Wenn ein Hologramm später an einer unerwarteten Stelle angezeigt wird, ist dies ein Genauigkeitsproblem . Solche Szenarien können auftreten, wenn zwei unterschiedliche Räume identisch aussehen.
  • Jitter. Benutzer beobachten Jitter als hochfrequentes Schütteln eines Hologramms, das auftreten kann, wenn die Nachverfolgung der Umgebung beeinträchtigt wird. Für Benutzer führt die Lösung die Sensoroptimierung aus.
  • Richter. Niedrige Renderingfrequenzen führen zu ungleichmäßigen Bewegungen und doppelten Bildern von Hologrammen. Judder macht sich besonders in Hologrammen mit Bewegung bemerkbar. Entwickler müssen konstant 60 FPS beibehalten.
  • Drift. Benutzer sehen driften, da sich ein Hologramm von der ursprünglichen Position entfernt. Drift tritt auf, wenn Sie Hologramme weit weg von Raumankern platzieren, insbesondere in nicht zugeordneten Teilen der Umgebung. Das Erstellen von Hologrammen in der Nähe von Raumankern verringert die Wahrscheinlichkeit einer Drift.
  • Sprunghaftigkeit. Wenn ein Hologramm gelegentlich von seiner Position "springt" oder "springt". Sprunghaftigkeit kann auftreten, wenn die Nachverfolgung Hologramme an das aktualisierte Verständnis Ihrer Umgebung anpasst.
  • Schwimmen. Wenn ein Hologramm zu schwanken scheint, entsprechend der Bewegung des Kopfes des Benutzers. Swim tritt auf, wenn die Anwendung die Neuprojektion nicht vollständig implementiert hat und die HoloLens nicht für den aktuellen Benutzer kalibriert ist. Der Benutzer kann die Kalibrierungsanwendung erneut ausführen, um das Problem zu beheben. Entwickler können die Stabilisierungsebene aktualisieren, um die Stabilität weiter zu verbessern.
  • Farbtrennung. Die Displays in HoloLens sind farbfolgende Displays, die Farbkanäle von Rot-Grün-Blau-Grün bei 60 Hz blitzen (einzelne Farbfelder werden bei 240 Hz angezeigt). Immer wenn ein Benutzer ein sich bewegendes Hologramm mit den Augen verfolgt, trennen sich die führenden und hinteren Kanten dieses Hologramms in ihren konstituierenden Farben und erzeugen einen Regenbogeneffekt. Der Grad der Trennung hängt von der Geschwindigkeit des Hologramms ab. In seltenen Fällen kann eine schnelle Bewegung des Kopfes beim Betrachten eines stationären Hologramms auch zu einem Regenbogeneffekt führen, der als Farbtrennung bezeichnet wird.

Bildfrequenz

Die Bildfrequenz ist die erste Säule der Hologrammstabilität. Damit Hologramme in der Welt stabil erscheinen, müssen die Hologramme für jedes dem Benutzer angezeigte Bild an der richtigen Stelle gezeichnet werden. Die Displays in HoloLens werden 240 Mal pro Sekunde aktualisiert, wobei vier separate Farbfelder für jedes neu gerenderte Bild angezeigt werden, was zu einer Benutzererfahrung von 60 FPS (Frames pro Sekunde) führt. Um die bestmögliche Erfahrung zu bieten, müssen Anwendungsentwickler 60 FPS beibehalten. Dies bedeutet, dass dem Betriebssystem alle 16 Millisekunden ein neues Image bereitgestellt wird.

60 FPS Um Hologramme so zu zeichnen, dass sie so aussehen, als ob sie in der realen Welt sitzen, muss HoloLens Bilder aus der Position des Benutzers rendern. Da das Rendern von Bildern Zeit in Anspruch nimmt, sagt HoloLens voraus, wo sich der Kopf eines Benutzers befindet, wenn die Bilder in den Displays angezeigt werden. Dieser Vorhersagealgorithmus ist jedoch eine Näherung. HoloLens verfügt über Hardware, die das gerenderte Bild anpasst, um die Diskrepanz zwischen der vorhergesagten Kopfposition und der tatsächlichen Kopfposition zu berücksichtigen. Durch die Anpassung wird das Dem Benutzer angezeigte Bild so dargestellt, als würde es von der richtigen Position gerendert, und Hologramme fühlen sich stabil an. Die Bildaktualisierungen funktionieren am besten mit kleinen Änderungen, und bestimmte Dinge im gerenderten Bild wie Bewegungsparallaxe können nicht vollständig behoben werden.

Indem Sie mit 60 FPS rendern, tun Sie drei Dinge, um stabile Hologramme zu erstellen:

  1. Minimieren der Gesamtlatenz zwischen dem Rendern eines Bilds und dem vom Benutzer angezeigten Bild. In einer Engine mit einem Spiel und einem Renderthread, der im Lockstep ausgeführt wird, kann die Ausführung mit 30FPS eine zusätzliche Latenz von 33,3 ms hinzufügen. Die Verringerung der Latenz verringert Vorhersagefehler und erhöht die Stabilität des Hologramms.
  2. Dies macht es so, dass jedes Bild, das die Augen des Benutzers erreicht, eine konsistente Latenz hat. Wenn Sie mit 30 fps rendern, zeigt die Anzeige weiterhin Bilder mit 60 FPS an, was bedeutet, dass dasselbe Bild zweimal hintereinander angezeigt wird. Der zweite Frame hat 16,6 ms mehr Latenz als der erste Frame und muss eine ausgeprägtere Fehlermenge korrigieren. Diese Inkonsistenz bei der Fehlerstärke kann unerwünschte 60 Hz-Judder verursachen.
  3. Verringern des Auftretens von Vibration (Judder), die sich durch ungleichmäßige Bewegung und Doppelbilder bemerkbar macht. Eine schnellere Bewegung von Hologrammen und niedrigere Renderingraten gehen mit verstärkter Vibration einher. Das Bemühen, jederzeit 60 FPS zu erhalten, wird dazu beitragen, ein Urteil für ein bestimmtes bewegtes Hologramm zu vermeiden.

Konsistenz mit Bildfrequenz Die Konsistenz der Bildfrequenz ist genauso wichtig wie hohe Frames pro Sekunde. Gelegentliche Verworfene Frames sind für jede inhaltsreiche Anwendung unvermeidlich, und die HoloLens implementiert einige anspruchsvolle Algorithmen, um gelegentliche Störungen wiederherzustellen. Allerdings ist eine ständig schwankende Framerate für einen Benutzer deutlich spürbarer, als konstant mit niedrigeren Frameraten zu laufen. Beispielsweise erscheint eine Anwendung, die für fünf Frames (60 FPS für die Dauer dieser fünf Frames) reibungslos rendert und dann jeden anderen Frame für die nächsten 10 Frames (30 FPS für die Dauer dieser 10 Frames) löscht, instabiler als eine Anwendung, die konsistent mit 30 FPS gerendert wird.

In diesem Zusammenhang drosselt das Betriebssystem Anwendungen auf 30 FPS, wenn Mixed Reality-Aufzeichnung ausgeführt wird.

Leistungsanalyse Es gibt verschiedene Arten von Tools, die verwendet werden können, um die Bildrate Ihrer Anwendung zu vergleichen, z. B.:

  • GPUView
  • Visual Studio-Grafikdebugger
  • Profiler, die in 3D-Engines wie Unity integriert sind

Hologramm-Renderdistanzen

Das menschliche visuelle System integriert mehrere entfernungsabhängige Signale, wenn es fixiert und auf ein Objekt fokussiert.

  • Unterkunft - Der Fokus eines einzelnen Auges.
  • Konvergenz : Zwei Augen, die sich nach innen oder nach außen bewegen, um ein Objekt in den Mittelpunkt zu stellen.
  • Binokulares Sehen : Unterschiede zwischen linken und rechten Bildern, die von der Entfernung eines Objekts vom Fixierungspunkt entfernt sind.
  • Schattierung, relative Winkelgröße und andere monokulare (einzelne Augen) Hinweise.

Konvergenz und Anpassung sind einzigartig, da ihre extra-retinalen Hinweise sich darauf beziehen, wie sich die Augen ändern, um Objekte in unterschiedlichen Entfernungen wahrzunehmen. In der natürlichen Betrachtung sind Konvergenz und Unterkunft miteinander verbunden. Wenn die Augen etwas in der Nähe sehen (z. B. Ihre Nase), kreuzen sich die Augen und passen zu einem nahen Punkt. Wenn die Augen etwas in der Unendlichkeit sehen, werden die Augen parallel und das Auge kann sich der Unendlichkeit anpassen.

Benutzer, die HoloLens tragen, können immer 2,0 m aufnehmen, um ein klares Bild zu erhalten, da die HoloLens-Displays in einem optischen Abstand von ca. 2,0 m vom Benutzer entfernt sind. App-Entwickler steuern, wo die Augen der Benutzer konvergieren, indem sie Inhalte und Hologramme in verschiedenen Tiefen platzieren. Wenn Benutzer unterschiedliche Entfernungen aufnehmen und konvergieren, wird die natürliche Verbindung zwischen den beiden Hinweisen unterbrochen, was zu visuellen Beschwerden oder Müdigkeit führen kann, insbesondere wenn das Ausmaß des Konflikts groß ist.

Unbehagen durch den Konflikt zwischen Vergence-Unterkünften können vermieden oder minimiert werden, indem konvergierte Inhalte so nah wie möglich an 2,0 m gehalten werden (d. h. in einer Szene mit viel Tiefe die Sehenswürdigkeiten in der Nähe von 2,0 m, wenn möglich). Wenn Inhalte nicht in der Nähe von 2,0 m platziert werden können, ist das Unbehagen aufgrund des Konflikts zwischen Vergence und Unterkünften am größten, wenn der Blick des Benutzers zwischen verschiedenen Entfernungen hin und her. Anders ausgedrückt, es ist viel angenehmer, ein stehendes Hologramm zu betrachten, das in 50 cm Entfernung bleibt, als ein Hologramm in 50 cm Entfernung zu betrachten, das sich im Lauf der Zeit auf Sie zu und von Ihnen weg bewegt.

Das Platzieren von Inhalten auf 2,0 m ist ebenfalls vorteilhaft, da die beiden Displays so konzipiert sind, dass sie sich in dieser Entfernung vollständig überlappen. Bei Bildern, die sich von dieser Ebene befinden, werden sie von der Seite des holografischen Rahmens aus einer Anzeige angezeigt, während sie auf der anderen noch sichtbar sind. Diese binokulare Rivalität kann die Tiefenwahrnehmung des Hologramms stören.

Optimale Entfernung vom Benutzer für die Positionierung von Hologrammen

Optimale Entfernung zum Platzieren von Hologrammen vom Benutzer

Clip planes Für maximalen Komfort empfehlen wir das Abschneiden des Renderabstands von 85 cm mit Ausblendung des Inhalts ab 1 m. In Anwendungen, in denen Hologramme und Benutzer stationär sind, können Hologramme bequem bis zu 50 cm gesehen werden. In diesen Fällen sollten Anwendungen eine Clipebene nicht näher als 30 cm platzieren und mindestens 10 cm von der Clipebene entfernt ausblenden. Wenn Inhalte näher als 85 cm sind, ist es wichtig sicherzustellen, dass Benutzer sich nicht häufig näher oder weiter von Hologrammen bewegen oder dass Hologramme sich nicht häufig näher oder weiter vom Benutzer bewegen, da diese Situationen am ehesten zu Unbehagen durch den Konflikt zwischen Vergence und Entgegenkommen führen. Inhalte sollten so konzipiert sein, dass sie die Notwendigkeit einer Interaktion minimieren, die sich näher als 85 cm vom Benutzer entfernt befindet, aber wenn Inhalte näher als 85 cm gerendert werden müssen, besteht eine gute Faustregel für Entwickler darin, Szenarien zu entwerfen, in denen sich Benutzer und/oder Hologramme nicht mehr als 25 % der Zeit in der Tiefe bewegen.

Bewährte Methoden Wenn Hologramme nicht auf 2 m platziert werden können und Konflikte zwischen Konvergenz und Anpassung nicht vermieden werden können, liegt die optimale Zone für die Hologrammplatzierung zwischen 1,25 m und 5 m. In jedem Fall sollten Designer Inhalte so strukturieren, dass Benutzer dazu ermutigt werden, mehr als 1 m entfernt zu interagieren (z. B. Anpassen der Inhaltsgröße und Standardplatzierungsparameter).

Neuprojektion

HoloLens verfügt über eine anspruchsvolle hardwaregestützte holografische Stabilisierungstechnik, die als Reprojektion bezeichnet wird. Die Neuprojektion berücksichtigt Bewegung und Änderung des Standpunkts (CameraPose), wenn die Szene animiert und der Benutzer seinen Kopf bewegt. Anwendungen müssen bestimmte Maßnahmen ergreifen, um die Neuprojektion optimal zu nutzen.

Es gibt vier Standard Arten der Neuprojektion

  • Tiefenreprojektion: Erzeugt die besten Ergebnisse mit dem geringsten Aufwand der Anwendung. Alle Teile der gerenderten Szene werden unabhängig von ihrem Abstand zum Benutzer stabilisiert. Einige Renderingartefakte sind möglicherweise sichtbar, wenn es starke Änderungen in der Tiefe gibt. Diese Option ist nur für HoloLens 2 und Immersive Headsets verfügbar.
  • Planare Neuprojektion: Ermöglicht der Anwendung eine präzise Kontrolle über die Stabilisierung. Eine Ebene wird von der Anwendung festgelegt, und alles auf dieser Ebene ist der stabilste Teil der Szene. Je weiter ein Hologramm von der Ebene entfernt ist, desto weniger stabil ist es. Diese Option ist auf allen Windows MR-Plattformen verfügbar.
  • Automatische planare Neuprojektion: Das System legt mithilfe von Informationen im Tiefenpuffer eine Stabilisierungsebene fest. Diese Option ist für HoloLens Generation 1 und HoloLens 2 verfügbar.
  • Nichts: Wenn die Anwendung nichts tut, wird Planar Reprojection mit der Stabilisierungsebene verwendet, die auf 2 Metern in Richtung des Kopfblicks des Benutzers festgelegt ist, was in der Regel zu untergeordneten Ergebnissen führt.

Anwendungen müssen bestimmte Aktionen ergreifen, um die verschiedenen Arten der Neuprojektion zu ermöglichen.

  • Tiefenreprojektion: Die Anwendung übermittelt ihren Tiefenpuffer für jeden gerenderten Frame an das System. In Unity erfolgt die Tiefenreprojektion mit der Option Freigegebener Tiefenpuffer im Bereich Windows Mixed Reality Einstellungen unter XR-Plug-In-Verwaltung. DirectX-Apps rufen CommitDirect3D11DepthBuffer auf. Die Anwendung sollte SetFocusPoint nicht aufrufen.
  • Planare Neuprojektion: Auf jedem Frame teilen Anwendungen dem System die Position einer zu stabilisierenden Ebene mit. Unity-Anwendungen rufen SetFocusPointForFrame auf und sollten freigegebener Tiefenpuffer deaktiviert sein. DirectX-Apps rufen SetFocusPoint auf und sollten CommitDirect3D11DepthBuffer nicht aufrufen.
  • Automatische planare Neuprojektion: Um dies zu aktivieren, muss die Anwendung ihren Tiefenpuffer wie für die Tiefenreprojektion an das System übermitteln. Apps, die das Mixed Reality Toolkit (MRTK) verwenden, können den Kameraeinstellungsanbieter für die Verwendung von AutoPlanar Reprojection konfigurieren. Native Apps sollten in DepthReprojectionModeHolographicCameraRenderingParameters auf AutoPlanar jeden Frame festlegen. Für HoloLens Generation 1 sollte die Anwendung SetFocusPoint nicht aufrufen.

Auswählen der Neuprojektionstechnik

Stabilisierungstyp Immersive Headsets HoloLens Generation 1 HoloLens 2
Tiefenreprojektion Empfohlen Empfohlen

Unity-Anwendungen müssen Unity 2018.4.12 und höher, Unity 2019.3 oder höher oder Unity 2020.3 und höher verwenden. Verwenden Sie andernfalls die automatische planare Neuprojektion.
Automatische planare Neuprojektion Empfohlene Standardeinstellung Empfohlen, wenn die Tiefenneuprojektion nicht die besten Ergebnisse liefert

Unity-Anwendungen werden empfohlen, Unity 2018.4.12 und höher, Unity 2019.3 und höher oder Unity 2020.3 und höher zu verwenden. Frühere Unity-Versionen funktionieren mit leicht heruntergestuften Reprojektionsergebnissen.
Planare Neuprojektion Nicht empfohlen Empfohlen, wenn Automatic Planar nicht die besten Ergebnisse liefert Verwenden Sie, wenn keine der Tiefenoptionen die gewünschten Ergebnisse liefert.

Überprüfen, ob die Tiefe richtig festgelegt ist

Wenn eine Neuprojektionsmethode den Tiefenpuffer verwendet, ist es wichtig, zu überprüfen, ob der Inhalt des Tiefenpuffers die gerenderte Szene der Anwendung darstellt. Eine Reihe von Faktoren kann Probleme verursachen. Wenn beispielsweise eine zweite Kamera zum Rendern von Benutzeroberflächenüberlagerungen verwendet wird, werden wahrscheinlich alle Tiefeninformationen aus der tatsächlichen Ansicht überschrieben. Transparente Objekte legen häufig keine Tiefe fest. Bei einigen Textrenderings wird die Tiefe standardmäßig nicht festgelegt. Es gibt sichtbare Störungen im Rendering, wenn die Tiefe nicht mit den gerenderten Hologrammen übereinstimmt.

HoloLens 2 verfügt über eine Schnellansicht, die zeigt, wo die Tiefe festgelegt ist und nicht festgelegt wird, die über das Geräteportal aktiviert werden kann. Aktivieren Sie auf der Registerkarte Stabilität desHologramms> ansichten das Kontrollkästchen Tiefenvisualisierung in Headset anzeigen. Bereiche, für die die Tiefe richtig festgelegt ist, sind blau. Gerenderte Elemente, für die keine Tiefe festgelegt ist, werden rot markiert und müssen korrigiert werden.

Hinweis

Die Visualisierung der Tiefe wird in Mixed Reality Capture nicht angezeigt. Sie ist nur über das Gerät sichtbar.

Einige GPU-Anzeigetools ermöglichen die Visualisierung des Tiefenpuffers. Anwendungsentwickler können diese Tools verwenden, um sicherzustellen, dass die Tiefe ordnungsgemäß festgelegt wird. Lesen Sie die Dokumentation für die Tools der Anwendung.

Verwenden der planaren Neuprojektion

Hinweis

Bei immersiven Desktop-Headsets ist das Festlegen einer Stabilisierungsebene in der Regel kontraproduktiv, da sie weniger visuelle Qualität bietet als die Bereitstellung des Tiefenpuffers Ihrer App für das System, um eine tiefenbasierte Neuprojektion pro Pixel zu ermöglichen. Wenn Sie nicht auf einer HoloLens ausgeführt werden, sollten Sie im Allgemeinen vermeiden, die Stabilisierungsebene festzulegen.

Stabilisierungsebene für 3D-Objekte

Das Gerät versucht automatisch, diese Ebene auszuwählen, aber die Anwendung sollte dabei helfen, indem sie den Fokuspunkt in der Szene auswählt. Unity-Apps, die auf einer HoloLens ausgeführt werden, sollten den besten Fokuspunkt basierend auf Ihrer Szene auswählen und an SetFocusPoint()übergeben. Ein Beispiel für das Festlegen des Fokuspunkts in DirectX ist in der Standardvorlage für drehbaren Würfel enthalten.

Unity übermittelt Ihren Tiefenpuffer an Windows, um die Neuprojektion pro Pixel zu ermöglichen, wenn Sie Ihre App auf einem immersiven Headset ausführen, das mit einem Desktop-PC verbunden ist, was eine noch bessere Bildqualität ohne explizite Arbeit durch die App bietet. Sie sollten nur einen Fokuspunkt angeben, wenn Ihre App auf einer HoloLens ausgeführt wird. Andernfalls wird die Neuprojektion pro Pixel überschrieben.

// SetFocusPoint informs the system about a specific point in your scene to
// prioritize for image stabilization. The focus point is set independently
// for each holographic camera.
// You should set the focus point near the content that the user is looking at.
// In this example, we put the focus point at the center of the sample hologram,
// since that is the only hologram available for the user to focus on.
// You can also set the relative velocity and facing of that content; the sample
// hologram is at a fixed point so we only need to indicate its position.
renderingParameters.SetFocusPoint(
    currentCoordinateSystem,
    spinningCubeRenderer.Position
    );

Die Platzierung des Fokuspunkts hängt weitgehend davon ab, was das Hologramm betrachtet. Die App verfügt über den Blickvektor als Referenz, und der App-Designer weiß, welche Inhalte der Benutzer beobachten soll.

Das wichtigste, was ein Entwickler tun kann, um Hologramme zu stabilisieren, ist das Rendern mit 60 FPS. Wenn Sie unter 60 FPS fallen, wird die Hologrammstabilität erheblich reduziert, unabhängig von der Optimierung der Stabilisierungsebene.

Bewährte Methoden Es gibt keine universelle Möglichkeit, die Stabilisierungsebene einzurichten, und sie ist app-spezifisch. Unsere Standard Empfehlung besteht darin, zu experimentieren und zu sehen, was für Ihr Szenario am besten geeignet ist. Versuchen Sie jedoch, die Stabilisierungsebene so viel Inhalt wie möglich auszurichten, da der gesamte Inhalt auf dieser Ebene perfekt stabilisiert ist.

Beispiel:

  • Wenn Sie nur planare Inhalte (Lese-App, Videowiedergabe-App) haben, richten Sie die Stabilisierungsebene an der Ebene aus, auf der sich Ihre Inhalte befinden.
  • Wenn es drei kleine Kugeln gibt, die weltgesperrt sind, "schneiden" Sie die Stabilisierungsebene durch die Mitte aller Kugeln, die sich derzeit in der Ansicht des Benutzers befinden.
  • Wenn Ihre Szene Inhalte in erheblich unterschiedlichen Tiefen aufweist, sollten Sie weitere Objekte bevorzugen.
  • Stellen Sie sicher, dass Sie den Stabilisierungspunkt in jedem Frame so anpassen, dass er mit dem Hologramm übereinstimmt, das der Benutzer betrachtet.

Zu vermeidende Dinge Die Stabilisierungsebene ist ein großartiges Werkzeug, um stabile Hologramme zu erreichen, aber wenn sie missbraucht wird, kann sie zu einer schweren Bildinstabilität führen.

  • Nicht "feuern und vergessen". Sie können die Stabilisierungsebene hinter dem Benutzer haben oder an ein Objekt angefügt werden, das sich nicht mehr in der Ansicht des Benutzers befindet. Stellen Sie sicher, dass die Stabilisierungsebene normal gegenüber der Kamera nach vorne festgelegt ist (z. B. -camera.forward).
  • Wechseln Sie die Stabilisierungsebene nicht schnell zwischen Extremen hin und her
  • Lassen Sie die Stabilisierungsebene nicht auf einen festen Abstand/eine feste Ausrichtung festgelegt.
  • Lassen Sie nicht zu, dass die Stabilisierungsebene den Benutzer durchschneidet
  • Legen Sie den Fokuspunkt nicht fest, wenn Sie auf einem Desktop-PC und nicht auf einer HoloLens ausgeführt werden, und verwenden Sie stattdessen die tiefenbasierte Neuprojektion pro Pixel.

Farbtrennung

Aufgrund der Art der HoloLens-Displays kann manchmal ein Artefakt namens "Farbtrennung" wahrgenommen werden. Es manifestiert sich als das Bild, das in einzelne Grundfarben unterteilt ist - rot, grün und blau. Das Artefakt kann besonders sichtbar sein, wenn weiße Objekte angezeigt werden, da sie große Mengen an Rot, Grün und Blau aufweisen. Es ist am stärksten ausgeprägt, wenn ein Benutzer ein Hologramm visuell verfolgt, das sich mit hoher Geschwindigkeit über den holografischen Rahmen bewegt. Eine andere Möglichkeit, wie sich das Artefakt manifestieren kann, ist die Verformung/Verformung von Objekten. Wenn ein Objekt einen hohen Kontrast und/oder reine Farben wie Rot, Grün, Blau aufweist, wird die Farbtrennung als Verformung verschiedener Teile des Objekts wahrgenommen.

Beispiel dafür, wie die Farbtrennung eines kopfgesperrten weißen Rundencursors aussehen könnte, wenn ein Benutzer seinen Kopf zur Seite dreht:

Beispiel dafür, wie die Farbtrennung eines kopfgesperrten weißen Rundencursors aussehen könnte, wenn ein Benutzer seinen Kopf zur Seite dreht.

Obwohl es schwierig ist, die Farbtrennung vollständig zu vermeiden, gibt es mehrere Techniken, um sie zu entschärfen.

Farbtrennung ist in folgendem zu sehen:

  • Objekte, die sich schnell bewegen, einschließlich kopfgesperrten Objekten wie dem Cursor.
  • Objekte, die wesentlich weit von der Stabilisierungsebene entfernt sind.

So schwächen Sie die Auswirkungen der Farbtrennung ab:

  • Sorgen Sie dafür, dass das Objekt den Blick des Benutzers verzögert. Es sollte so aussehen, als hätte es etwas Inererträgheit und ist mit dem Blick "auf Federn" verbunden. Dieser Ansatz verlangsamt den Cursor (verringerung der Trennungsentfernung) und versetzt ihn hinter den wahrscheinlichen Blickpunkt des Benutzers. Solange es schnell aufholt, wenn der Benutzer seinen Blick nicht mehr bewegt, fühlt es sich natürlich an.
  • Wenn Sie ein Hologramm bewegen möchten, versuchen Sie, seine Bewegungsgeschwindigkeit unter 5 Grad/Sekunde zu halten, wenn Sie erwarten, dass der Benutzer es mit den Augen verfolgt.
  • Verwenden Sie licht anstelle von geometrie für den Cursor. Eine quelle der virtuellen Beleuchtung, die an den Blick angefügt ist, wird als interaktiver Zeiger wahrgenommen, führt aber nicht zu Farbtrennung.
  • Passen Sie die Stabilisierungsebene an die Hologramme an, die der Benutzer betrachtet.
  • Machen Sie das Objekt rot, grün oder blau.
  • Wechseln Sie zu einer unscharfen Version des Inhalts. Beispielsweise könnte ein runder weißer Cursor in eine leicht verschwommene Linie geändert werden, die in Bewegungsrichtung ausgerichtet ist.

Wie zuvor sind das Rendern mit 60 FPS und das Festlegen der Stabilisierungsebene die wichtigsten Techniken für die Hologrammstabilität. Stellen Sie bei spürbarer Farbtrennung zunächst sicher, dass die Bildfrequenz die Erwartungen erfüllt.

Weitere Informationen