Freigeben über


Entwerfen für Mixed Reality

Entwerfen Sie Ihre App so, dass sie in Mixed Reality gut aussieht, und nutzen Sie neue Eingabemethoden.

Überblick

Mixed Reality ist das Ergebnis der Vermischung der physischen Welt mit der digitalen Welt. Das Spektrum der Mixed-Reality-Erfahrungen umfasst auf dem einen Extrem Geräte wie die HoloLens (ein Gerät, das computergenerierte Inhalte mit der realen Welt kombiniert), während am anderen Extrem eine vollständig immersive Virtual-Reality-Ansicht steht (wie sie mit einem Windows Mixed Reality-Headset erlebt wird). Sehen Sie sich die Typen von Mixed Reality-Apps an, um Beispiele dafür zu erhalten, wie die Erfahrungen variieren.

Fast alle vorhandenen UWP-Apps werden in der Mixed Reality-Umgebung als 2D-Apps ohne Änderungen ausgeführt, obwohl das Erlebnis für den Benutzer verbessert werden kann, indem einige der Richtlinien in diesem Thema befolgt werden.

Mixed Reality-Ansicht

Sowohl die HoloLens- als auch die Windows Mixed Reality-Headsets unterstützen Anwendungen, die auf der UWP-Plattform ausgeführt werden, und beide unterstützen zwei verschiedene Arten von Erfahrungen.

2D im Vergleich zum immersiven Erlebnis

Eine immersive App übernimmt die gesamte Anzeige, die für den Benutzer sichtbar ist, und platziert sie in der Mitte einer ansicht, die von der App erstellt wurde. Beispielsweise kann ein immersives Spiel den Benutzer auf der Oberfläche eines fremden Planeten platzieren, oder eine Tourguide-App kann den Benutzer in einem südamerikanischen Dorf platzieren. Zum Erstellen einer immersiven App sind 3D-Grafiken oder aufgenommene Stereografikvideos erforderlich. Immersive Apps werden häufig mit einer Drittanbieter-Spielengine wie Unity oder mit DirectX entwickelt.

Wenn Sie immersive Apps erstellen, sollten Sie das Windows Mixed Reality Dev Center besuchen, um weitere Informationen zu erhalten.

Eine 2D-App wird als herkömmliches flaches Fenster in der Ansicht des Benutzers ausgeführt. Auf der HoloLens bedeutet dies eine Ansicht, die an der Wand oder an einem Punkt im Raum im tatsächlichen Wohnzimmer oder Büro des Benutzers fixiert ist. In einem Windows Mixed Reality-Headset wird die App an eine Wand im Mixed Reality Home angeheftet (manchmal auch als Cliff Housebezeichnet).

Mehrere Apps, die in Mixed Reality ausgeführt werden

Diese 2D-Apps übernehmen nicht die gesamte Ansicht: Sie werden darin platziert. Mehrere 2D-Apps können in der Umgebung gleichzeitig vorhanden sein.

Im restlichen Teil dieses Themas werden Designüberlegungen für die 2D-Erfahrung erläutert.

Starten von 2D-Apps

Mixed Reality-Startmenü

Alle Apps werden über das Startmenü gestartet, aber es ist auch möglich, ein 3D-Objekt zu erstellen, das als App-Startfeld fungiert. Weitere Informationen finden Sie im Erstellen von 3D-App-Startprogrammen für Windows Mixed Reality Video.

Übersicht über die 2D-App-Eingabe

Tastaturen und Mäuse werden sowohl auf HoloLens- als auch auf Mixed Reality-Plattformen unterstützt. Sie können eine Tastatur und Maus direkt mit der HoloLens über Bluetooth koppeln. Mixed Reality-Apps unterstützen die Maus und Tastatur, die mit dem Hostcomputer verbunden ist. Beides kann in Situationen nützlich sein, in dem ein feiner Kontrollgrad erforderlich ist.

Andere, natürlichere Eingabemethoden werden ebenfalls unterstützt, und dies kann besonders nützlich sein, wenn der Benutzer nicht an einem Schreibtisch mit einer echten Tastatur vor ihnen sitzt oder wenn eine feine Steuerung erforderlich ist.

Ohne zusätzliche Hardware oder Programmierung verwenden Apps die Blickrichtung – den Vektor, dem der Benutzer folgt – als Mauszeiger beim Arbeiten mit 2D-Apps. Es wird implementiert, als ob ein Mauszeiger über etwas in der virtuellen Szene schweben würde.

In einer typischen Interaktion betrachtet der Benutzer ein Steuerelement in Ihrer App, wodurch es hervorgehoben wird. Der Benutzer löst eine Aktion entweder mit einer Geste (auf der HoloLens) oder einem Controller oder durch Senden eines Sprachbefehls aus. Wenn der Benutzer ein Texteingabefeld auswählt, wird die Softwaretastatur angezeigt.

Die Popuptastatur in Mixed Reality

Es ist wichtig zu beachten, dass alle diese Interaktionen automatisch ohne zusätzliche Codierung auf Ihrem Teil erfolgen, da sie auf der UWP-Plattform ausgeführt werden. Eingaben vom HoloLens- und Mixed Reality-Headset werden als Toucheingabe für die 2D-App angezeigt. Dies bedeutet, dass viele UWP-Apps standardmäßig in Mixed Reality ausgeführt und verwendet werden können.

Das heißt, mit einigen zusätzlichen Arbeiten kann die Erfahrung erheblich verbessert werden. Beispielsweise kann Sprachsteuerung besonders effektiv sein. Sowohl HoloLens- als auch Mixed Reality-Umgebungen unterstützen Sprachbefehle zum Starten und Interagieren mit Apps, und die Sprachunterstützung erscheint als natürliche Erweiterung dieses Ansatzes. Weitere Informationen dazu, wie Sie Sprachunterstützung zu Ihrer UWP-App hinzufügen, finden Sie unter Sprachinteraktionen.

Auswählen des richtigen Controllers

Mixed Reality Motion Controller

Verschiedene neuartige Eingabemethoden wurden speziell für die Verwendung mit Mixed Reality entwickelt, insbesondere:

Diese Controller lassen die Interaktion mit virtuellen Objekten wie eine natürliche und präzise Erfahrung erscheinen. Einige der Interaktionen, die Sie kostenlos erhalten. Beispielsweise generiert die HoloLens-Auswahlgeste oder das Klicken auf die Windows-Taste oder den Trigger des Motion Controllers die Eingabeantwort, die Sie erwarten würden, erneut ohne Codierung.

Zu anderen Zeiten möchten Sie Code hinzufügen, um die zusätzlichen Informationen und Eingaben zu nutzen, die verfügbar gemacht werden. Beispielsweise können die Motion Controller verwendet werden, um Objekte mit einer feinen Steuerungsebene zu bearbeiten, wenn Sie Code schreiben, der ihre Position und Tastendrücke berücksichtigt.

Hinweis

Zusammenfassend: Das Leitprinzip sollte es dem Benutzer stets ermöglichen, eine möglichst natürliche und reibungslose Eingabemethode zu verwenden.

Überlegungen zum 2D-App-Design: Funktionalität

Beim Erstellen einer UWP-App, die möglicherweise auf einer Mixed Reality-Plattform verwendet wird, gibt es mehrere Punkte, die Sie berücksichtigen sollten.

  • Drag & Drop funktionieren möglicherweise nicht optimal, wenn sie mit Motion Controllern, Gamepads oder Gesten verwendet werden. Wenn Ihre Anwendung stark vom Ziehen und Ablegen abhängt, müssen Sie eine alternative Methode zur Unterstützung dieser Aktion bereitstellen, z. B. das Darstellen eines Dialogfelds, das bestätigt, ob Objekte an eine neue Position verschoben werden sollen.

  • Beachten Sie, wie sich der Klang verändert. Wenn Ihre App Soundeffekte generiert, scheint die Quelle des Sounds die angeheftete Position Ihrer App in der virtuellen Welt zu sein. Wenn sich der Benutzer von der App entfernt, verringert sich der Sound. Weitere Informationen finden Sie unter Raumklang.

  • Berücksichtigen Sie das Sichtfeld und gewährleisten Sie die Möglichkeiten. Nicht jedes Gerät stellt ein so großes Sichtfeld als Computermonitor bereit. Ausführliche Informationen finden Sie unter holographic frame. Darüber hinaus kann der Benutzer sich in einer gewissen Entfernung von einer laufenden App befinden. Das heißt, die App kann an einer anderen Stelle in der Welt (real oder virtuell) an der Wand angeheftet angezeigt werden. Ihre App muss möglicherweise die Aufmerksamkeit der Benutzer auf sich ziehen oder berücksichtigen, dass die gesamte Ansicht nicht immer sichtbar ist. Toast-Benachrichtigungen sind verfügbar, aber eine andere Möglichkeit, um die Aufmerksamkeit des Benutzers zu erregen, kann sein, einen Sound oder eine Sprachwarnung zu generieren.

  • Eine 2D-App erhält automatisch eine App-Leiste, damit der Benutzer sie in der virtuellen Umgebung verschieben und skalieren kann. Die Ansichten können vertikal skaliert oder in der Größe verändert werden, wobei das gleiche Seitenverhältnis beibehalten wird.

Überlegungen zum 2D-App-Design: UI/UX

  • XAML-Steuerelemente, die das Fluent Design System implementieren, z. B. die Navigationsansicht, und Effekte wie Acryl funktionieren in 2D Mixed Reality-Apps besonders gut.

  • Testen Sie den Text und die Fenstergröße Ihrer App auf einem Mixed Reality-Gerät oder zumindest im Mixed Reality Simulator. Ihre App verfügt über eine Standardfenstergröße von 853 x 480 effektiven Pixeln. Verwenden Sie größere Schriftgrößen (eine Punktgröße von etwa 32 wird empfohlen), und lesen Sie Aktualisieren von 2D-UWP-Apps für Windows Mixed Reality. Der Artikel Typografie behandelt dieses Thema ausführlich. Bei der Arbeit in Visual Studio gibt es eine XAML-Entwurfseditor-Einstellung für eine 57-Zoll-HoloLens-2D-App, die eine Ansicht mit korrekter Skalierung und den richtigen Abmessungen bereitstellt.

Text, der in Mixed Reality-Apps angezeigt wird, sollte groß sein.

  • Ihr Blick ist Ihre Maus. Wenn der Benutzer etwas ansieht, fungiert dies als ein Touch-Hover Ereignis, sodass allein das Betrachten eines Objekts ein versehentliches Pop-up oder eine andere unerwünschte Interaktion auslösen kann. Möglicherweise müssen Sie erkennen, ob die App derzeit in Mixed Reality ausgeführt wird, und dieses Verhalten ändern. Siehe unten Laufzeitunterstützung.

  • Wenn ein Benutzer auf etwas blickt oder mit einem Bewegungscontroller darauf zeigt, tritt ein Touch-Hover--Ereignis auf. Dies beinhaltet ein PointerPoint-, wo PointerType-Touch-ist, aber IsInContact-falseist. Wenn eine Form des Commits auftritt (z. B. A-Taste am Gamepad wird gedrückt, ein Clicker-Gerät wird betätigt, ein Bewegungscontroller ausgelöst oder durch Spracherkennung "Auswählen"), wird ein Touch-Druck ausgelöst, wobei der PointerPointIsInContactwahrwird. Weitere Informationen zu diesen Eingabeereignissen finden Sie unter Touchinteraktionen.

  • Vergessen Sie nicht, dass das Blicken nicht so genau ist wie das Zeigen mit der Maus. Kleinere Mausziele oder Schaltflächen können für Ihre Benutzer frustrierend sein, sodass die Größe der Steuerelemente entsprechend angepasst wird. Wenn sie für die Toucheingabe konzipiert sind, funktionieren sie in Mixed Reality, aber Sie können zur Laufzeit einige Buttons vergrößern. Siehe Aktualisieren von 2D-UWP-Apps für Windows Mixed Reality.

  • Ihre Anwendung sollte nicht schwarz verwenden, da dies zu Verwirrung führen kann. Die HoloLens definiert die Farbe Schwarz als Das Fehlen von Licht und wird einfach nicht gerendert, sodass die "reale Welt" durchscheinen kann. In einem Mixed Reality-Headset wird Schwarz als Schwarz dargestellt.

  • Die HoloLens unterstützt nicht Farbdesigns in Apps und wechselt standardmäßig auf Blau, um die optimale Benutzererfahrung sicherzustellen. Um mehr Ratschläge zur Auswahl von Farben zu erhalten, sollten Sie in diesem Thema nachschlagen, das den Einsatz von Farbe und Material in Mixed Reality-Designs behandelt.

Weitere zu berücksichtigende Punkte

  • Obwohl die Desktop-Brücke dabei helfen kann, vorhandene (Win32)-Desktop-Apps in Windows und den Microsoft Store zu bringen, können sie derzeit keine Apps erstellen, die auf HoloLens ausgeführt werden. Ab Windows 10, Version 1903, können Win32-Desktop-Apps auf Mixed Reality-Headsets ausgeführt werden.

Laufzeitunterstützung

Es ist möglich, dass Ihre App ermitteln kann, ob sie zur Laufzeit auf einem Mixed Reality-Gerät ausgeführt wird, und dies als Möglichkeit verwenden, die Größe von Steuerelementen zu ändern oder auf andere Weise die App für die Verwendung auf einem Headset zu optimieren.

Hier ist ein kurzer Codeabschnitt, der die Größe des Texts innerhalb eines XAML-TextBlock-Steuerelements nur ändert, wenn die App auf einem Mixed Reality-Gerät verwendet wird.


bool isViewingInMR = Windows.ApplicationModel.Preview.Holographic.HolographicApplicationPreview.IsCurrentViewPresentedOnHolographicDisplay();

            if (isViewingInMR)
            {
                // Running on headset, resize the XAML text
                textBlock.Text = "I'm running in Mixed Reality!";
                textBlock.FontSize = 32;
            }
            else
            {
                // Running on desktop
                textBlock.Text = "I'm running on the desktop.";
                textBlock.FontSize = 14;
            }