Flunkyball Wurf

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche

3. Semester Media Engineering - Interaktion


Grundidee:

Ursprünglich als Flunkyball geplant, haben wir jedoch nur den Wurf umgesetzt. Bei dem Spiel gibt es zwei Mannschaften, zwischen ihnen steht ein Kegel. Die eine Mannschaft wirft mit einem Ball den Kegel um, und trinkt so lange Bier, wie die gegnerische Mannschaft braucht, um hinzulaufen, alles wieder aufzubauen und zurückzulaufen. Dann werden die Rollen getauscht. Welche Mannschaft zuerst ihr Bier ausgetrunken hat, hat gewonnen.

AusgabeFlunkyballWurf.png


Verwendete Mittel:

Bei dem umgesetzten Wurf wirft man den Ball mit einem Wii-Controller. Ein Arduino dient als Schnittstelle. Programmiert haben wir in Open Frameworks Visual Studio 0.10.0 vs 2017 unter Windows 10 und in XCode 9.2 unter MAC OS High Sierra 10.13.


Ablauf:

1.: Controller (ist mit Arduino verbunden. Knopf wird gedrückt, Signal geht an Arduino)

2.: Arduino (Schnittstelle: Empfängt Controller-Nachricht und verarbeitet sie mit einem vorinstallierten Programm. Wandelt sie in OSC-Nachricht um, die er über USB an Sender-PC sendet)

3.: Sender-PC (ist mit Kabel über USB mit Arduino verbunden und fragt mit Open Frameworks Nachricht ab)

4.: Empfänger-PC (kriegt Daten vom Sender-PC, stellt Ergebnis grafisch dar)

AufbauFlunkyballWurf.PNG


AblaufFlunkyballWurf.PNG


Code Beschreibung:

Zuerst wurde das Projekt erstellt, dabei wurde bei beiden Codes das Addon ofxBullet (für die 3-dimensionale Gestaltung) und ofxOsc (für die Kommunikation) hinzugefügt.

Sender

Der Sender empfängt die Nachrichten der Fernbedienung, ob der Button gedrückt wurde oder nicht, diese Nachrichten werden an den Empfänger weitergeleitet. Dafür muss ein Port festgelegt werden, bei Empfänger und Sender, der die Kommunikation ermöglicht, zudem muss die Host-Adresse im Code implementiert sein.

Empfänger

Hier wird die Grafik ausgegeben, darum wurden hier im Code die Kugel (Sphere) und der Zylinder sowie der Hintergrund initialisiert und Farbe und Größe festgelegt. Durch die 3-dimensionale Umgebung und die damit beschaffene Plastizität der Objekte existiert auch eine Gravitation, die sich auf die Objekte auswirkt. Das heißt der Ball wird von diesen Kräften beeinflusst und fliegt in einer Wurfparabel. Außerdem ist dieser Code dafür zuständig die Osc-Nachrichten zu empfangen, auszuwerten und in der Grafik umzusetzen. Wenn der Button auf der Fernbedienung gedrückt wird, soll der Ball sich in Richtung Zylinder bewegen.


Links

Programmcode