Інтерактивна настільна гра, заснована на Arduino та Virtools - PDF Завантажити безкоштовно
Інтерактивна настільна гра, заснована на Arduino і Virtools Якоб Ф. Лайтнер

Декларація Цим заявляю замість присяги, що я написала даний твір самостійно та без сторонньої допомоги, що я не використовувала жодних джерел чи допоміжних матеріалів, крім зазначених, і що я позначила уривки, взяті з інших джерел, як такі. Гагенберг, 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 Дошка TAR. 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 грати де завгодно. 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 Портали Comino. 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 Портали Comino. 88 6.3.4 Аудіо. 90 7 Висновки 91 7.1 Підсумок. 91 7.2 Досягнуті цілі. 91 7.3 Перспектива. 93 A Зміст CD-ROM 96 A.1 Дипломна робота. 96 A.2 Огляд. 96 A.3 Додаток Comino. 96 А.4 Інструменти Коміно. 97 A.5 Файли Maya. 97 A.6 Файли Virtools. 97 A.7 Файли Visual Studio. 97 файлів A.8 vvvv. 98 A.9 Малюнки та графічні зображення. 98 А.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). Потім цими графічними користувальницькими інтерфейсами керують за допомогою анотопіка (b). Світлодіодне підключення світлодіода Power-LED Шахта Затримуюче око Оптичний блок Інфрачервоний світлодіод Оптичний фільтр Вібратор Акумуляторна літій-іонна батарея Процесор Bluetooth Світлодіоди Мікросхема пам'яті (1 МБ) Процесор обробки зображень Датчик тиску Основний процесор Рисунок 4.6: Схематичне зображення пера Maxell основні компоненти. Інфрачервоний діапазон. Оптичний блок пера, що складається з фільтра, камери та діода, працює в зоні, яка не видна людському оку. Діод випромінює світло, необхідне для відстеження, і таким чином дозволяє використовувати ручку навіть у дуже темних умовах освітлення. Завдяки швидкості запису від 50 до 100 зображень в секунду, камера забезпечує розпізнавання навіть швидких рухів пера. Дані, записані камерою, вже обробляються в ручці. Обробка зображень відбувається у власному профі-
РОЗДІЛ 5. ВПРОВАДЖЕННЯ 40 Рисунок 5.5: У Freehand MX є функція для зміни колірних співвідношень графіки в меню Xtras-> Colors-> Color Control. (a) (b) (c) Рисунок 5.6: На малюнку показані копії дизайну головного меню, які були зменшені до блакитного (a), пурпурового (b) та жовтофрабового (c) компонентів за допомогою меню Color Control. У нижньому рядку містяться налаштування меню для результату, показаного вище. можна відкалібрувати окремі чутливі ділянки інтерфейсу. Індивідуальні пропуски можна надрукувати в будь-якому порядку! Після калібрування інтерфейсу його можна зменшити за розміром та інтегрувати в різні компоненти. На рисунку 5.7 показано вирізане головне меню Коміно. Для захисту від подряпин друкований папір закріплювали між двома акриловими стеклами.
ГЛАВА 5. ВПРОВАДЖЕННЯ 43 DIN-розетки RCA-роз'єми входи/виходи Датчик коробки Опис Кабель Колір Входи/виходи живлення Arduino земля + 5 В Аналогові входи (аналогові I) Цифрові входи/виходи (цифрові входи/виходи) 0 1 2 3 4 5 2 3 4 5 6 7 8 9 ШІМ 1 1 0 1 1 1 2 3 бочковий роз'єм USB LED + 5 В вихідний заземлення + 5 В міні-DIN * білий 1 міні-DIN білий 2 міні-DIN чорний 1 земля + 5 В цифровий вхід/вихід цифровий I/O ШІМ заземлення + 5 В цифрового вводу/виводу цифрове введення/виведення ШІМ заземлення + 5 В цифрове введення/виведення аналогового I Mini-DIN чорне 2 заземлення + 5 В цифрове введення/виведення аналогового I RCA ** синє заземлення ШІМ RCA червоне заземлення цифрове I/O RCA цифровий ввід/вивід RCA помаранчевий Земля цифровий ввід/вивід Світлодіодний контакт I/O RCA: * 4-контактний ** RCA - це міжнародне позначення роз'єму для Cinch Mini-DIN: стовбуровий роз'єм: сигнал сигналу заземлення сигнал + 5 В заземлення + 5 В заземлення Рисунок 5.9: Схематичне зображення датчика. Горизонтальні лінії показують проводку від розеток до штифтів Arduino, які представлені вертикальними лініями. На лівому та правому краї є схематичні ілюстрації встановлених розеток. У нижній частині показано призначення контактів використовуваних розеток.
ГЛАВА 5. ВПРОВАДЖЕННЯ 44 Рисунок 5.10: Блок датчиків без кришки. Чотири цокольні розетки знаходяться над чотирма розетками міні-DIN. Роз'єм стовбура та світлодіод ще не додані до коробки датчиків на цьому малюнку. Світлодіодна коробка датчиків RCA синя RCA червона RCA зелена RCA помаранчева + вихід 5 В Arduino контролер Рисунок 5.11: Підключення чотирьох роз'ємів RCA датчикової коробки. Для того, щоб мати можливість легко зрозумілих інструкцій щодо підключення ігрових компонентів, використовувались різнокольорові розетки.
РОЗДІЛ 5. ВПРОВАДЖЕННЯ 49 керованих світлодіодних доміно управляють світлодіодним поворотним важелем Рис. 5.17: За допомогою сервомотора, до якого прикріплений поворотний кронштейн, інтерфейс V2R може передавати механічні імпульси реальним доміно. (a) (b) (c) Рисунок 5.18: Правильне розміщення доміно також дуже важливо для цього порталу (a). Викликаний віртуальною подією, поворотний кронштейн (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, позначають ідентифікаційні номери (ідентифікатори) використовуваних ручок. Якщо один із визначених користувачем ідентифікаторів пера відповідає одному з ідентифікаторів пера отриманого пакету даних, значення зберігаються.