Share via


Die Herstellung von Galaxy Explorer für HoloLens 2

Neues Galaxy Explorer-Logo

Willkommen beim aktualisierten Galaxy Explorer für HoloLens 2 Anwendung! Galaxy Explorer wurde ursprünglich als Open-Source-Anwendung für HoloLens (first gen) über das Share Your Idea-Programm entwickelt und ist eine der ersten Mixed Reality-Erfahrungen, die viele Menschen hatten. Jetzt aktualisieren wir es für die neuen und aufregenden Funktionen von HoloLens 2.

Als eines der Microsoft Mixed Reality Studios entwickeln wir in der Regel kommerzielle Lösungen und entwickeln & Tests auf Zielplattformen während des gesamten Kreativen- und Entwicklungsprozesses. Wir beginnen mit diesem Projekt, indem wir die Frameworks und Tools (z . B. MRTK) verwenden, wenn sie uns und der Community zur Verfügung stehen – und wir möchten Sie für die Fahrt mitbringen.

Genau wie beim ursprünglichen Galaxy Explorer wird unser Teamdas Projekt auf GitHub öffnen, um sicherzustellen, dass die Community vollzugriff hat. Wir werden auch unsere Reise hier in vollständiger Transparenz darüber dokumentieren, wie wir von MRTK v1 zu MRTK v2 portiert haben, die Erfahrung mit neuen Features in HoloLens 2 verbessert und sichergestellt haben, dass Galaxy Explorer eine Multi-Plattform-Erfahrung bleibt. Egal, ob Sie Galaxy Explorer auf HoloLens (erste Generation), HoloLens 2, einem Windows Mixed Reality-Headset oder auf Ihrem Windows 10 Desktop sehen, wir möchten sicherstellen, dass Sie die Reise genauso genießen wie wir!

Diese Seite wird erweitert, während wir das Projekt durchlaufen, mit Links zu ausführlicheren Artikeln, Code, Entwurfsartefakten und zusätzlicher MRTK-Dokumentation, um Ihnen einen Insider-Blick auf das Projekt zu bieten.

Herunterladen der App aus dem Microsoft Store in HoloLens 2

Wenn Sie über HoloLens 2 Gerät verfügen, können Sie die App direkt herunterladen und auf Ihrem Gerät installieren.

Englischer Badge

Überlegungen zu Interaktionen

Als kreatives Studio waren wir begeistert über das Privileg, Galaxy Explorer zu HoloLens 2 zu portieren. Wir wussten von Anfang an, dass die Erfahrung eine Feier des neuen Geräts sein und zeigen soll, dass Mixed Reality Ermächtigung nur durch die Vorstellungskraft begrenzt ist.

HoloLens 2 ermöglicht es Benutzern, Hologramme so zu berühren, zu greifen und zu bewegen, dass sie sich natürlich anfühlen – sie reagieren sehr wie echte Objekte. Vollständig artikulierte Handmodelle sind erstaunlich, da sie es Benutzern ermöglichen, das zu tun, was sich natürlich anfühlt. Zum Beispiel nimmt jeder eine Tasse etwas anders – und anstatt eine bestimmte Art zu erzwingen, dies zu tun, können Sie HoloLens 2 es auf Ihre Weise tun.

Dies ist eine bedeutende Änderung gegenüber den Air Tap-basierten Schnittstellen auf HoloLens-Geräten der ersten Generation. Anstatt mit Hologrammen aus der Ferne zu interagieren, können Die Benutzer jetzt "hautnah und persönlich" werden. Wenn Sie vorhandene Erfahrungen auf HoloLens 2 portieren oder neue planen, ist es wichtig, sich mit der direkten Manipulation von Hologrammen vertraut zu machen.

Direkte Manipulation im Vergleich zu den großen Entfernungen im Raum

Es ist eine magische Erfahrung, einen Planeten zu erreichen, zu greifen und ihn in der Hand zu halten. Die Herausforderung bei diesem Ansatz ist die Größe des Sonnensystems – es ist enorm! Der Benutzer müsste durch sein Zimmer gehen, um jedem Planeten nahe zu kommen, um mit diesem zu interagieren.

Um Benutzern die Interaktion mit Objekten zu ermöglichen, die weiter entfernt sind, bietet MRTK Handstrahlen, die aus der Mitte der Handfläche des Benutzers schießen und als Erweiterung der Hand fungieren. Ein Ringcursor wird am Ende des Strahls angebracht, um anzugeben, wo sich der Strahl mit einem Zielobjekt überschneidet. Das Objekt, auf dem der Cursor landet, kann dann gestische Befehle von der Hand empfangen.

In der ursprünglichen Version von Galaxy Explorer hat der Benutzer einen Planeten mit dem Cursor anvisieren und dann in der Luft tippen, um ihn näher zu nennen. Die einfachste Möglichkeit, die Erfahrung auf HoloLens 2 zu portieren, besteht darin, dieses Verhalten zu übernehmen und Handstrahlen zu verwenden, um Planeten auszuwählen. Dies war zwar funktionsfähig, aber wir wollten mehr.

Sich etwas Neues einfallen lassen müssen

Wir sind zusammengekommen, um zu ermitteln, was auf den vorhandenen Interaktionen aufbauen könnte. Der Gedanke lautete: Obwohl HoloLens 2 es Benutzern ermöglicht, auf natürliche, realistische Weise mit Hologrammen zu interagieren, sind Hologramme per Definition nicht real. Solange also eine Interaktion für den Benutzer plausibel ist, spielt es keine Rolle, ob diese Interaktion mit einem echten Objekt möglich wäre oder nicht – wir können es möglich machen.

Ein Konzept, das wir untersucht haben, basierte auf Telekinese – der Macht, Objekte mit dem Verstand zu manipulieren. Oft gesehen in Superheldenfilmen, würde eine Person mit ihrem Verstand zu erreichen und ein Objekt in ihre offene Hand rufen. Wir haben mit der Idee etwas mehr herumgespielt und eine kurze Skizze dazu, wie das Konzept funktionieren könnte.

Konzept für die Force Grab-Interaktion

Der Benutzer würde den Handstrahl auf einen Planeten zeigen, der Zielfeedback liefern würde. Wenn der Benutzer dann seine offene Hand ausdrückt, wird der Planet von einer magischen Kraft auf den Benutzer zu gezogen, bis er nah genug ist, um ihn zu greifen. Daher unser Name für die Interaktion: Force Grab. Wenn der Benutzer den Planeten mit seiner offenen Hand wegschieben würde, würde er wieder zu seiner Umlaufbahn zurückkehren.

Erzwingen von Prototypen

Anschließend haben wir mehrere Prototypen erstellt, um das Konzept zu testen: Wie fühlt sich die Interaktion insgesamt an? Soll das aufgerufene Objekt vor dem Benutzer stehen bleiben oder an den Händen bleiben, bis er platziert wird? Sollte das aufgerufene Objekt während des Aufrufs Größe oder Skalierung ändern?

Implementieren des Erzwungenen Greifens in die Anwendung

Als wir versuchten, planetenseitig gewaltig zu greifen, wurde uns klar, dass wir das Ausmaß des Sonnensystems ändern mussten. Es stellte sich heraus, dass eine genaue, mittelgroße Darstellung des Sonnensystems für Benutzer schwer zu verstehen und zu navigieren ist - sie wussten nicht, wo sie suchen sollten. Eine kleinformatige Darstellung machte jedoch einige Planeten zu klein, um leicht auszuwählen. Daher wurde die Größe der Planeten und der Abstand zwischen Solarobjekten so konzipiert, dass sie sich in einem mittelgroßen Raum wohl fühlen und gleichzeitig relative Genauigkeit beibehalten.

In den späteren Phasen unseres Entwicklungssprints hatten wir das Glück, kollegen MSFT-Mixed Reality Experten im Haus zu haben, sodass wir daran arbeiteten, ihre Eingaben als Expertentester zu erhalten und schnelle Iterationen für die Interaktion mit dem Force Grab durchzuführen.

Jenny Kam testet einen Vorschaubuild von Galaxy Explorer

Im Bild: Jenny Kam, Senior Design Lead, testet eine Arbeit von Galaxy Explorer.

Hinzufügen von Angeboten für die Zielgruppenadressierung

Während wir mit HoloLens 2 experimentiert haben, haben wir festgestellt, dass hologramme, obwohl die neuen Interaktionen natürlich und intuitiv sind, unverändert bleiben: ohne Gewicht oder taktile Empfindungen. Da Hologramme kein natürliches Feedback liefern, an das Menschen gewöhnt sind, wenn sie mit Objekten interagieren, mussten wir sie erstellen.

Wir haben über das visuelle und audio-Feedback nachgedacht, das Den Benutzern für die verschiedenen Phasen ihrer Interaktionen zur Verfügung gestellt wird, und da der Force-Grab-Mechanismus für die Interaktion mit Galaxy Explorer von zentraler Bedeutung ist, haben wir viele Iterationen durchgeführt. Ziel war es, für jede Phase der Interaktion die richtige Balance zwischen audio- und visuellem Feedback zu finden: Sich auf das beabsichtigte Objekt zu konzentrieren, es an den Benutzer zu rufen und es dann freizugeben. Wir haben gelernt, dass mehr audio- und visuelles Feedback erforderlich war, um die Interaktion zu verstärken, als wir es für HoloLens (erste Generation) gewohnt waren.

Visuelle Angebote auf Planeten

Hinzufügen von Angeboten für die Erzwingung

  Nachdem wir den grundlegenden Force Grab-Mechanismus mit audio- und visuellen Angeboten hatten, haben wir uns angesehen, wie wir die Auswahl von Planeten benutzerfreundlicher gestalten können. Es gab zwei Standard Dinge zu adressieren: Da das Sonnensystem eine sich bewegende 3D-Schnittstelle ist, gibt es eine zusätzliche Komplexität für Benutzer, um zu lernen, wie Objekte konsistent ausgerichtet werden. Dies wurde durch die Tatsache, dass der Handstrahl schnell bei der Auswahl eines Objekts ist, wodurch Planeten unglaublich schnell auf den Benutzer zu bewegen.

Wir haben uns mit einer dreistufigen Lösung nähert. Die erste war ziemlich intuitiv: Verlangsamt den Auswahlprozess, sodass Planeten sich dem Benutzer in einem natürlicheren Tempo nähern. Nachdem die Geschwindigkeit angepasst wurde, mussten wir die audio- und visuellen Angebote erneut überprüfen und Audiofeedback hinzufügen, während der Planet dem Benutzer folgte.

Der zweite Teil der Lösung war, die Visualisierung der gesamten Force Grab Interaktion erlebbar zu machen. Wir haben eine dicke Linie visualisiert, die sich auf das Zielobjekt zubewegt, sobald der Handstrahl mit diesem verbunden ist, und das Objekt dann zurück zum Benutzer bringt - wie ein Lasso.

Visuelle Lassoangebote für den Force-Grab

Schließlich haben wir den Maßstab des Sonnensystems so optimiert, dass die Planeten groß genug waren, damit der Blick und der Handstrahl des Benutzers auf sie ausgerichtet sind.

Diese drei Verbesserungen ermöglichten es den Benutzern, genaue Auswahlen zu treffen und Planeten auf intuitive Weise zu nennen. Insgesamt ist der Effekt des endgültigen Kraftraubs ein immersiveres und interaktives Erlebnis im Sonnensystem.

Blickpunkt auf Jupiter

Die Erstellung der Sonnenkörper der Milchstraße war eine demütigende Erfahrung. Insbesondere die einzigartigen Eigenschaften von Jupiter machen ihn zu einem Anblick. Es ist der größte und farbenfrohste der Gasriesen und enthält mehr Masse als alle anderen Planeten zusammen. Seine schiere Größe und faszinierenden Bande von Turbulenz und Wolkendynamik sind präfekt für besondere künstlerische Aufmerksamkeit.

Geometrie und Gitter

Als Gasriese besteht Jupiters äußere Schalen aus gasförmigen Schichten. Die Kombination aus schneller Drehgeschwindigkeit, innerem Wärmeaustausch und Coriolis-Kräften erzeugt bunte Schichten und Ströme, die sich zu wirbelnden Wolkengürteln und Wirbeln bilden. Die Erfassung dieser komplizierten Schönheit war der Schlüssel zur Schaffung unseres Sonnensystems.

Es war sofort klar, dass die Verwendung von Visualisierungstechniken wie flüssigen Simulationen und animierten Texturen mit vorberechneten Streams nicht in Frage kam. Die erforderliche Rechenleistung, um dies in Kombination mit allem, was gleichzeitig geschieht, zu simulieren, hätte erhebliche negative Auswirkungen auf die Leistung gehabt.

Übersicht über das Jupiter-Objekt

Der nächste Ansatz war eine "Rauch-und-Spiegel"-Lösung, die aus der Überlagerung transparenter Texturschichten besteht, von denen jede einen bestimmten Aspekt der atmosphärischen Bewegung adressierte, die aus einer Komposition rotierender Gitter zusammengestellt wurden.

In der folgenden Abbildung sehen Sie die innere Shell auf der linken Seite. Diese Mattenebene bot einen Hintergrund für die Komposition, um vor kleinen Lücken zwischen den mehreren Ebenen zu schützen, die die Wolken bildeten. Aufgrund der langsamen Drehung der Ebene diente sie auch als visueller Puffer zwischen den schneller bewegten Bändern, um die visuelle Einheit in den Ebenen zu schaffen.

Nachdem dieser Anker auf das Modell festgelegt wurde, wurden die sich bewegenden Cloudebenen auf die mittleren und rechten Gitter projiziert, die unten zu sehen sind.

Übersicht über das Jupiter-Objekt mit getrennten Shells

Texturierung

Die bestehende Textur wurde in einen dreiteiligen Texturatlas getrennt: Das obere Drittel beherbergt eine bewegungslose Wolkenschicht mit Lücken, um einen Parallax-Effekt zu bieten, der mittlere Abschnitt enthält die schnell bewegenden äußeren Ströme, und das untere Drittel enthält eine langsam rotierende innere Basisschicht.

Der charakteristische Große Rote Punkt wurde ebenfalls in seine verschiedenen beweglichen Teile getrennt und dann in einen ansonsten unsichtbaren Bereich der Textur eingefügt. Diese Komponenten können als rot gefärbte Speckeln im mittleren Abschnitt der abbildung unten zu sehen sein.

Da jedes Band eine bestimmte Richtung und Geschwindigkeit hat, wurde die Textur auf jedes Gitter einzeln angewendet. Die Gitter hatten dann einen gemeinsamen Mittelpunkt und Drehpunkt, der es ermöglichte, die gesamte Oberfläche konzentrisch zu animieren.

Übersicht über Jupiter-Texturen

Rotations- und Texturverhalten

Nachdem die visuelle Zusammensetzung von Jupiter festgelegt wurde, mussten wir sicherstellen, dass die Drehungs- und Orbitgeschwindigkeiten ordnungsgemäß berechnet und entsprechend angewendet wurden. Es dauert ungefähr 9 Stunden, bis Jupiter eine vollständige Drehung abgeschlossen hat. Dies ist aufgrund seiner differenziellen Drehung eine Frage der Definition. Daher wurde der äquatoriale Stream als "master Stream" festgelegt, wobei 3600 Frames für eine vollständige Drehung verwendet werden. Jede andere Schicht musste eine Drehgeschwindigkeit als Faktor von 3600 haben, um ihrer Ausgangsposition zu entsprechen, z. B. 600, 900, 1200, 1800 usw.

Texturen der Jupiter-Schale

Der große rote Fleck

Die einzeln rotierenden Streams boten einen guten visuellen Eindruck, fehlten aber im Detail, wenn sie im Nahbereich beobachtet wurden.

Der auffälligste Teil war Jupiters Großer Roter Fleck, so dass wir eine Reihe von Gittern und Texturen speziell zu präsentieren.   Wir verwendeten einen ähnlichen Mechanismus wie bei Jupiters Bändern: Eine Reihe von rotierenden Teilen wurde übereinander zusammengesetzt, während sie auch unter ihrer "master Schicht" gruppiert wurden, um sicherzustellen, dass sie in Position bleiben, unabhängig davon, wie schnell sich der Rest bewegt.

Wenn die Gitter auf- und an ortsfestgelegt waren, wurden verschiedene Schichten des stürmischen Wirbels aufgetragen und jede Scheibe dann einzeln animiert, die Mittelstücke bewegten sich am schnellsten, wobei sich der Rest zunehmend verlangsamte, während er sich nach außen bewegte.

Jupiter Great Red Spot Mesh

Die Komposition hatte auch den gleichen Pivot wie jedes andere Gitternetz, während sie gleichzeitig die Neigung von der ursprünglichen Y-Achse (!) bewahrte, um freiheit bei der Animierung der Drehung zu ermöglichen. 3600 Frames sind die Basisrate, wobei jede Ebene einen Faktor davon als Drehzeit hat.

Jupiter Great Red Spot Textur

Das Richtige in Unity

Bei der Implementierung in Unity sind einige wichtige Punkte zu beachten.

Unity ist leicht verwechselt, wenn es um große Mengen transparenter Ebenen geht. Die Lösung war, das Texturmaterial für jedes Gitter zu duplizieren und aufsteigende Renderwarteschlange-Werte schrittweise vom inneren auf das Äußere um 5 auf jedes Material anzuwenden.

Das Ergebnis war, dass die innere Shell einen Renderwarteschlangenwert von 3000 (Standard) hatte, die statische rote Äußere später den Wert 3005, die schnellen weißen äußeren Wolken hatten 3010. Der große rote Fleck (von der inneren zur äußeren Schicht), abgeschlossen mit dem Wert 3025 in diesem Modell.

Abschließendes Jupiter-Objekt

Letzte Schritte

Die texturierten Jupiterschichten wurden zunächst aufgebaut, was sich als unzureichend für die Umsetzung erwies.

Der ursprüngliche Planet Standard-Shader und alle seine Variationen erhalten ihre Lichtinformationen über ein Skript, den SunLightReceiver, der vom MRTK Standard-Shader nicht unterstützt wird.

Das einfache Austauschen der Shader war keine Lösung, da der Planet Standard-Shader keine Texturzuordnungen mit Transparenzen unterstützt. Wir haben diesen Shader bearbeitet, damit der Jupiter-Build wie gewünscht funktioniert.

Schließlich mussten die Alphamischungen eingerichtet werden, indem Quellmischung auf 10 und Zielmischung auf 5 festgelegt wurde.

Eigenschaften von Jupiter Unity

Sie können die endgültige Wiedergabe von Jupiter in Galaxy Explorer sehen!

Lernen Sie das Team kennen

Unser Mixed Reality Studio-Team besteht aus Designern, 3D-Künstlern, UX-Spezialisten, Entwicklern, einem Programmmanager und einem Studioleiter. Wir kommen aus der ganzen Welt: Belgien, Kanada, Deutschland, Israel, Japan, Großbritannien und die USA. Wir sind ein multidisziplinäres Team, das aus einem vielfältigen Hintergrund kommt: Gaming - sowohl traditionell als auch Indie, digitales Marketing, Gesundheitswesen und Wissenschaft.

Wir freuen uns, Galaxy Explorer für HoloLens 2 zu erstellen und die HoloLens-Versionen (erste Generation), VR und Desktopversionen zu aktualisieren.

Das Galaxy Explorer Team

Oben von links nach rechts: Artemis Tsouflidou (Entwickler), Angie Teickner (Visual Designer), David Janer (UX Designer), Laura Garrett (Delivery & Production Lead), Yasushi Zonno (Creative Lead), Eline Ledent (Entwickler) und Ben Turner (Sr. Developer). Unten von links nach rechts: Amit Rojtblat (Technical Artist), Martin Wettig (3D Artist) und Dirk Songuer (Studio Head). Nicht vorgestellt: Tim Gerken (Tech Lead) und Oscar Salandin (Visual Designer).

Zusätzliche Informationen

Mixed Reality Studios

Microsoft Mixed Reality Studio-Teams in Nord- und Südamerika, Europa und Asia-Pacific sind Experten in den Bereichen User Experience Design, Holographic Computing, AR/VR-Technologien und 3D-Entwicklung, einschließlich der Erstellung von 3D-Ressourcen, DirectX, Unity und Unreal. Wir helfen dabei, die gewünschte Zukunft vorzustellen, Lösungen zu entwerfen, zu erstellen und bereitzustellen, und ermöglichen kunden gleichzeitig, messbare Auswirkungen auf ihre organization zu erzielen. Die Studios arbeiten eng mit über 22.000 Microsoft Services-Experten für die Integration, Einführung, Betrieb und Support von Unternehmensanwendungen zusammen.