Konzeptentwicklung
Unser Konzept ist es ein gestengesteuertes Hologramm zu entwickeln.
Anfangs hatten wir hierfür die Idee, ausgehend von einem Punkt geometrische Körper zu erstellen. Das Prinzip war hier, zunächst einen Punkt zu einer Linie zu erweitern und dann aus dieser dreidimensionale Objekte zu formen.
Im Anschluss daran sollten die erstellten Objekte dann zusätzlich skaliert, rotiert und verschoben werden können.
Das Ziel war es hierbei, die Erstellung der Körper intuitiv zu gestalten und - im Gegensatz zu Grafikprogrammen am Computer - die Gegenstände somit greifbar zu machen.
Im Laufe des Semesters wurden hier jedoch einige unserer Vorstellungen verändert und unseren Möglichkeiten angepasst.
Das “Zeichnen” der Formen auf der Grundlage von Punkten und Linien hat sich als sehr schwer umsetzbar herausgestellt. Daher kam uns die Idee, unser Konzept mehr auf die Unterschiede verschiedener geometrischer Körper zu fokussieren. Unser Gedanke war es, verschiedene Objekte mit Buttons auswählbar zu machen und dann die selektierten Objekte manipulieren zu können.
In der späteren Phase unseres Projekts haben wir uns jedoch entschieden uns mehr auf das Design und visuelle Effekte zu konzentrieren. Dafür haben wir unser ursprünglich angedachtes Konzept stark vereinfacht. Unser Exponat bietet Besucher*innen die Möglichkeit, mit Hilfe verschiedener Handgesten, das Hologramm Bild zu bewegen und dessen Dreidimensionalität so zu erkunden.
Planung
Umsetzungplanung
Für die Umsetzung haben wir uns für den LeapMotion Sensor zum Aufzeichnen der Bewegungen entschieden. Auch wenn die Programmierung mit diesem Sensor im Verlauf noch einige Kompikationen mit sich brachte, hat dieser einige Vorteile im Gegensatz zum Gestentracking mit herkömmlichen Webcams. Der LeapMotion Sensor erkennt die Gelenke der Hände und auch minimale Bewegungen sehr genau. Außerdem funktioniert die Gestenerkennung auch im Dunkeln, was für unser Vorhaben äußerst vorteilhaft war.
Um den Hologramm Effekt zu erzeugen benötigten wir zudem einen Monitor zur Anzeige, der sich dann in einer Glasscheibe spiegeln soll. Hierfür haben wir eine große Scheibe aus Acrylglas angeschafft. Um die Konstruktion zu befestigen, musste außerdem ein Gerüst gebaut werden.
Aufbau
Wir haben bereits in einer frühen Phase unseres Projektes angefangen, uns Gedanken über den Aufbau zu machen. Dafür haben wir eine Skizze angefertigt, die unsere Vorstellungen veranschlaulicht und uns bei der Planung geholfen hat.
Geplant wurde zunächst, den LeapMotion Sensor auf einen höhenverstellbaren Stativ aufzustellen. Dieser sollte dann über ein langes Verbindungskabel an den Monitor angeschlossen werden. Damit sich der Monitor in der Glasscheibe spiegelt, muss diese in einem schrägen Winkel darüber befestigt werden. Dafür haben wir uns vorgenommen, ein eigenes Konstrukt aus Holz zu bauen. In dern finalen Phase unseres Projekts haben wir den Aufbau, wie später beschrieben, noch leicht abgewandelt und an einigen Stellen verbessert und vereinfacht.
Planung
Installation und Probleme
Nachdem wir uns auf den LeapMotion Sensor geeinigt hatten, suchten wir nach der dazugehörigen Software und fanden nach einer Weile auf der Website von Ultraleap die neueste Gemini Tracking Software. Damit konnten wir das Controllpanel des LeapMotion Sensors öffnen. Dort wird das eigene Bild mit den Händen erfasst und auch das virtuelle Skelett der Hände angezeigt. Auch kann man dort kleinere Einstellungen vornehmen, wie das Spiegeln des Bildes, jedoch ist es keine Umgebung mit der man arbeiten kann. Daher suchten wir nach einer geeigneten Entwicklungsumgebung, mussten jedoch feststellen das es nicht einfach ist eine zu finden. Im Internet gibt es ein paar Videos auf denen wenige Umgebungen zu sehen sind. Sucht man allerdings über LeapMotion ist es sehr schwer etwas zu finden. Nach langem durchsuchen des Webs und externer Hilfe stießen wir auf Unreal Engine. Es ist ein Programm zum Modellieren für Architektur, Videos und Games. Der Gamingbereich funktioniert über C++ Klassen und beinhaltet auch einen LeapMotion Bereich.
Um das ganze zum Laufen zu bringen mussten wir uns zuerst den Epic Games Launcher und dann daraus Ultra Engine 5 installieren, wobei diese allein über eine Stunde Installationszeit in Anspruch nahm.
Das Programm dauerte auch immer sehr lange zum Starten, teilweise zwanzig bis dreißig Minuten bis alles bereit war.
In dem Launcher mussten wir dann noch das LeapMotion Plugin downloaden und danach in das Programm einbauen. Nach einigen Neustarts war schließlich das System startklar. Leider war bis dahin schon sehr viel Zeit vergangen.
Exkurs Ultra Engine
Auf den ersten Blick sieht Ultra Engine ähnlich zu anderen Modelling-Programmen aus. Beginnt man sich mit dem Programm zu beschäftigen, so merkt man das vor allem für Neuankömmlinge es nicht sehr leicht ist eine Übersicht zu bekommen und die gewünschten Tools, Materials, etc. zu finden.
Öffnet man ein neues, leeres Blanket ist folgendes Grundszenario vorhanden. Bei Bedarf können alle Objekte gelöscht werden. Vorteil daran ist, das eine bereits funktionierende Environment gesetzt ist.
Blueprint
Als visuelles Skriptsystem dient Blueprint in Ultra Engine dazu, dass man über Basissysteme codieren kann. Über Schaltflächen werden Verbindungen mit einem Input-Output-System gezogen und so vorhandener Code verarbeitet. Dabei ist der Code sebst nicht sichtbar. So ist es möglich die Physik, Steuerungen und Regelwerke für das Projekt zu definieren.
Es kann auf mehreren Ebenen gearbeitet werden und für ein Level können auch mehrere Klassen angelegt werden. Dazu gibt es verschiedene Arten von Blueprintklassen.
Für eine gezielte Arbeitseffizienz teilten wir den geplanten Codingbaum auf. Ein Teil war die Auswahl über Buttons für Linien, Flächen und Körper. Der zweite Teil befasste sich mit der Modellierung der Objekte, beispielsweise das Skalieren, Drehen, Formen und Bewegen.
Aufbau
Für den finalen Aufbau unseres Exponats waren die zuvor erstellten groben Skizzen sehr hilfreich. Dennoch haben wir in der finalen Phase einige Aspekte angepasst und verbessert.
Für eine gute Bedienbarkeit musste sich unser Ausstellungsobjekt auf Hüfthöhe der Besucher*innen befinden. Hierfür wurden zwei einfache Tische nebeneinandergestellt.
Anschließend haben wir die Spiegelung in der Glasscheibe getestet, um die beste Position und den optimalen Winkel zu ermitteln.
Daraufhin haben wir selbst ein Holzgerüst gebaut, das die Glasscheibe so halten soll. Dafür haben wir zunächst Holzplatten gekauft und diese nach einigen Berechnungen mit einer Handsäge zugeschnitten. Unser Ziel hierbei war es, mit möglichst wenigen Einzelteilen eine stabile Konstruktion zu schaffen. Anders als in unserer ursprünglichen Skizze haben wir keine senkrechten Stützen gebaut, sodass die Glasscheibe einen schwebenden und mühelosen Zustand vermittelt. Auf beiden Seiten haben wir dafür zwei Bretter in einem schrägen Winkel durch kleine Verbindungsstücke aneinandergeschraubt. So wurde quasi eine Ablage für die Glasscheibe geschaffen, die nicht zu sehr vom Hologramm ablenkt und besonders im Dunkeln sehr in den Hintergrund tritt.
Team
Franziska Pfisterer, Julia Werner
Betreuung
Prof. Damian Gerbaulet