Lunar-Modul

Mondlandefährmodul

Hinweis

In diesem Artikel wird ein exploratives Beispiel erläutert, das wir im Mixed Reality Design Labs erstellt haben, einem Ort, an dem wir unsere Erkenntnisse über und Vorschläge für die Entwicklung von Mixed Reality-Apps teilen. Unsere designbezogenen Artikel und unseren Code werden sich weiterentwickeln, während wir neue Entdeckungen machen.

Hinweis

Diese Beispiel-App wurde für HoloLens der 1. Generation entwickelt.

Lunar Module ist eine Open-Source-Beispiel-App aus den Mixed Reality Design Labs von Microsoft. Erfahren Sie, wie Sie die Basisgesten von HoloLens mit zweihändiger Nachverfolgung und Xbox-Controller-Eingabe erweitern, Objekte erstellen, die für Oberflächenzuordnung und Ebenensuche reaktiv sind, und einfache Menüsysteme implementieren. Alle Komponenten des Projekts stehen für die Verwendung in Ihren eigenen Mixed Reality-App-Umgebungen zur Verfügung.

Demovideo

Aufgezeichnet mit HoloLens 2 mithilfe von Mixed Reality Capture

Überdenken klassischer Erfahrungen für Windows Mixed Reality

Hoch oben in der Atmosphäre, ein kleines Schiff, das an das Apollo-Modul erinnert, untersucht methodisch zerklüftetes Gelände darunter. Unser furchtloser Pilot entdeckt einen geeigneten Landeplatz. Der Abstieg ist mühsam, aber zum Glück hat diese Reise schon viele Male gemacht...

Originalschnittstelle von Ataris Mondlander aus dem Jahr 1979
Originalschnittstelle von Ataris Mondlander aus dem Jahr 1979

Lunar Lander ist ein Arcade-Klassiker, bei dem Spieler versuchen, einen Mondlander auf einen flachen Punkt des Mondgeländes zu pilotieren. Wer in den 1970er Jahren geboren wurde, hat höchstwahrscheinlich Stunden in einer Arkade verbracht, mit den Augen, die an dieses Vektorschiff geklebt sind, das vom Himmel stürzt. Wenn ein Spieler sein Schiff zu einem Landeplatz navigiert, wird das Gelände skaliert, um immer mehr Details zu offenbaren. Erfolg bedeutet, innerhalb der sicheren Schwelle der horizontalen und vertikalen Geschwindigkeit zu landen. Punkte werden für die zeitaufwendete Landung und den verbleibenden Treibstoff vergeben, wobei ein Multiplikator basierend auf der Größe des Landebereichs erfolgt.

Abgesehen vom Gameplay brachte die Arcade-Ära der Spiele ständige Innovationen von Steuerungsschemas. Von den einfachsten Vier-Wege-Joystick- und Tastenkonfigurationen (im ikonischen Pac-Man zu sehen) bis hin zu den hochspezifischen und komplizierten Schemas, die in den späten 90er und 00er Jahren zu sehen waren (wie in Golfsimulatoren und Schienenschützen). Das Eingabeschema, das in der Mondlandemaschine verwendet wird, ist aus zwei Gründen faszinierend: Anziehungskraft und Immersion.

Arkadenkonsole des Atari-Mondlanders
Ataris Lunar Lander Arcade-Konsole

Warum haben Atari und so viele andere Spieleunternehmen entschieden, den Input zu überdenken?

Ein Kind, das durch eine Arkade geht, wird natürlich von der neuesten, auffälligsten Maschine fasziniert sein. Aber Lunar Lander verfügt über einen neuartigen Eingabemechaniker, der sich aus der Menge hervorhebt.

Mondlander verwendet zwei Knöpfe zum Drehen des Schiffes nach links und rechts und einen Schubhebel , um den Schub zu steuern, den das Schiff erzeugt. Dieser Hebel gibt Benutzern eine gewisse Finesse, die ein normaler Joystick nicht bieten kann. Es ist auch eine Komponente, die modernen Flugzeugcockpits gemeinsam ist. Atari wollte, dass der Mondlander den Benutzer in das Gefühl eintauchen sollte, dass er tatsächlich ein Mondmodul pilotiert. Dieses Konzept wird als taktiles Eintauchen bezeichnet.

Taktiles Eintauchen ist die Erfahrung von sensoriktischem Feedback bei sich wiederholenden Aktionen. In diesem Fall hilft die sich wiederholende Aktion der Einstellung des Gashebels und der Drehung, die unsere Augen sehen und unsere Ohren hören, den Spieler mit dem Akt der Landung eines Schiffes auf der Mondoberfläche zu verbinden. Dieses Konzept kann mit dem psychologischen Konzept des "Flow" verknüpft werden. Wenn ein Benutzer vollständig in eine Aufgabe aufgenommen wird, die die richtige Mischung aus Herausforderung und Belohnung hat, oder einfacher ausgedrückt, befindet er sich "in der Zone".

Die wohl prominenteste Art des Eintauchens in Mixed Reality ist räumliches Eintauchen. Der ganze Sinn der Mixed Reality besteht darin, uns zu täuschen, zu glauben, dass diese digitalen Objekte in der realen Welt existieren. Wir synthetisieren Hologramme in unserer Umgebung, räumlich eingebettet in ganze Umgebungen und Erfahrungen. Dies bedeutet nicht, dass wir nicht noch andere Arten des Eintauchens in unsere Erfahrungen anwenden können, so wie Es Atari beim taktilen Eintauchen in Mondlander getan hat.

Entwerfen mit Immersion

Wie können wir eine taktile Immersion auf eine aktualisierte, volumetrische Fortsetzung des Atari-Klassikers anwenden? Bevor sie das Eingabeschema angehen, muss das Spielkonstrukt für den dreidimensionalen Raum behandelt werden.

Visualisieren der Oberflächenzuordnung in HoloLens
Visualisieren der räumlichen Zuordnung in HoloLens

Durch die Nutzung der Umgebung eines Benutzers verfügen wir effektiv über unendliche Geländeoptionen für die Landung unseres Mondmoduls. Um das Spiel dem ursprünglichen Titel am ähnlichsten zu machen, könnte ein Benutzer möglicherweise Landepads mit unterschiedlichen Schwierigkeiten in seiner Umgebung manipulieren und platzieren.

Der Benutzer muss das Eingabeschema erlernen, das Schiff steuern und ein kleines Ziel zum Landen haben, ist eine Menge zu fragen. Ein erfolgreiches Spielerlebnis bietet die richtige Mischung aus Herausforderung und Belohnung. Der Benutzer kann einen Schwierigkeitsgrad auswählen, wobei der einfachste Modus einfach erfordert, dass der Benutzer erfolgreich in einem benutzerdefinierten Bereich auf einer von holoLens gescannten Oberfläche landet. Sobald ein Benutzer den Dreh des Spiels bekommt, kann er die Schwierigkeit nach Bedarf ankurbeln.

Hinzufügen von Eingaben für Handgesten

Die HoloLens-Basiseingabe verfügt nur über zwei Gesten: Air Tap und Bloom. Benutzer müssen sich keine kontextuellen Nuancen oder eine Wäscheliste mit bestimmten Gesten merken, die die Benutzeroberfläche der Plattform sowohl vielseitig als auch leicht zu erlernen macht. Während das System möglicherweise nur diese beiden Gesten verfügbar macht, kann HoloLens als Gerät zwei Hände gleichzeitig nachverfolgen. Unsere Ode an Den Mondlander ist eine [immersive App, was bedeutet, dass wir den Basissatz von Gesten erweitern können, um zwei Hände zu nutzen und unsere eigenen entzückenden taktilen Mittel für die Navigation des Mondmoduls hinzuzufügen.

Wenn wir auf das ursprüngliche Steuerungsschema zurückblicken, mussten wir für Schub und Drehung lösen. Der Vorbehalt ist die Drehung im neuen Kontext fügt eine zusätzliche Achse hinzu (technisch gesehen zwei, aber die Y-Achse ist für die Landung weniger wichtig). Die beiden unterschiedlichen Schiffsbewegungen eignen sich natürlich für jede Hand:

Tippen und Ziehen der Geste zum Drehen des Landers auf allen drei Achsen
Tippen und Ziehen der Geste zum Drehen des Landers auf allen drei Achsen

Schub

Der Hebel an der ursprünglichen Arkadenmaschine war einer Werteskala zugeordnet, je höher der Hebel bewegt wurde, desto mehr Schub wurde auf das Schiff angewendet. Eine wichtige Nuance, die hier hervorgehoben werden sollte, ist, wie der Benutzer seine Hand vom Steuerelement nehmen und einen gewünschten Wert beibehalten kann. Wir können effektiv das Tippen und Ziehen-Verhalten verwenden, um das gleiche Ergebnis zu erzielen. Der Schubwert beginnt bei 0. Der Benutzer tippt und zieht, um den Wert zu erhöhen. An diesem Punkt könnten sie loslassen, um es zu verwalten. Jede Änderung der Tippen-und-Ziehen-Gesten wäre das Delta vom ursprünglichen Wert.

Drehung

Das ist etwas schwieriger. Holografische "Rotieren"-Schaltflächen zum Tippen machen eine schreckliche Erfahrung. Es gibt kein physisches Steuerelement, das genutzt werden kann, daher muss das Verhalten von der Manipulation eines Objekts stammen, das den Lander darstellt, oder mit dem Lander selbst. Wir haben eine Methode mit Tap-and-Drag erstellt, die es einem Benutzer ermöglicht, sie effektiv in die Gewünschte Richtung zu "pushen und zu ziehen". Wenn ein Benutzer tippt und hält, wird der Punkt im Raum, an dem die Geste initiiert wurde, zum Ursprung für die Drehung. Das Ziehen vom Ursprung konvertiert das Delta der Handübersetzung (X,Y,Z) und wendet es auf das Delta der Drehungswerte des Landers an. Oder einfacher: Das Ziehen nach links <-> rechts, oben <-> nach unten, nach vorne <-> zurück in Leerzeichen rotiert das Schiff entsprechend.

Da die HoloLens zwei Hände nachverfolgen kann, kann die Drehung der rechten Hand zugewiesen werden, während der Schub von der linken hand gesteuert wird. Finesse ist der treibende Faktor für den Erfolg in diesem Spiel. Das Gefühl dieser Interaktionen hat die absolute höchste Priorität. Vor allem im Kontext des taktilen Eintauchens. Ein Schiff, das zu schnell reagiert, wäre schwer zu steuern, während ein zu langsames Schiff für eine unbeholfen lange Zeit auf dem Schiff "push and pull" erfordern würde.

Hinzufügen von Eingaben für Gamecontroller

Während Handgesten auf der HoloLens eine neuartige Methode der feinkörnigen Steuerung bieten, gibt es immer noch einen gewissen Mangel an "echtem" taktilem Feedback, das Sie von analogen Steuerelementen erhalten. Durch das Verbinden eines Xbox-Gamecontrollers können wir dieses Gefühl der Körperlichkeit zurückbringen, während wir die Steuerknüppel nutzen, um eine präzise Kontrolle zu behalten.

Es gibt mehrere Möglichkeiten, das relativ geradlinige Steuerungsschema auf den Xbox-Controller anzuwenden. Da wir versuchen, so nah wie möglich an der ursprünglichen Arcade-Einrichtung zu bleiben, ist Thrust der Triggerschaltfläche am besten zugeordnet. Diese Tasten sind analoge Steuerelemente, was bedeutet, dass sie mehr als einfache Ein- und Aus-Zustände haben, sie reagieren tatsächlich auf den Grad des Drucks, der auf sie ausgeübt wird. Dies gibt uns ein ähnliches Konstrukt wie der Schubhebel. Im Gegensatz zum ursprünglichen Spiel und der Handbewegung verringert diese Steuerung den Schub des Schiffes, sobald ein Benutzer aufhört, Druck auf den Auslöser auszuüben. Es gibt dem Benutzer immer noch das gleiche Maß an Finesse wie das ursprüngliche Arcade-Spiel.

Linker Thumbstick ist Yaw und Roll zugeordnet, rechter Fingerabdruck ist Pitch und Roll zugeordnet.
Der linke Daumenstick ist dem Gieren und Rollen zugeordnet; Der rechte Thumbstick ist pitch and roll zugeordnet

Die dualen Daumensticks eignen sich natürlich zur Steuerung der Schiffsrotation. Leider gibt es drei Achsen, auf denen sich das Schiff drehen kann, und zwei Ziehstangen, die beide zwei Achsen unterstützen. Dieser Konflikt bedeutet, dass entweder ein Fingerabdruckstick eine Achse steuert; oder es gibt eine Überlappung der Achsen für die Fingersticks. Die frühere Lösung fühlte sich "zerbrochen" an, da Fingersticks ihre lokalen X- und Y-Werte von Natur aus miteinander verbinden. Die letztere Lösung erforderte einige Tests, um zu ermitteln, welche redundanten Achsen sich am natürlichsten anfühlen. Im letzten Beispiel werden Gähnen und Rollen (Y- und X-Achsen) für den linken Daumenstick und Für den rechten Fingerabdruck die Achse "Tonhöhe und Rolle " (Z- und X-Achse) verwendet. Dies fühlte sich am natürlichsten an, da Rolle scheint sich unabhängig gut mit Gähn und Tonhöhe zu kombinieren. Nebenbemerkung: Die Verwendung beider Fingersticks für die Rolle geschieht auch, um den Drehungswert zu verdoppeln; es macht ziemlich Spaß, den Lander schleifen zu lassen.

Diese Beispiel-App zeigt, wie räumliche Erkennung und taktiles Eintauchen eine Erfahrung dank der erweiterbaren Eingabemodalitäten von Windows Mixed Reality erheblich verändern können. Während Mondlander vielleicht 40 Jahre alt wird, werden die Konzepte, die mit diesem kleinen Achteck mit Beinen ausgesetzt sind, für immer weiterleben. Wenn Sie sich die Zukunft vorzustellen, warum nicht auf die Vergangenheit schauen?

Technische Details

Skripts und Prefabs für die Beispiel-App "Mondmodul" finden Sie auf dem GitHub Mixed Reality Design Labs.

Informationen zum Autor

Bild von Addison Linville Addison Linville
UX-Designer @Microsoft

Weitere Informationen