HoloLens Portal

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Die nachfolgende Dokumentation soll eine Einführung im Umgang mit der HoloLens liefern. Zunächst wird auf die Installation sämtlicher Software-Programme eingegangen, die auf einem Programmier-PC benötigt werden. Im Anschluss sollen die Grundprinzipien der Programmierung erläutert werden. Nachfolgend wird das Starten bzw. Debuggen einer selbsterstellten Applikation auf der HoloLens beschrieben. Abschließend wird das Spiel Portal auf der HoloLens vorgestellt, dessen Grundstruktur von KennyWdev programmiert und während des Interaktionspraktikums im SS2017 von unserer Projektgruppe modifiziert wurde. Ziel der Projektarbeit war es, nachfolgenden Projektgruppen einen leichteren Einstieg im Umgang mit der HoloLens zu ermöglichen und erste Erfahrungen im Bereich der HoloLens-Programmierung zu sammeln.


Software-Konfiguration

Um eigene Apps für die HoloLens schreiben zu können, ist es zunächst notwendig, diverse Software-Programme auf dem Entwickler-PC zu installieren. Ein Überblick über die notwendigen Software-Programme und Systemanforderungen ist auf der Entwickler-Homepage von Microsoft zu finden. Falls für die Programmierung der HoloLens ein neuer PC konfiguriert werden muss, müssen zunächst die Systemanforderungen (Betriebssystem etc.) überprüft werden. Neben der Installation von Visual Studio und Unity sollte der HoloLens Emulator installiert werden, um Apps ohne HoloLens direkt auf dem PC testen zu können. Bei der Installation von Visual Studio und Unity ist darauf zu achten, dass sämtliche Windows-Pakete mit installiert werden. Diese müssen während des Installationsvorgangs ausgewählt werden und werden nicht automatisch mit installiert! Eine Installation von Vuforia ist nicht zwingend notwendig, da Unity zur Programmierung verwendet werden kann.

Zusätzlich zu den ebenen genannten Programmen ist es ratsam Blender zu installieren. Bei Blender handelt es sich um ein Grafikprogramm, mit dem 3D-Objekte erstellt werden können. Neben dem selbstständigen Erstellen von 3D-Objekten, gibt es verschiedene Websiten, auf denenen fertige 3D-Objekte bereitgestellt werden, wie z.B. Blendswap. Nach einer Anmeldung können hier bereits fertige 3D-Objekte heruntergeladen werden. Anschließend werden die Objekte entpackt und innerhalb des Assets Ordners des Projektes platziert. Die Objekte können anschließend innerhalb der HoloLens-Applikation genutzt werden. Ohne die Installation von Blender werden die verschiedenen 3D-Objekte jedoch nicht richtig in die Applikation eingebunden.

Grundlagen der Programmierung

Basis einer jeden HoloLens-Applikation bilden die verschiedenen GameObjects. Die Gameobjects können entweder beim Start der Applikation, oder durch verschiedenen Aktionen im Raum platziert werden. Um einem GameObject ein Verhalten zuzuordnen, können ihm verschiedene Skripte zugeordnet werden. Zunächst wird hierfür ein neues Skript erstellt. Anschließend kann das Skript innerhalb der Entwicklungsumgebung auf das jeweilige Objekt gezogen werden. Innerhalb des Skriptes werden verschiedene Funktionen bereitgestellt, die bei unterschiedlichen Ereignissen ausgelöst werden. Um die Interaktion zwischen Gameobjects zu ermöglichen, sobald diese sich berühren, werden sogenannte BoxColider verwendet. Um einen BoxColider für ein Objekt anzulegen, klickt man mit der rechten Maustaste auf das jeweilige Objekt. Anschlißend wählt man: "Components" --> "Physics" --> "Box Collider". Das Objekt besitzt nun einen BoxColider, der aber erst noch aktiviert werden muss. Hierfür klickt man erneut auf das GameObject, welches den gerade erstellten BoxColyder erhalten hat. nach dem Anklicken des Reiters "model" (linke Seite in Unity) öffnet sich rechts ein "Inspector" Menü. Hier muss unter "Box Collider" die "IS Trigger" Box mit einem Haken versehen werden (siehe nachfolgendes Bild).

HoloPOverview.PNG

Anschließend können im Script des GameObjects verschiedene Trigger-Event-Funktionen programmiert werden, die bei einer Kollision mit einem anderen Objekt aufgerufen werden. Für Neueinsteiger sei an dieser Stelle zuerst auf die Tutorials von Microsoft verwiesen, die eine sehr gute Grundlage in der Erstellung von HoloLens-Programmen mit Unity liefern.

IP-Adresse der HoloLens konfigurieren

Um die erstellte Applikation auf die HoloLens laden zu können, muss deren IP-Adresse zunächst in Visual Studio hinterlegt werden.

HoloLens ohne WLAN über Kabelverbindung debuggen

Falls die HoloLens mit keinem WLAN verbunden ist, kann die HoloLens über das mitgelieferte USB-Kabel mit dem PC verbunden werden. Die interne IP-Adresse der HoloLens lautet dann: 127.0.0.1 Damit Visual Studio die App auf der HoloLens startet, muss die IP-Adresse zunächst angegeben werden. Hierfür klickt man innerhalb von Visual Studio auf den Menüpunkt "Debuggen", gefolgt von "Eigenschaften von XXX". Im sich öffnenden Verzeichnis wählt man in der linken Leiste nochmals "Debuggen". Anschließend gibt man die IP-Adresse unter Remote-Computer ein. Zusätzlich sollten sämtliche Konfigurationen wie im nachfolgenden Bild übernommen werden.


HoloPipAdresseKonfigurieren.PNG

HoloLens über WLAN debuggen

Um sich mit der HoloLens frei bewegen zu können, ist es ratsam ein eigenes WLAN zu konfigurieren, über das die HoloLens gedebuggt werden kann. Das Bayern-WLAN bzw. VirtuOhm kann aufgrund diverser Einschränkungen nicht verwendet werden. Nachdem mittels Router ein eigenes WLAN eingerichtet wurde, muss die HoloLens und der PC mit dem WLAN verbunden werden. Für die Eingabe des WLAN-Passworts an der HoloLens ist es ratsam, den mitgelieferten "HoloLens clicker" zu verwenden, um Tippfehler zu vermeiden. Innerhalb der Router-Einstellungen sollte eine feste IP für die HoloLens eingetragen werden, um Visual Studio nicht bei jeder Neuverbindung erneut konfigurieren zu müssen. Die Eintragung der IP-Adresse erfolgt auf dem selben Weg, wie bei der Verwendung einer Kabelverbindung, nur das jetzt die WLAN-IP-Adresse angegeben werden muss.

Build-Vorgang der Applikation innerhalb von Unity

Um eine Applikation innerhalb von Unity bauen zu können, geht man wie folgt vor:

  • Menüpunkt "File" anklicken
  • "Build Settings" auswählen
  • "Windows Store" auswählen
  • Die Konfiguration aus nachfolgedem Bild übernehmen
  • "Build" drücken.
  • Den vorhandenen App-Ordner auswählen (Beim erstmaligen Build-Vorgang muss dieser eventuell erstellt werden). Der Ordner soll nur ausgewählt werden (blau markiert / kein Doppelklick auf den Ordner!)
  • Anschließend den Build-Vorgang starten

HoloPUnityBuildKonfig.PNG

Starten der Applikation innerhalb von Visual Studio

Nachdem die App in Unity gebaut wurde, befindet sich innerhalb des App-Ordners eine Visual Studio Datei, die mit Visual Studio geöffnet werden muss. Sollte innerhalb von Visual Studio bereits eine vorherige Version der Applikation geöffnet sein, kann die komplette Projektmappe einfach neu geladen werden. (Nach dem Build-Vorgang innerhalb von Unity wird Visual Studio automatisch einen Dialog öffnen, bei dem Sie die Mappe neu laden können).

Um die App nun auf der HoloLens zu starten (grüner Pfeil) müssen noch die richtigen Voreinstellungen getroffen werden.

  • Typ der Applikation: Release
  • Architektur: X86
  • Remotecomputer

Die Einstellungen sind auch auf nachfolgedem Screenshot zu sehen.

HoloPVisualStudioKonfiguration.PNG

Nachdem die App innerhalb von Visual Studio mit den oben genannten Einstellungen gestartet wurde, wird nach kurzer Zeit ein Dialog durch Visual Studio geöffnet. Hier muss der Punkt "Debuggen fortsetzen" ausgewählt werden, da sonst die Applikation nicht gestartet wird.

HoloLens Web Portal

Das HoloLens Web Portal kann dazu genutzt werden verschiedenen Konfigurationen an der HoloLens vorzunehmen. Des Weiteren kann ein LIVE-Stream aus der Sicht des HoloLens-Anwenders auf dem PC gestreamt werden. Um in das HoloLens Web Portal zu gelangen öffnet man einen beliebigen Browers und gibt dort die IP-Adresse der HoloLens an (127.0.0.1 bei einer Verbindung über USB-Kabel bzw. die IP-Adresse der HoloLens innerhalb des eingerichteten WLANS). Das nachfolgende Bild zeigt das Menü des Web Portals nach dem Login. Unter dem Reiter "Mixed Reality Capture" kann ein LIVE PREVIEW gestartet werden. Je nach Qualität des Streams ist der Stream jedoch um einige Sekunden verzögert.

HoloPlivepreview.PNG

Applikation Portal

Die komplette Applikation ist in der folgeden Zip-Datei auf dem Content-Service gespeichert. Zum Starten der Applikation sollten die oben genannten Schritte (2.2 und 2.3) ausgeführt werden. Zu Beginn des Spiels hat der Spieler den Würfel in der Hand. Nachdem er den Würfel durch einen Klick abgeworfen hat, kann er die zwei Portale setzen. Ein Portal kann durch einen einfachen Klick gesetzt werden. Die Portale werden abwechselnd nacheinander platziert. Neben der eigentlichen Steuerung über die "Klick-Geste" sind in dem Spiel auch Sprachbefehle integriert. Durch das Aussprechen des Wortes "Cube" wird der Würfel wieder in die Hand des Spielers befördert. Soll das komplette Spiel auf den Anfangszustand zurückgesetzt werden, erfolgt dies über das Wort "Reset".

Erweiterungsmöglichkeiten des Spiels

  • Einfügen zusätzlicher Objekte (Ball, Trampolin usw.)
  • Erstellen verschiedener Aufgaben, die der User erledigen muss (z.B. Beförderung des Würfels in ausgewählte Zielzone)
  • Erstellen unterschiedlicher Spielmodi (Keine Gravitation etc.)
  • Erweiterung des User-Interfaces, um Informationen über Distanzen, Geschwindigkeiten etc. auszugeben
  • Einfügen von Objekten die sich im Raum bewegen und mit anderen Gameobjects interagieren