Leappong

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

Idee

LeappongSpiel.png

Die erste Idee war, das Spiel Bierpong mithilfe von Gestensteuerung zu realisieren. Vor allem der simulierte Wurf sollte durch die Bewegung eines richtigen Wurfes ausgeführt werden.

Durch die begrenzte Zeit wurde das Grundkonzept der Idee deutlich vereinfacht. Für die Erkennung eines Wurfes wird nicht mehr der ganze Wurf vom Benutzer dargestellt, sondern er interagiert nur noch über die Eingabe von Richtung und Stärke mithilfe des Steinschleuder Prinzips.

Hierbei wird nur noch die Hand anstelle des ganzen Arms berücksichtigt. Beginn und Ende des Wurfs werden durch das Erfassen der geöffneten und geschlossenen Hand realisiert. Die Darstellung wurde ebenfalls auf eine 2D Welt reduziert.


Umsetzung

Hardware

Für die Realisierung wird lediglich eine Leap Motion verwendet, die am besten geeignet für eine derartige Gestenerkennung ist.

Software

Die Bildverarbeitung und grafische Darstellung erfolgt mittels OpenFrameworks
Erster Entwurf zur Ansteuerung mithilfe der Leap Motion. Blau stellt die geballte Faust dar, rot den zu werfenden Ball
Diese Software bietet außerdem ebenfalls ein eigenes Add-On mit dessen Hilfe die Leap Motion in das Projekt eingebunden werden kann. Desweiteren stellt diese Bibliothek auch die wichtigsten Funktionen zur Verarbeitung der Gestenerkennung bereit. So gibt es zum Beispiel eine Funkion, bei der die Stärke der geballten Faust ermittelt werden kann.

Die Spielwelt wird vereinfacht in 2D dargestellt und besteht aus einem Tisch mit je 10 Bechern pro Tischhälfte. Der Ball befindet sich zu Beginn eines "Zuges" immer in der Mitte des Spielfeldes. Ballt ein Spieler nun über der Leap Motion eine Faust, beginnt der eigentliche Wurf. Durch das nach Hinten ziehen der Faust wird die Stärke des Wurfs nach dem Steinschleuderprinzip gesteuert. Nach dem Öffnen der Faust wird die Eingabe des Wurfs bestätigt und es erfolgt die Berechnung der Flugbahn des Balles. Wird ein Becher getroffen, wird dieser vom Spielfeld entfernt. Danach ist der der andere Spieler wieder an der Reihe. Gewonnen hat derjenige, der alle Becher als erstes getroffen hat.

UML-Leappong.png

Verbesserungsmöglichkeiten

3D Welt

Eine optisch sehr ansprechende Verbesserung wäre die Übernahme des Spielprinzips in eine 3 Dimensionale Welt. Dafür könnte auch die dritte Achse der Leap Motion verwendet werden, um auch die Höhe des Wurfes bestimmen zu können. Dies würde natürlich auch die Berechnung der Flugbahn erheblich komplexer gestalten.

Bessere Kalibrierung

Durch Ausprobieren verschiedener Einstellungen könnte noch die Optimale Kalibrierung für das Mapping der Leap Motion erfolgen. Damit würde die Erkennung und der Bereich des Wurfes besser eingestellt werden können.

Links

SourceCode im OCS

Leap Motion AddOn für OpenFrameworks