Arduino és Virtools alapú interaktív asztali játék - PDF ingyenes letöltés
Arduino és Virtools alapú, interaktív asztali játék Jakob F. Leitner D I P L O M A R B E I T 05/1/0305/016. Benyújtva Hagenbergben, az Alkalmazott Tudományok Egyetem digitális média mesterképzéséhez 2007 szeptemberében.

Nyilatkozat Az eskü helyett ezennel kijelentem, hogy a jelen művet önállóan és külső segítség nélkül írtam, hogy a megjelölteken kívül semmilyen forrást vagy segédeszközt nem használtam, és a más forrásokból vett szövegrészeket ilyenként jelöltem meg. Hagenberg, 2007. szeptember 5-én Jakob F. Leitner iii
Tartalomjegyzék Magyarázat Előszó Vezetői összefoglaló absztrakt iii vii viii ix 1 Bevezetés 1 1.1 Motiváció. 1 1.2 Interaktivitás. 4 1.3 Felépítés. 5 2 Kapcsolódó munka 7 2.1 Asztali platformok. 7 2.1.1 DiamondTouch. 7 2.1.2 TARBoard. 8 2.1.3 TV nézetek. 8 2.1.4 Entertaibles. 9 2.1.5 CSILLAGOK. 9 2.1.6 reaktivízió. 9 2.2 Asztali alkalmazások. 10 2.2.1 Hamis próféták. 10 2.2.2 TV nézetek táblázat szerepjáték. 10 2.2.3 KnightMage. 11 2.2.4 A sznark vadászata. 11 2.2.5 Olvasás. 11 2.2.6 CarettaKids. 11 2.2.7 Időjárás. 12 2.2.8 majomhidat. 12 2.2.9 bárhol. 12 2.2.10 Kiterjesztett Colosseum. 13 iv
TARTALOMJEGYZÉK v 3 14. fogalom 3.1 Ötlet. 14 3.2 Szerepmodellek. 14 3.2.1 A hihetetlen gép. 15 3.2.2 Domino. 18 3.3 Játéktervezés. 18 3.4 Interakció kialakítása. 20 3.4.1 Interakció a játékossal. 20 3.4.2 A fizikai játékkomponensekkel való kölcsönhatás . 22 4 Technológiai alapelvek 24 4.1 Szoftver. 24 4.1.1 Virtools. 24 4.1.2 vvvv. 26 4.2 Hardver. 26 4.2.1 Anoto. 27 4.2.2 Arduino. 31 5 Végrehajtás 34 5.1 A játék elve. 34 5.2 Hardver. 35 5.2.1. Táblázat. 35 5.2.2 Anoto menük. 36 5.2.3 Arduino érzékelő doboz. 41 5.2.4 Comino-portálok. 45 5.3 Szoftver. 50 5.3.1 Kommunikáció az Arduinóval. 50 5.3.2 Kommunikáció a vvvv-ben. 52 5.3.3 Kommunikáció C ++ nyelven. 53 5.3.4 Kommunikáció virtuális eszközökben. 57 5.4 Megvalósítás a Virtools-ban. 64 5.4.1 Első lépések. 64 5.4.2 Interakciós technikák. 65 5.4.3 3D modellek. 66 5.4.4 Arduino integráció. 68 5.4.5 Anoto integráció. 70 5.4.6 Szervezeti szint. 73 5.4.7 A segítség integrálása. 74 5.4.8 Független Virtools alkalmazás. 75 5.5 Szint kialakítás. 76 5.5.1 1. szint 76.5.5.2 2. szint 77 5.5.3 3. szint 78 5.6 Kölcsönhatás kialakítása. 79
TARTALOMJEGYZÉK vi 5.6.1 Telepítés. 79 5.6.2 Törlés. 81 5.6.3 Kopogás. 82 5.6.4 Mozgás. 82 6 Beszélgetés 84 6.1 Bemenet. 84 6.1.1 Toll kölcsönhatása. 84 6.1.2 Anoto menük. 86 6.2 Játék. 86 6.2.1 Interakció kialakítása. 86 6.2.2 Szinttervezés. 87 6.2.3 A játék célja. 87 6.3 kiadás. 88 6.3.1 Grafikus kimenet. 88 6.3.2 Kamera perspektíva. 88 6.3.3 Comino-portálok. 88 6.3.4 Hang. 90 7 Következtetések 91 7.1 Összefoglalás. 91 7.2 Elért célok. 91 7.3 Kilátás. 93 A A CD-ROM tartalma 96 A.1 Diplomamunka. 96 A.2 Áttekintés. 96 A.3 Comino alkalmazás. 96 A.4 Comino eszközök. 97 A.5 Maya fájl. 97 A.6 Virtools fájlok. 97 A.7 Visual Studio fájlok. 97 A.8 vvvv fájl. 98 A.9 Képek és grafikák. 98 A.10 Referencia anyag. 98 Irodalomjegyzék 99
Előszó Ez a mű a szüleimnek szól, akik mindenben támogattak, amit eddig tettem, és akiknek sokat köszönhetek az életben. Köszönet azoknak a testvéreknek és barátoknak, akik elkísérnek és inspirálnak a munkámban és az életemben, és nagy köszönet a barátomnak türelméért és vonzalmáért, amelyet mozgalmas időkben is megmutat nekem. Végül, de nem utolsósorban, egy szívből jövő köszönet a témavezetőmnek, akinek sok sikert köszönhetek tanulmányaim során, és akinek kimeríthetetlen motivációja állandóan új inspirációt és érdeklődést jelent nem csak számomra. vii
2. FEJEZET KAPCSOLÓDÓ MUNKA 13 asztali rendszer egymással hálózatba kötve, ezáltal lehetővé téve a távoli felhasználókkal való interakciót. 2.2.10 Augmented Coliseum [17] Az Augmented Coliseum lehetővé teszi a játékosok számára, hogy valódi miniatűr robotok versenyezzenek egymással virtuális fegyverekkel vívott párharcban. A játékot olyan játékfelületen játsszák, amelyet felülről vetítenek rá. A robotok mozgását speciális, kivetített minták vezérlik, amelyeket több fotódióda olvas fel a robotokon. A robot követi a vetített grafikát, amint elmozdul a játék felületén. A játékosnak számos támadó és védekező funkciója van, amelyek a valódi robot körüli virtuális játéktérre vetülnek. A játékosok virtuális fegyverekkel vesznek részt, amelyeket saját robotjukból lehet lőni. Ha az egyik robot megsemmisül, ezt virtuális robbanás jelzi.
4. FEJEZET 4. TECHNOLÓGIAI ALAPOK 27 4.3. Ábra: A vvvv képernyőképe egy vvvv projekt alrészét mutatja. jó használat és átfogó dokumentáció. Fontos volt több komponens egyidejű használata is, mivel a koncepciót több felhasználó számára tervezték. A következő szakaszok a Comino felhasználói felületek megvalósításához használt hardvert írják le. 4.2.1 Anoto A 3.4.1 szakaszban már említettük, hogy két interfészre van szükség ahhoz, hogy a felhasználó interakcióba léphessen a virtuális dominókkal. Az első felület célja, hogy a felhasználó válthasson a játék egyes műveletei között, a második interfész mutatóeszközként szolgál a játék felületén való interakcióhoz. Az Anoto 7 technológián alapuló digitális tollak használata lehetővé tette mindkét interfész egyetlen hardver eszközzel történő megvalósítását. A tollakat a következőkben Anoto tollaknak nevezik. Váltás a különféle funkciók között 7 http://www.anoto.com/
4. FEJEZET TECHNOLÓGIAI ELVEK 30 (a) (b) 4.5. Ábra: Ha olyan festéket használunk, amely nem fedi le az Anoto mintát, különféle felhasználói felületek nyomtathatók a papírra anélkül, hogy a felismerés zavart volna (a). Ezeket a grafikus felhasználói felületeket ezután egy anotopick (b) segítségével működtetik. Akkumulátor-LED Csatlakozás-LED Power-LED Akna Tartó szem Optikai egység Infravörös fénykibocsátó dióda Optikai szűrő Vibrátor Újratölthető lítium-ion akkumulátor Bluetooth processzor Fénykibocsátó diódák Memória chip (1 MB) Képfeldolgozó processzor Nyomásérzékelő Fő processzor 4.6 ábra: A Maxell toll sematikus ábrázolása a fő összetevők. Infravörös tartomány. A toll optikai egysége, amely szűrőből, kamerából és diódából áll, az emberi szem számára nem látható területen működik. A dióda a követéshez szükséges fényt bocsátja ki, és így lehetővé teszi a toll használatát nagyon sötét megvilágítás mellett is. 50–100 kép/másodperces felvételi sebességgel a kamera biztosítja, hogy a toll egyenletes gyors mozgása is felismerhető legyen. A kamera által rögzített adatokat a toll már feldolgozza. A képfeldolgozás saját profiként történik-
5. FEJEZET: VÉGREHAJTÁS 40 5.5. Ábra: A Freehand MX alkalmazásban a grafika színkapcsolatainak megváltoztatására szolgáló funkció megtalálható az Xtras-> Színek-> Színvezérlés menüben. (a) (b) (c) 5.6. ábra: Az ábra mutatja a főmenü kialakításának azon példányait, amelyeket a Színvezérlés menü segítségével cián (a), bíborvörös (b) és sárgagyöngy (c) alakúra redukáltak. Az alsó sor tartalmazza a fenti eredmények menübeállításait. az interfész egyes érzékeny területei kalibrálhatók. Az egyes bérletek bármilyen sorrendben kinyomtathatók! Az interfész kalibrálása után méretre vágható és integrálható különféle alkatrészekbe. Az 5.7. Ábra a teljesen kivágott Comino főmenüt mutatja. A karcolás ellen a nyomtatott papírt két akril tábla közé rögzítették.
5. FEJEZET VÉGREHAJTÁS 43 DIN aljzat RCA aljzatok bemenetei/kimenetei Érzékelődoboz Leírás Kábel Színes Tápellátás bemenetek/kimenetek Arduino föld + 5 V Analóg bemenetek (Analóg I) Digitális bemenetek/kimenetek (Digitális I/O) 0 1 2 3 4 5 2 3 4 5 6 7 8 9 PWM 1 1 0 1 1 1 2 3 Üreges dugó USB LED + 5V kimeneti föld + 5V mini-DIN * fehér 1 mini-DIN fehér 2 mini-DIN fekete 1 föld + 5V digitális I/O digitális I/O PWM földelés + 5V digitális I/O digitális I/O PWM földelés + 5V digitális I/O analóg I Mini-DIN fekete 2 föld + 5V digitális I/O analóg I RCA ** kék föld PWM RCA vörös föld digitális I/O RCA zöld föld digitális I/O RCA narancs föld digitális digitális I/O LED föld adat tűk hozzárendelése RCA: * 4 tűs ** RCA a Cinch Mini-DIN nemzetközi csatlakozó jelölése: csőcsatlakozó: jel földjel jel + 5 V föld + 5 V föld ábra 5.9: Az érzékelő doboz sematikus ábrázolása. A vízszintes vonalak az aljzatoktól az Arduino csapokig tartó vezetéket mutatják, amelyeket függőleges vonalak képviselnek. A bal és a jobb szélen vázlatos ábrák láthatók a telepített aljzatokról. Az alsó rész mutatja a felhasznált aljzatok tűkiosztását.
5. FEJEZET VÉGREHAJTÁS 44 5.10. Ábra: Az érzékelődoboz fedél nélkül. A négy cinch aljzat a négy mini-DIN aljzat felett helyezkedik el. A csőcsatlakozó és a LED még nincs hozzáadva az érzékelő dobozához ezen az ábrán. LED érzékelődoboz kenyérlap RCA kék RCA piros RCA zöld RCA narancs + 5 V kimeneti Arduino vezérlő 5.11. Ábra: Az érzékelő doboz négy RCA aljzatának huzalozása. Annak érdekében, hogy könnyen érthető utasításokat adhassanak a játékkomponensek csatlakoztatásához, különböző színű foglalatokat használtak.
5. FEJEZET VÉGREHAJTÁS 49 vezérelhető LED dominó vezérli a LED szervo forgókart 5.17. Ábra: Egy szervomotor segítségével, amelyhez egy forgókart rögzítenek, a V2R interfész mechanikus impulzusokat képes továbbítani valódi dominókhoz. (a) (b) (c) 5.18. ábra: A dominók helyes elhelyezése ennek a portálnak is nagy jelentőségű (a). Virtuális esemény váltja ki, a forgókar (b) hátrafelé mozog, és megdönti a (c) alatt elhelyezett dominókat. a részecskerendszerek különböző paramétereit állítják be, amelyek a játék portáljaira vetülnek. Az 5.19. Ábra bemutatja a tollal való interakciót, valamint a játékban megváltoztatható paramétereket. A kivetített visszajelzések mellett a felhasználó visszajelzést is kaphat közvetlenül a portálon keresztül. Cominóban a felhasználóknak először aktiválniuk kell a két portált, mielőtt felhasználhatók lennének a játékban. Ez közvetlenül az interfészen lévő Anoto tollakkal történik. Az oldalsó toll mozgatásával a felhasználó megváltoztathatja a portálhoz tartozó részecskerendszer színét. A fedő
5. FEJEZET VÉGREHAJTÁS 54 5.21. Ábra: A képernyőkép a Firmata kommunikáció foltját mutatja be a vvvv-ben. Vizuálisan elválasztva a középső függőleges sávtól, a javítás magában foglalja az Arduino vezérlő bemeneteinek és kimeneteinek írását. Az Arduino vezérlő kimeneteinek változói a patch tetején, a bemenetek alján jönnek létre. A vvvv implementáció tesztplatformként szolgált az Arduinóval való kommunikációhoz.
5.23. Ábra: Az Arduino BB beállításainak párbeszédpanelének képernyőképe. Lehetővé teszi az Arduinóval folytatott kommunikáció szempontjából releváns összes paraméter beállítását. egy olyan UDP-vevő adaptációjának megvalósításában, amely az összes fontos tolladatot megkapja, és amely egy építőkockába van beágyazva a Virtools számára. Az Anoto-BB csak egy már rendelkezésre álló UPD adóval (Anoto adó) kombinálva működik, amelyet nem kellett cserélni a Comino használatához. Az 5.24. Ábra az Anoto-BB grafikus nézetét mutatja a Virtools-ban. Az Anoto-BB egy példa szkriptbe is beépül a grafikában. Az Anoto-BB fölött a paraméterbemenetekhez kapcsolt változók kijelölik a használt tollak azonosító számát (ID-jét). Ha a felhasználó által definiált toll-azonosítók egyeznek a fogadott adatcsomag egyik toll-azonosítójával, az értékek mentésre kerülnek.