Studienarbeit: Entwicklung Eines Räumlichen Interaktionskonzeptes
Total Page:16
File Type:pdf, Size:1020Kb
Studienarbeit Entwicklung eines räumlichen Interaktionskonzeptes im Studiengang Softwaretechnik und Medieninformatik Studienschwerpunkt Softwaretechnik der Fakultät Informationstechnik Sommersemester 2009 Björn Abheiden Datum: 30. Juli 2009 Prüfer: Prof. Dr.-Ing. Andreas Rößler Zweitprüfer: Prof. Dr.-Ing. Reinhard Schmidt Eidesstattliche Erklärung Hiermit versichere ich, die vorliegende Arbeit selbstständig und unter ausschließlicher Ver- wendung der angegebenen Literatur und Hilfsmittel erstellt zu haben. Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen Prüfungsbehörde vorgelegt und auch nicht veröffentlicht. Esslingen, den 30. Juli 2009 Unterschrift ii Kurz-Zusammenfassung Diese Arbeit zeigt Wege und Überlegungen zur Entwicklung eines räumlichen Interakti- onskonzeptes auf. Als Basis diente die Vorgabe eines Eingabegerätes, der Fernbedienung der Spielekonsole Wii von Nintendo. Die Wii-Fernbedienung, auch Wiimote genannt, dient dem Benutzer einer Wii-Konsole als primäres Spiel- und Steuerinstrument. Die Tatsache, dass die Wiimote über die standardisierte Bluetooth-Schnittstelle mit ihrer Konsole kommuniziert, brachte bereits eine Vielzahl von quelloffenen Projekten hervor, die es ermöglichen, die Daten der Wiimote auf einem PC oder einem Smartphone aus- zulesen. Anhand einiger Beispiele und einer konkreten Umsetzung erfahren Sie, wie sich die Computernutzung in den kommenden Jahren verändern könnte und welcher Art neue Benutzungsoberflächen sein könnten. Bisherige Benutzerschnittstellen „fesseln“ den Nutzer oft an eine Sitzgelegenheit. So würde sich beispielsweise niemand auf Dauer mit einer Tastatur in der Hand durch den Raum bewegen. Was wäre also, wenn die Bewegung bereits teil der Eingabe wäre? Die Wiimote hat mit ihren eingebauten Bewegungssensoren diese Bedienungsart einem breitem Publi- kum zugänglich gemacht, so dass der erste Schritt bereits gemacht sein dürfte, die eigenen motorischen Fähigkeiten als Eingabemethode zu nutzen. iii Inhaltsverzeichnis 1 Einleitung 1 2 Grundlagen 2 2.1 Umdenken - Oder: Aus Vertrautem ausbrechen . 2 2.2 Wiimote, die Fernbedienung der Nintendo Wii . 2 3 Recherche 4 3.1 Wiimote-Software für PC/Mac . 4 3.1.1 Microsoft Windows . 4 3.1.2 Apple MacOS . 5 3.1.3 Linux . 5 3.2 Wiimote-Bibliotheken und -APIs . 6 4 Realisierung 7 4.1 Leistungsumfang der Beispielanwendung . 7 4.2 Nutzung der API WiiuseJ - eine Einführung . 8 4.3 Verwendete Erzeugungs- und Verhaltensmuster . 9 4.3.1 Erzeugungsmuster . 9 4.3.2 Verhaltensmuster . 9 4.4 Gestaltung der Oberfläche . 10 4.5 Actio et reactio . 12 5 Ergebnisse 13 5.1 Ergebnisse der Realisierung . 13 5.1.1 Bildrotation . 13 5.1.2 Softwaresteuerung „von außen“ . 13 5.2 Ergebnisse der Recherche . 14 5.2.1 Sony und Nintendos Antwort . 14 5.2.2 Microsofts Xbox 360 - völlig losgelöst . 14 5.2.3 David gegen Goliath . 15 6 Schluss 16 6.1 Weiterentwicklungspotenzial der Beispielanwendung . 16 A Auszug aus der Konfigurationsdatei 17 Literaturverzeichnis 18 iv Abbildungsverzeichnis 2.1 Ansichten der Wiimote (Bild [9]) ....................... 3 2.2 (Aus-)Richtungen des Beschleunigungssensors (Bild [10]) . 3 3.1 Hauptfenster von WiinRemote (Bild [11])................... 4 3.2 Hauptfenster von DarwiinRemote (Bild [12]) . 5 3.3 Hauptfenster von wmgui (Bild [13])...................... 5 4.1 Aufbau der Verbindung . 10 4.2 Verbindungsaufbau gescheitert . 10 4.3 Statusmeldung bei erfolgreicher Verbindung . 11 4.4 Ansicht auf eine Beispielgruppe aus Menüpunkten . 11 4.5 Hinweis auf eine erfolgte Verbindungstrennung . 11 v 1 Einleitung Der Computerarbeitsplatz von heute zeichnet sich in den meisten Fällen durch das Vor- handensein der typischen Eingabegeräte Tastatur und Maus und eines Ausgabegerätes, den Monitor, aus. Die Szene der PC- und Konsolenspieler hat da zumindest einige weite- re Komponenten, mit denen die Spieler zwar der Anwendung nach gerechter interagieren können, allerdings ebenfalls an einen Stuhl oder eine sonstige Sitzgelegenheit gebunden sind. Einen ganz anderen Weg geht da beispielsweise das Unternehmen Nintendo mit ihrer 2006 vorgestellten Spielekonsole Wii. Das Eingabegerät der Konsole, die Wii-Fernbedienung oder auch Wiimote genannt, fordert den Spieler auf, sich zu bewegen. Durch natürliche Bewegungsabläufe schwingt der Spieler so einen Tennisschläger oder holt mit dem Eisen eines Golfers aus. Eine Rückkopplung der eigenen Körperhaltung durch die Darstellung einer Spielfigur auf dem Bildschirm in gleicher Pose verstärkt den Eindruck eines intuitiven Spielkonzeptes. Der Spieler wird wesentlich direkter in das Spiel eingebunden und erfährt zudem eine gewollte Bewegungsfreiheit. Auch außerhalb der Spielewelt lassen sich Anwendungen finden, die Eingaben von räum- lichen Daten interpretieren können, bzw. in denen sich solche Daten zur Steurung nutzen lassen. Ingenieure, Designer und Technische Zeichner nutzen zur Navigation im dreidimen- sionalen Raum und zur Modifikation dreidimensionaler Objekte häufig eine so genannte Spacemouse, welche ihnen ermöglicht, alle sechs Freiheitsgrade zu bedienen. Diese Geräte werden durch minimale Bewegungen aus ihrer Ruhelage bedient und kehren anschließend in diese Ausgangsposition zurück. Im Unterschied dazu wird die Wiimote frei im Raum bewegt und besitzt in der Hand ihres Benutzers keine Ruhelage. Deutlicher wird der Unter- schied, wenn man sich überlegt, dass Eingaben an einer Spacemouse eine relative Änderung zum Ausgangspunkt darstellen, die Wiimote aber die Rotationswerte aus der Haltung des Gerätes gegenüber der Richtung der wirkenden Gravitationskraft ermittelt. 1 2 Grundlagen 2.1 Umdenken - Oder: Aus Vertrautem ausbrechen Nicht erst in der heutigen Zeit ist es schon fast üblich, elektronische Geräte und andere Erzeugnisse über ihren eigentlich Einsatzzweck hinaus zu nutzen. Hierbei gilt es nicht, den Mangel von passendem Equipment auszugleichen, sondern mit erfindungsreichen Modifi- kationen der Erste zu sein, der diese umsetzt. Mit dem Aufkommen einer neuen Technik- Generation gruppieren sich mittlerweile sehr schnell einige findige Entwickler, die sich mit dem Innenleben und den Finessen neuer Geräte vertraut machen. Im Falle der Spielekonsole Wii gab es gleich mehrere Teams und Einzelpersonen, die sich nicht nur mit der Konsole an sich, sondern auch mit dem neuartigen Eingabegerät ausein- andersetzten. Mit den Spielekonsolen beschäftigen sich die Entwickler so genannter Hacks deshalb ger- ne, weil sie ihre eigene Software oder alternative Betriebssysteme auf der, bis dahin mit properitärem Code betriebenen, Plattform zum Laufen bringen wollen. 2.2 Wiimote, die Fernbedienung der Nintendo Wii Die Wii brachte mit der erwähnten Fernbedienung Wiimote, ein Steuerinstrument an den Endverbraucher, das er so noch nie gesehen hatte. Jedoch schaffte es Nintendo mit Hilfe der, in den Spielen angezeigten, Erklärungen, den Nutzer sehr schnell an dieses Eingabe- gerät zu gewöhnen. Im Gegensatz zu den kabellosen Lösungen anderer Hersteller zur Anbindung der Game- controller an die Konsole, setzt Nintendo auf einen weit verbreiteten Standard. Bis zu vier Wiimotes lassen sich mit der Wii via Bluetooth verbinden. Da sich heute in nahezu jedem aktuellen Notebook ein Bluetoothchip befindet und auch die Nachrüstung vorhandener Rechner mit einem USB-Bluetoothstick einfach und kostengünstig ermöglicht wird, kann die Wii-Fernbedienung auch mit einem Computer kommunizieren. Neben den äußerlich sichtbaren Tasten beherbergt die Wiimote versteckte Sensorik. Die Lage, die Bewegungsrichtung und die Bewegungsgeschwindigkeit, mit der die Fernbedie- nung bedient wird, werden durch einen Beschleunigungssensor ermittelt. Eine Infrarotka- mera, welche bis zu vier Quellen in ihrer Position und Intensität erkennen kann, wird z.B. 2 2 Grundlagen 2.2 Wiimote, die Fernbedienung der Nintendo Wii zur Steuerung eines Mauszeigers in den Menüs der Wii genutzt. Als Infrarotquelle kommt bei der Wii eine s.g. Sensorbar zum Einsatz. Der Sensorbar darf man dabei keine große In- telligenz zuschreiben, da sie wie eine Taschenlampe mit ständig leuchtenden Infrarot-LEDs funktioniert. Abb. 2.1: Ansichten der Wiimote (Bild [9]) Abb. 2.2: (Aus-)Richtungen des Beschleunigungssensors (Bild [10]) 3 3 Recherche Wie bereits erwähnt, gibt es zahlreiche Projekte, die sich mit der Nutzung der Wiimote als HID (Human Interface Device) beschäftigen. Einige Programme stellen dabei eine grafische Ausgabe der Sensordaten, der betätigten Knöpfe und der Infrarotkamera dar. Andere verwenden die eingelesenen Daten zur Steue- rung des Mauszeigers und zum Auslösen von Aktionen durch Simulation eines Maustas- tenklicks. 3.1 Wiimote-Software für PC/Mac Die, im Folgenden genannten Programme stellen eine unvollständige Auswahl von Projek- ten vor, die es für die einzelnen Betriebssysteme bereits gibt. 3.1.1 Microsoft Windows • WiinRemote bietet auf einer kleinen, eher beschaulichen Oberfläche eine Übersicht über die wichtigsten Funktionen einer Wiimote. Abb. 3.1: Hauptfenster von WiinRemote (Bild [11]) Darüber hinaus lässt sich mit WiinRemote auch der Mauszeiger mit Hilfe der In- frarotkamera, des Bewegungssensors oder des Analogsticks, eines zusätzlich an die Wiimote anzuschließenden Nunchucks, steuern. 4 3 Recherche 3.1 Wiimote-Software für PC/Mac 3.1.2 Apple MacOS • DarwiinRemote für MacOS stellt das Pendant zu WiinRemote dar. Abb. 3.2: Hauptfenster von DarwiinRemote (Bild [12]) 3.1.3 Linux • wmgui baut auf dem User-Space-Treiber CWiid auf und zeigt die empfangenen Daten der Wiimote an. Abb. 3.3: Hauptfenster von wmgui (Bild [13]) • wminput baut ebenfalls auf CWiid auf und kann