Компьютерная мышь кардинально не менялась уже 30 лет, чего уж говорить о клавиатуре. А тем временем за последние 5 лет появились и другие интерфейсы, которые с каждым днем все больше укрепляются в повседневной жизни. Речь пойдет о том, как разрабатывать на ActionScript под multi-touch устройства и использовать в своих играх MS Kinect, который безусловно стал хитом прошедшего года. Начиная с сугубо технического введения, докладчик остановится на специфике разработки приложений, расскажет о существующих решениях и возникших проблемах в реальных проектах.
4. Multi-touch ≥2
“это как большой iPhone” “it’s like a big iPhone”
Multi: два и более Multi: two or more
одновременных касания simultaneous touch points
Single-, double-, multi Single-, double-, multi
Для большинства жестов нужно For most gestures 2 touch points
всего 2 точки касания is enough
История, описание, Description, history, use cases:
применение: workshops.vvvv.org/MultitouchParadigms/
workshops.vvvv.org/MultitouchParadigms/
4
5. Microsoft Kinect
Depth-камера, Depth-camera,
видит расстояние до объектов sees distance to objects
Технология от PrimeSense за $150 PrimeSense technology for $150
Аналоги (например, Other cameras (for example,
Panasonic D-Imager) стоят от $1500 Panasonic D-Imager) cost $1500+
Презентация Алексея Хохулина: Alex Hohulin’s presentation (in Russian):
prezi.com/hdi9sykqsr6o/kinect/ prezi.com/hdi9sykqsr6o/kinect/
Появляются аналогичные продукты New similar products to appear
(Asus WAVI Xtion) (Asus WAVI Xtion)
5
6. Multi-touch hardware
Проекционные технологии –
камера видит прикосновения
Touch-рамки – детекторы по
краям видят изменения
паттерна или расстояния
Projection-based – camera sees
fingers
Touch-frames – detectors catch
distance or light patterns changes
6
7. Multi-touch hardware: projection technology
Camera > Tracker > Framework > Application
PC, Windows, камера без IR фильтра, PC, Windows, camera w/o IR filter, IR
источник IR света, короткофокусный light emitter, short-focus projector,
проектор, проекционная поверхность projection plane
Много информации по теме A lot of useful info
workshops.vvvv.org/MultitouchParadigms/ workshops.vvvv.org/MultitouchParadigms/
Community Core Vision Community Core Vision
ccv.nuigroup.com ccv.nuigroup.com
Список TUIO трэкеров: List of TUIO trackers:
tuio.org/?software tuio.org/?software
7
9. Multi-touch development
Большой интерес разработчиков и Huge interest from developers and
заказчиков clients
В том числе и в связи со Also because of Adobe’s strategy to
стратегией Adobe по захвату рынка rule mobile applications market
мобильных приложений
Many proprietary frameworks
Большое число
закрытых разработок Right before the talk, a new multi-
touch library – Gestouch (github.com/fljot/
В последний момент перед Gestouch)
докладом новая библиотека –
Gestouch (github.com/fljot/Gestouch)
9
11. Native touch and gestures support
Windows 7 поддерживает Windows 7 can handler only one
одновременно только один жест gesture at a time
Lee Brimelow's MultiDragable Lee Brimelow's MultiDragable
blog.theflashblog.com/?p=2118 blog.theflashblog.com/?p=2118
Zoom работает через Zoom works around dynamic center
динамический центр между point between two active ones,
точками, что неправильно which is wrong
Недоделки исправят, выпустят They will fix software, make new
железо. Ждем Windows 8? hardware. Waiting for Windows 8?
11
12. TUIO-as3
Стабильная солидная Stable well-known open-source
open-source библиотека library
Разработчики делают ставки TUIO objects and events as first
на TUIO объекты и события class citizens
Интересный движок жестов Interesting gestures framework
Хороший набор туториалов Big number of tutorials and
и документация для docs for developers
разработчиков
Active development
Активно развивается
12
13. GestureWorks
Разработка Ideum для своего Developed by Ideum for their
железа, платная: $249 hardware, costs $249
Не так давно обновилась до 2.0 Lately version 2.0 was released
Мало доков и скудная поддержка Lack of docs and support
Сильно завязывает на себя Introduces many dependencies on
приложение, все нужно itself, all touch objects must
наследовать от TouchSprite inherit TouchSprite
Поддерживает 200+ жестов (sic!) Supports 200+ gestures (sic!)
Неидеальный трекинг Tracking is far from ideal
Может использовать модули open Can use open exhibits modules
exhibits (openexhibits.org/software) (openexhibits.org/software)
13
14. 42fingers
Другая идеология: Different concept:
1. Нативные TouchEvents 1. NativeTouchEvents
2. TUIO TouchEvents 2. TUIO TouchEvents
3. Нет центрального менеджера 3. No global gestures manager
жестов 4. Gestures are attached to objects
4. Поведения крепятся к which need them
объектам, которым нужны 5. Touch points are divided into
события и жесты clusters
5. Разбиение точек на кластеры
14
15. 42fingers
Работает как с Windows 7 Works with Windows 7 touch events
прикосновениями, так и TUIO and TUIO messages
событиями
TUIO tracker errors compensation
Компенсация ошибок трэкера
Zoom and pan with proper center
Зум и поворот point
от правильной точки
Can be easily integrated into any
Легко интегрируется в project, doesn’t introduce new
существующий проект и не dependencies into application
завязывает архитектуру под architecture
себя
15
16. TUIO senders
Если вдруг под рукой нет If you don’t have a multi-touch table
мультитач-стола around
iPhone/iPad – TuioPad iPhone/iPad – TuioPad
msavisuals.com/tuiopad msavisuals.com/tuiopad
Android – TuioDroid Android – TuioDroid
code.google.com/p/tuiodroid/ code.google.com/p/tuiodroid/
Mac touchpad или Magic Mouse Mac touchpad или Magic Mouse
github.com/fajran/tongseng/ github.com/fajran/tongseng/
Огромное количество You can find more software at
www.tuio.org/?software
«переходников» и конвертеров
можно найти на
www.tuio.org/?software
16
18. Kinect development
OpenNI – попытка разработать OpenNI – attempt to develop NUI
стандарт NUI, создать API для standard and create API for
разнообразных устройств openni.org various devices openni.org
NITE (PrimeSense) – middleware NITE (PrimeSense) – middleware for
для трэкинга скелета, жестов skeleton and gestures tracking
OpenKinect – движение за самый OpenKinect – movement for the
первый драйвер для Кинекта, very first open-source driver for
libfreenect openkinect.org Kinect, libfreenect openkinect.org
Microsoft Framework Microsoft Framework
18
19. Kinect development
Подключение к нативному Socket connection to native server
серверу, который работает с which works with actual device
устройством
AS3OpenNI – actively developed
AS3OpenNI – активно AS3 wrapper for OpenNI and NITE
code.google.com/p/as3openni/
развивающийся враппер OpenNI и
NITE для AS3 as3kinect – libfreenect wrapper
code.google.com/p/as3openni/
as3kinect.org
as3kinect – враппер libfreenect
as3kinect.org
19
22. Experience / Flash
+ Высокая скорость разработки + Fast development
+ Удобный tool-chain, анимация + Convenient tool-chain, animation
+ AIR приложения, нативные + AIR applications, native processes
процессы, UDP сокеты and UDP sockets
− Баги, странные ограничения, − Bugs, strange limitations, slow
низкая скорость, отсутствие 3D execution speed, no 3D
− Adobe делает самый − Adobe develops the slowest
медленный и часто software which crashes
вылетающий софт all the time
22
23. Experience
Нет стандартов на поведение There’s no standards for gestures
жестов behaviors
Все следуют за Apple и iPhone Everyone follows Apple and iPhone
Совершенно другой интерфейс, Totally different interface, you
нельзя продолжать GUI в NUI must not continue GUI into NUI
Point-and-click не удобно и не Point-and-click doesn’t work nor with
работает как на мультитач, multi-touch nor Kinect
так и с Кинектом
Observing users. Children are the
Наблюдение за пользователями. fastest to learn new interfaces
Дети быстрее всех понимают
интерфейс
23
25. Experience
Все становится на порядок Everything gets MUCH more
сложнее, когда появляется второе complicated with just one more touch
касание
Most of gestures need only (and
Для большинства жестов no more than) 2 touches
необходимо и достаточно двух
касаний Flex components (even mobile ones)
don’t support multi-touch
Flex компоненты
(в том числе и mobile)
не поддерживают мультитач
25
26. Experience
Размер имеет значение – для Size matters – for multi-touch table
стола и стены совсем другие and multi-touch wall we need totally
настройки и параметры жестов different gestures settings
26
27. Experience / Kinect
OpenNI – калибровочная поза, OpenNI – calibration pose, must be
нужно видеть ноги able to see legs
Хороший трэкинг скелета Good skeleton tracking
Проблема с черной одеждой Issues with black cloths
Слепнет на улице Gets blind outdoor
Умудряется слепить сам себя, Can blind itself if positioned in front
если поставить прямо перед of glass or window
стеклом
27
28. References and links
Links:
va.lent.in/blog/2011/05/11/flashgamm2011/
interactivelab.ru
valentin.simonov@interactivelab.ru
We want your games!
Мы открыты для сотрудничества.
28