Top Banner
Flash += `multi-touch` | kinect; Valentin “valyard” Simonov Interactive Lab, 2011 [email protected] http://va.lent.in http://onenterframe.ru
28

Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

Nov 29, 2014

Download

Education

Flash GAMM!

Компьютерная мышь кардинально не менялась уже 30 лет, чего уж говорить о клавиатуре. А тем временем за последние 5 лет появились и другие интерфейсы, которые с каждым днем все больше укрепляются в повседневной жизни. Речь пойдет о том, как разрабатывать на ActionScript под multi-touch устройства и использовать в своих играх MS Kinect, который безусловно стал хитом прошедшего года. Начиная с сугубо технического введения, докладчик остановится на специфике разработки приложений, расскажет о существующих решениях и возникших проблемах в реальных проектах.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

Flash += `multi-touch` | kinect; Valentin “valyard” Simonov Interactive Lab, 2011 [email protected] http://va.lent.in http://onenterframe.ru

Page 2: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

2

NUI – Natural User Interface Естественный Пользовательский Интерфейс

CLI GUI

NUI

Page 3: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

3

Page 4: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

4

Multi-touch ≥2 “это как большой iPhone”

Multi: два и более одновременных касания

Single-, double-, multi

Для большинства жестов нужно всего 2 точки касания

История, описание, применение: workshops.vvvv.org/MultitouchParadigms/

“it’s like a big iPhone”

Multi: two or more simultaneous touch points

Single-, double-, multi

For most gestures 2 touch points is enough

Description, history, use cases: workshops.vvvv.org/MultitouchParadigms/

Page 5: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

5

Microsoft Kinect Depth-камера, видит расстояние до объектов

Технология от PrimeSense за $150

Аналоги (например, Panasonic D-Imager) стоят от $1500

Презентация Алексея Хохулина: prezi.com/hdi9sykqsr6o/kinect/

Появляются аналогичные продукты (Asus WAVI Xtion)

Depth-camera, sees distance to objects

PrimeSense technology for $150

Other cameras (for example, Panasonic D-Imager) cost $1500+

Alex Hohulin’s presentation (in Russian): prezi.com/hdi9sykqsr6o/kinect/

New similar products to appear (Asus WAVI Xtion)

Page 6: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

6

Multi-touch hardware Проекционные технологии – камера видит прикосновения

Touch-рамки – детекторы по краям видят изменения паттерна или расстояния

Projection-based – camera sees fingers

Touch-frames – detectors catch distance or light patterns changes

Page 7: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

7

Multi-touch hardware: projection technology

PC, Windows, камера без IR фильтра, источник IR света, короткофокусный проектор, проекционная поверхность

Много информации по теме workshops.vvvv.org/MultitouchParadigms/

Community Core Vision ccv.nuigroup.com

Список TUIO трэкеров: tuio.org/?software

Camera > Tracker > Framework > Application PC, Windows, camera w/o IR filter, IR light emitter, short-focus projector, projection plane

A lot of useful info workshops.vvvv.org/MultitouchParadigms/

Community Core Vision ccv.nuigroup.com

List of TUIO trackers: tuio.org/?software

Page 8: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

8

TUIO: Tangible User Interface Objects

Page 9: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

9

Multi-touch development Большой интерес разработчиков и заказчиков

В том числе и в связи со стратегией Adobe по захвату рынка мобильных приложений

Большое число закрытых разработок

В последний момент перед докладом новая библиотека – Gestouch (github.com/fljot/Gestouch)

Huge interest from developers and clients

Also because of Adobe’s strategy to rule mobile applications market

Many proprietary frameworks

Right before the talk, a new multi-touch library – Gestouch (github.com/fljot/

Gestouch)

Page 10: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

10

Multi-touch development

TUIO-as3 code.google.com/ p/tuio-as3/

GestureWorks gestureworks.com

42fingers* interactivelab.ru

OS’ Native Touch

Homebrew & proprietary

Page 11: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

11

Native touch and gestures support Windows 7 поддерживает одновременно только один жест Lee Brimelow's MultiDragable

blog.theflashblog.com/?p=2118

Zoom работает через динамический центр между точками, что неправильно

Недоделки исправят, выпустят железо. Ждем Windows 8?

Windows 7 can handler only one gesture at a time Lee Brimelow's MultiDragable

blog.theflashblog.com/?p=2118

Zoom works around dynamic center point between two active ones, which is wrong

They will fix software, make new hardware. Waiting for Windows 8?

Page 12: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

12

TUIO-as3 Стабильная солидная open-source библиотека

Разработчики делают ставки на TUIO объекты и события

Интересный движок жестов

Хороший набор туториалов и документация для разработчиков

Активно развивается

Stable well-known open-source library

TUIO objects and events as first class citizens

Interesting gestures framework

Big number of tutorials and docs for developers

Active development

Page 13: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

13

GestureWorks Разработка Ideum для своего железа, платная: $249

Не так давно обновилась до 2.0

Мало доков и скудная поддержка

Сильно завязывает на себя приложение, все нужно наследовать от TouchSprite

Поддерживает 200+ жестов (sic!)

Неидеальный трекинг

Может использовать модули open exhibits (openexhibits.org/software)

Developed by Ideum for their hardware, costs $249

Lately version 2.0 was released

Lack of docs and support

Introduces many dependencies on itself, all touch objects must inherit TouchSprite

Supports 200+ gestures (sic!)

Tracking is far from ideal

Can use open exhibits modules (openexhibits.org/software)

Page 14: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

14

42fingers Другая идеология:

1.  Нативные TouchEvents 2.  TUIO TouchEvents 3.  Нет центрального менеджера жестов

4.  Поведения крепятся к объектам, которым нужны события и жесты

5.  Разбиение точек на кластеры

Different concept: 1.  NativeTouchEvents 2.  TUIO TouchEvents 3.  No global gestures manager 4.  Gestures are attached to objects

which need them 5.  Touch points are divided into

clusters

Page 15: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

15

42fingers Работает как с Windows 7 прикосновениями, так и TUIO событиями

Компенсация ошибок трэкера

Зум и поворот от правильной точки

Легко интегрируется в существующий проект и не завязывает архитектуру под себя

Works with Windows 7 touch events 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

Page 16: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

16

TUIO senders Если вдруг под рукой нет мультитач-стола

iPhone/iPad – TuioPad msavisuals.com/tuiopad

Android – TuioDroid code.google.com/p/tuiodroid/

Mac touchpad или Magic Mouse github.com/fajran/tongseng/

Огромное количество «переходников» и конвертеров можно найти на www.tuio.org/?software

If you don’t have a multi-touch table around

iPhone/iPad – TuioPad msavisuals.com/tuiopad

Android – TuioDroid code.google.com/p/tuiodroid/

Mac touchpad или Magic Mouse github.com/fajran/tongseng/

You can find more software at www.tuio.org/?software

Page 17: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

17

Kinect development

Page 18: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

18

Kinect development OpenNI – попытка разработать стандарт NUI, создать API для разнообразных устройств openni.org

NITE (PrimeSense) – middleware для трэкинга скелета, жестов

OpenKinect – движение за самый первый драйвер для Кинекта, libfreenect openkinect.org

Microsoft Framework

OpenNI – attempt to develop NUI standard and create API for various devices openni.org

NITE (PrimeSense) – middleware for skeleton and gestures tracking

OpenKinect – movement for the very first open-source driver for Kinect, libfreenect openkinect.org

Microsoft Framework

Page 19: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

19

Kinect development Подключение к нативному серверу, который работает с устройством

AS3OpenNI – активно развивающийся враппер OpenNI и NITE для AS3 code.google.com/p/as3openni/

as3kinect – враппер libfreenect as3kinect.org

Socket connection to native server which works with actual device

AS3OpenNI – actively developed AS3 wrapper for OpenNI and NITE code.google.com/p/as3openni/

as3kinect – libfreenect wrapper as3kinect.org

Page 20: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

20

Kinect development

Page 21: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

21

Experience / Flash

Page 22: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

22

Experience / Flash +  Высокая скорость разработки

+  Удобный tool-chain, анимация

+  AIR приложения, нативные процессы, UDP сокеты

−  Баги, странные ограничения, низкая скорость, отсутствие 3D

−  Adobe делает самый медленный и часто вылетающий софт

+  Fast development

+  Convenient tool-chain, animation

+  AIR applications, native processes and UDP sockets

−  Bugs, strange limitations, slow execution speed, no 3D

−  Adobe develops the slowest software which crashes all the time

Page 23: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

23

Experience Нет стандартов на поведение жестов

Все следуют за Apple и iPhone

Совершенно другой интерфейс, нельзя продолжать GUI в NUI

Point-and-click не удобно и не работает как на мультитач, так и с Кинектом

Наблюдение за пользователями. Дети быстрее всех понимают интерфейс

There’s no standards for gestures behaviors

Everyone follows Apple and iPhone

Totally different interface, you must not continue GUI into NUI

Point-and-click doesn’t work nor with multi-touch nor Kinect

Observing users. Children are the fastest to learn new interfaces

Page 24: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

24

Experience

Page 25: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

25

Experience Все становится на порядок сложнее, когда появляется второе касание

Для большинства жестов необходимо и достаточно двух касаний

Flex компоненты (в том числе и mobile) не поддерживают мультитач

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

Page 26: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

26

Experience Размер имеет значение – для стола и стены совсем другие настройки и параметры жестов

Size matters – for multi-touch table and multi-touch wall we need totally different gestures settings

Page 27: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

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

Page 28: Валентин Симонов ( Interactive Lab) - “Выбросьте свои клавиатуру и мышь! Разработка Flash игр под multi-touch и kinect.”

28

References and links

Links: va.lent.in/blog/2011/05/11/flashgamm2011/ interactivelab.ru [email protected] We want your games!

Мы открыты для сотрудничества.