Интерактивна настолна игра, базирана на Arduino и Virtools - PDF Безплатно изтегляне

Интерактивна настолна игра, базирана на Arduino и Virtools Якоб Ф. Лайтнър D I P L O M A R B E I T 05/1/0305/016, подадена в магистърска степен по цифрови медии в Университета за приложни науки в Хагенберг през септември 2007 г.

arduino

Декларация С настоящото заявявам вместо клетва, че съм написал настоящото произведение независимо и без чужда помощ, че не съм използвал никакви източници или помощни средства, освен посочените и че съм отбелязал пасажите, взети от други източници, като такива. Хагенберг, на 5 септември 2007 г. Якоб Ф. Лайтнер iii

Съдържание Обяснение Предговор Резюме Резюме iii vii viii ix 1 Въведение 1 1.1 Мотивация. 1 1.2 Интерактивност. 4 1.3 Структура. 5 2 Свързана работа 7 2.1 Настолни платформи. 7 2.1.1 DiamondTouch. 7 2.1.2 TARBoard. 8 2.1.3 Телевизии. 8 2.1.4 Развлечения. 9 2.1.5 ЗВЕЗДИ. 9 2.1.6 реактивиране. 9 2.2 Настолни приложения. 10 2.2.1 Фалшиви пророци. 10 2.2.2 TViews Таблица Ролева игра. 10 2.2.3 KnightMage. 11 2.2.4 Лов на Снарк. 11 2.2.5 Прочетете. 11 2.2.6 CarettaKids. 11 2.2.7 Времето. 12 2.2.8 маймунски мост. 12 2.2.9 playanywhere. 12 2.2.10 Разширен Колизей. 13 iv

СЪДЪРЖАНИЕ v 3 Концепция 14 3.1 Идея. 14 3.2 Ролеви модели. 14 3.2.1 Невероятната машина. 15 3.2.2 Домино. 18 3.3 Игрови дизайн. 18 3.4 Дизайн на взаимодействието. 20 3.4.1 Взаимодействие с играча. 20 3.4.2 Взаимодействието с физическите компоненти на играта . 22 4 Технологични принципи 24 4.1 Софтуер. 24 4.1.1 Виртуални инструменти. 24 4.1.2 vvvv. 26 4.2 Хардуер. 26 4.2.1 Аното. 27 4.2.2 Arduino. 31 5 Изпълнение 34 5.1 Принцип на играта. 34 5.2 Хардуер. 35 5.2.1 Таблица. 35 5.2.2 Менюта Anoto. 36 5.2.3 Сензорна кутия Arduino. 41 5.2.4 Комино портали. 45 5.3 Софтуер. 50 5.3.1 Комуникация с Arduino. 50 5.3.2 Комуникация във vvvv. 52 5.3.3 Комуникация в C ++. 53 5.3.4 Комуникация в Virtools. 57 5.4 Внедряване във Virtools. 64 5.4.1 Първи стъпки. 64 5.4.2 Техники за взаимодействие. 65 5.4.3 3D модели. 66 5.4.4 Интеграция на Arduino. 68 5.4.5 Anoto интеграция. 70 5.4.6 Ниво на организация. 73 5.4.7 Интегриране на помощта. 74 5.4.8 Приложение на независими Virtools. 75 5.5 Дизайн на ниво. 76 5.5.1 Ниво 1. 76 5.5.2 Ниво 2. 77 5.5.3 Ниво 3. 78 5.6 Дизайн на взаимодействието. 79

СЪДЪРЖАНИЕ vi 5.6.1 Инсталация. 79 5.6.2 Изтриване. 81 5.6.3 Пречупване. 82 5.6.4 Преместване. 82 6 Дискусия 84 6.1 Въвеждане. 84 6.1.1 Взаимодействие с писалка. 84 6.1.2 Менюта Anoto. 86 6.2 Игра. 86 6.2.1 Дизайн на взаимодействието. 86 6.2.2 Проектиране на ниво. 87 6.2.3 Цел на играта. 87 6.3 Издание. 88 6.3.1 Графичен изход. 88 6.3.2 Перспектива на камерата. 88 6.3.3 Комино портали. 88 6.3.4 Аудио. 90 7 Заключения 91 7.1 Резюме. 91 7.2 Постигнати цели. 91 7.3 Outlook. 93 A Съдържание на CD-ROM 96 A.1 Дипломна работа. 96 A.2 Преглед. 96 A.3 Приложение Comino. 96 A.4 Инструменти на Comino. 97 A.5 файлове на Maya. 97 A.6 Файлове на Virtools. 97 A.7 Файлове на Visual Studio. 97 A.8 vvvv файлове. 98 A.9 Снимки и графики. 98 A.10 Справочен материал. 98 Библиография 99

Предговор Тази работа е посветена на моите родители, които ме подкрепяха във всичко, което съм правил досега и на които дължа много в живота. Благодаря и на братя и сестри и приятели, които ме придружават и вдъхновяват в работата ми и в живота и голяма благодарност на моята приятелка за нейното търпение и привързаност, които тя ми показва дори в натоварени времена. Не на последно място искрено благодаря на моя ръководител, на когото дължа много успехи в следването си и чиято неизчерпаема мотивация е постоянен източник на ново вдъхновение и интереси не само за мен. vii

ГЛАВА 2. СВЪРЗАНА РАБОТА 13 настолни системи са свързани помежду си, позволявайки взаимодействие с отдалечени потребители. 2.2.10 Разширен Колизей [17] Разширеният Колизей позволява на играчите да имат истински миниатюрни роботи, които се състезават един срещу друг в дуел с виртуални оръжия. Играта се играе на игрална повърхност, която се прожектира отгоре. Движенията на роботите се контролират от специални, проектирани модели, които се отчитат на роботите от няколко фотодиода. Роботът следва прожектираната графика веднага след като бъде преместен върху игралната повърхност. Играчът има различни нападателни и защитни функции, които се проектират върху виртуалната игрална зона около истинския робот. Играчите се дуелират с виртуални оръжия, които могат да бъдат изстреляни от техния собствен робот. Ако някой от роботите бъде унищожен, това се показва от виртуална експлозия.

ГЛАВА 4. ТЕХНОЛОГИЧНИ ОСНОВИ 27 Фигура 4.3: Снимката на екрана от vvvv показва подпач от проект vvvv. добро използване и обширна документация. Използването на няколко компонента едновременно също беше важно, тъй като концепцията беше предназначена за няколко потребители. Следващите раздели описват избрания хардуер, който е използван за внедряване на потребителските интерфейси на Comino. 4.2.1 Anoto Както вече беше споменато в раздел 3.4.1, два интерфейса са необходими на потребителя за взаимодействие с виртуалните домино. Първият интерфейс е предназначен да даде възможност на потребителя да превключва между отделните действия в играта, вторият интерфейс служи като насочващо устройство за взаимодействие върху игралната повърхност. Използването на цифрови химикалки, базирани на технологията Anoto 7, направи възможно прилагането на двата интерфейса с помощта само на едно хардуерно устройство. Писалките са посочени като писалки Anoto по-долу. Превключване между различните функции 7 http://www.anoto.com/

ГЛАВА 4. ТЕХНОЛОГИЧНИ ОСНОВИ 30 (a) (b) Фигура 4.5: Когато се използва мастило, което не покрива модела Anoto, различни потребителски интерфейси могат да бъдат отпечатани върху хартията, без разпознаването да бъде нарушено (a). След това тези графични потребителски интерфейси се управляват с помощта на anotopick (b). Батерия-LED Свързване-LED Power-LED Мина Задържащо око Оптичен блок Инфрачервен светодиод Оптичен филтър Вибратор Акумулаторна литиево-йонна батерия Bluetooth процесор Светодиоди Диод памет Чип (1 MB) Процесор за обработка на изображения Сензор за налягане Основен процесор Фигура 4.6: Схематично представяне на писалката Maxell с главни компоненти. Инфрачервен обхват. Оптичният блок на писалката, състоящ се от филтър, камера и диод, работи в зоната, която не се вижда от човешкото око. Диодът излъчва светлината, необходима за проследяване и по този начин дава възможност писалката да се използва дори при много тъмно осветление. Със скорост на запис от 50 до 100 изображения в секунда, камерата гарантира, че дори бързите движения на писалката все още могат да бъдат разпознати. Данните, записани от камерата, вече се обработват в писалката. Обработката на изображенията се извършва в собствения си професионалист-

ГЛАВА 5. ИЗПЪЛНЕНИЕ 40 Фигура 5.5: В Freehand MX има функция за промяна на цветовите отношения на графика в менюто Xtras-> Colors-> Color Control. (а) (б) (в) Фигура 5.6: Фигурата показва копията на дизайна на главното меню, които са намалени до синьо (а), пурпурно (б) и жълточерепче (в) с помощта на менюто Цветен контрол. Долният ред съдържа настройките на менюто за резултата, показан по-горе. отделни чувствителни области на интерфейса могат да бъдат калибрирани. Отделните пропуски могат да бъдат отпечатани във всякакъв ред! След като интерфейсът е калибриран, той може да бъде намален по размер и интегриран в различни компоненти. Фигура 5.7 показва напълно изрязаното главно меню на Comino. За да се предпази от надраскване, отпечатаната хартия е фиксирана между две акрилни стъкла.

ГЛАВА 5. ИЗПЪЛНЕНИЕ 43 DIN гнезда RCA гнезда входове/изходи Сензорна кутия Описание Кабел Цвят Захранвания входове/изходи Arduino ground + 5V Аналогови входове (Analog I) Цифрови входове/изходи (Digital I/O) 0 1 2 3 4 5 2 3 4 5 6 7 8 9 ШИМ 1 1 0 1 1 1 2 3 барел конектор USB LED + 5V изход земя + 5V мини-DIN * бял 1 мини-DIN бял 2 мини-DIN черен 1 земя + 5V цифров I/O цифров I/O PWM земя + 5V цифров I/O цифров I/O PWM земя + 5V цифров I/O аналогов I Mini-DIN черен 2 земя + 5V цифров I/O аналогов I RCA ** синя земя PWM RCA червена земя цифров I/O RCA зелено земно цифрово I/O RCA оранжево земно цифрово I/O LED разпределение на заземяване на данни RCA: * 4-пинов ** RCA е международното обозначение на конектора за Cinch Mini-DIN: барел конектор: сигнал за земя сигнал сигнал + 5V земя + 5V земя Фигура 5.9: Схематично представяне на сензорната кутия. Хоризонталните линии показват окабеляването от контактите към щифтовете Arduino, които са представени с вертикални линии. От левия и десния ръб има схематични илюстрации на инсталираните гнезда. Долната част показва разпределението на щифтовете на използваните гнезда.

ГЛАВА 5. ИЗПЪЛНЕНИЕ 44 Фигура 5.10: Сензорната кутия без капак. Четирите цокълни гнезда са над четирите гнезда mini-DIN. Съединителят на цевта и светодиодът все още не са добавени към сензорната кутия на тази фигура. Светодиодна кутия за сензорна кутия RCA синя RCA червена RCA зелена RCA оранжева + 5V изход Arduino контролер Фигура 5.11: Окабеляването на четирите RCA гнезда на сензорната кутия. За да могат да се дадат лесно разбираеми инструкции за включване на компоненти на играта, бяха използвани различни цветни гнезда.

ГЛАВА 5. ИЗПЪЛНЕНИЕ 49 контролируеми LED домино контролират LED серво въртящо се рамо Фигура 5.17: С помощта на серво мотор, към който е прикрепено въртящо се рамо, интерфейсът V2R може да предава механични импулси към реални домино. (а) (б) (в) Фигура 5.18: Правилното разположение на доминото също е от голямо значение за този портал (а). Задействано от виртуално събитие, въртящото се рамо (b) се движи назад и събаря домино отдолу (c). задават се различни параметри на системи от частици, които се проектират около порталите в играта. Фигура 5.19 показва взаимодействието с писалката, както и променливите параметри в играта. В допълнение към прогнозираната обратна връзка, потребителят може да получи и обратна връзка директно чрез портала. В Comino потребителите първо трябва да активират двата портала, преди да могат да бъдат използвани в играта. Това се прави с писалките Anoto директно на интерфейса. Чрез преместване на писалката отстрани потребителят може да промени цвета на системата от частици, принадлежаща към портала. Капакът

ГЛАВА 5. ИЗПЪЛНЕНИЕ 54 Фигура 5.21: Екранната снимка показва основния пластир на комуникацията Firmata във vvvv. Визуално разделен от вертикалната лента в средата, пластирът включва както четене във входовете, така и записване на изходите на контролера Arduino. Променливите за изходите на контролера Arduino се създават в горната част на кръпката, а входовете в долната част. Реализацията на vvvv служи като тестова платформа за комуникация с Arduino.

ГЛАВА 5. ИЗПЪЛНЕНИЕ 62 Фигура 5.23: Екранна снимка на диалоговия прозорец за настройки на Arduino BB. Той дава възможност за настройка на всички параметри, свързани с комуникацията с Arduino. при изпълнението на адаптацията на UDP приемник, който получава всички важни данни от писалката и който е капсулиран в градивен блок за използване във Virtools. Anoto-BB работи само в комбинация с вече наличен UPD предавател (Anoto предавател), който не е трябвало да се променя за използване с Comino. Фигура 5.24 показва графичния изглед на Anoto-BB в Virtools. Anoto-BB също е интегриран в примерен скрипт в графиката. Променливите, свързани към входовете за параметри над Anoto-BB, обозначават идентификационните номера (ID) на използваните писалки. Ако един от дефинираните от потребителя идентификатори на писалката съвпада с един от идентификаторите на писалката на получен пакет данни, стойностите се запазват.