Игры для лип моушен и окулус. Обзор контроллера Leap Motion

Leap Motion Controller вошел в десятку лучших устройств года по версии журнала Time. Данный девайс относится к славной семейке беспроводных контроллеров нового поколения, таких как Wii Remote, PlayStation Move, однако ближайшим его родственником является Xbox Kinect. В отличие от последнего, Leap Motion реагирует на движения исключительно рук, он в 200 раз точнее определяет даже самые быстрые движения кистей и пальцев. Это устройство еще плотнее приближает нас к настоящей виртуальной реальности - к созданию естественного интерфейса между человеком и машиной. Ура, товарищи!

Leap Motion Controller

После выхода сенсора Kinect на волне его успеха стали появляться другие устройства бесконтактного управления. Kinect послужил основой для роста и развития рынка подобных устройств: инвесторы увидели перспективу и поняли смысл вложения средств в устройства жестового управления. Однако наиболее значимым и успешным стал контроллер Leap Motion Controller. Как и прародитель, последний основан на технологии захвата движения. Это устройство подключается к порту USB и по размеру не превышает пары сложенных флешек. С технической стороны для захвата проекции пользовательских рук в пространстве устройство Leap использует два оптических сенсора (камеры) и инфракрасный источник света (разработчики не исключают, что в будущих версиях устройства количество камер может быть изменено). Девайс размещается рабочей поверхностью кверху рядом с экраном, чтобы создать ощущение, будто объектами на экране управляют с помощью рук. После подключения устройства над ним образуется виртуальная перевернутая пирамида с центральной вершиной в устройстве. Наиболее эффективный диапазон распространяется от 25 до 600 мм над контроллером с областью видимости 150 градусов. В области этой пирамиды Leap Motion «видит» все движения и пересылает их софту, который преобразует данные и сигналы в координаты и сообщения. Софт способен распознать как простые жесты (виртуальные прикосновения, нажатия), так и сложные продолжительные движения: масштабирование, перемещение, вращение, рисование различных геометрических фигур. Таким образом, само устройство не выполняет никаких вычислений и преобразований, отдавая все на откуп софту хоста, который, удаляя шумы изображения, строит модели рук и пальцев - указателей. Имея начало координат в центре устройства, Leap Device интерпретирует оси координат следующим образом: отрицательная X расположена слева от устройства, соответственно, положительная - справа. Координата Y растет вверх и не имеет отрицательных значений, так как Leap «видит» объекты, начиная с 25 мм выше себя. Положительная Z располагается в направлении к пользователю, тогда как отрицательная - к экрану.

Leap Motion SDK

Leap Motion SDK развивается удивительно бурно, а новые версии выходят с завидной регулярностью: за сравнительно недолгую историю своего существования уже появилась полноценная вторая версия тулз, а также ее модификации. Точнее, моды находятся еще в стадии беты, и мы будем использовать самую последнюю на момент написания статьи версию SDK, поскольку каждая новая версия предоставляет видимые улучшения - дополнительные возможности слежения за скелетом («костями» рук). Как и следовало ожидать, Leap Motion SDK работает на всех распространенных платформах: Windows NT, OS X, Linux. Так как в последнее время мне больше приходится работать на Маке (а я вот редактирую эту статью на EEE PC с Win XP, и мне норм. - Прим. ред.), то в дальнейшем мое повествование (с некоторыми оговорками) будет касаться именно этой операционной системы. Если ты с ней не дружишь, не отчаивайся, ведь Leap Motion SDK кросс-платформенный, и ты без труда сможешь адаптировать полученные из этой статьи сведения для любой поддерживаемой операционной системы.

Готов вкалывать!

Для начала работы с контроллером Leap Motion, предварительно зарегистрировавшись на сайте производителя устройства, из раздела Downloads скачай архив LeapDeveloperKit_2.1.1+21671_mac.tar. Распаковав его, ты обнаружишь папку, внутри которой будет бандл Leap_Motion_Installer_skeleton-release_public_mac_x64_2.1.1+21671_ah1704.dmg (образ диска для OS X), содержащий драйверы для работы устройства, а также демоаппликации. Рядом с бандлом будет находиться директория LeapSDK, включающая все необходимые библиотеки и API для разработки приложений, работающих с устройством Leap Motion. Вдобавок в этой папке находится документация и сэмплы. Кроме демоприложений, бандл содержит Airspace Home, своего рода клиент для магазина приложений Leap Motion - в него можно загружать свои приложения и продавать их, как на других площадках цифровой дистрибуции. Основное отличие второй версии SDK от первой - это новая система слежения за «скелетом» верхних конечностей. В нее включена обработка дополнительной информации о костях рук и пальцев, возможность предсказания расположения невидимых для устройства костей и построение моделей рук в тех условиях, когда полностью конечности не видны.

Сначала установи содержимое бандла (уверен, под Windows он имеет такое же название, только с расширением exe). Сама установочная программа, находящаяся внутри образа, называется Leap Motion.pkg, она запускает процесс инсталляции всего перечисленного выше.


Рис. 2. Установка программы

После завершения установки софта для Leap Motion автоматически запустится драйвер, который в виде демона «поселится» в строке меню (справа сверху). В «Программах» появятся три новых приложения: сам драйвер, демопрограмма Leap Motion Orientation (рекомендую начать с нее) и Airspace. Если ранее контроллер не был подключен, самое время сделать это. Значок (в строке меню) подсветится зеленым цветом. В результате щелчка на нем откроется меню, содержащее пять пунктов. Первый пункт Launch Airspace запускает одноименный оконный клиент. По умолчанию в нем присутствуют семь демоприложений и две ссылки, ведущие в Airspace Store и комьюнити разработчиков. Каждая из демонстраций раскрывает возможности Leap Motion.

Следующий пункт меню - Settings открывает окно для настройки устройства. Это окно включает четыре вкладки. На странице Generals производятся основные настройки: разрешить или запретить устройству взаимодействовать с веб-приложениями, которые поддерживают Leap Motion (забегая вперед, отмечу, что такая возможность присутствует, и для этого используется HTML5 + JavaScript), включить или выключить возможность получать сигналы от устройства приложениям, работающим в фоне, автоматически передавать статистику устройства, включить (при необходимости) переход в энергосберегающий режим; настроить наименьшую высоту над устройством, при которой оно «видит» руки и пальцы (указатели); согласиться на автоматическое обновление. На странице Tracking присутствуют два параметра, относящиеся к настройке возможности «слежения» устройством. Следующая вкладка посвящена диагностированию и устранению неполадок, здесь присутствуют функции просмотра лога ПО, диагностический визуализатор, повторная калибровка устройства и возврат к настройкам по умолчанию. Последняя же вкладка просто сообщает инфу об устройстве и обслуживающем его софте. Щелчком по пункту Visualiser открывается демонстратор, в нем можно посмотреть, как устройство «видит» конечности. То есть, если переместить руки над активной областью устройства, приложение отобразит их в виртуальном пространстве. Кнопка Pause Tracking приостанавливает слежение, Quite - вырубает демон.


Когда ПО для Leap Motion будет установлено, можно ставить инструменты разработчика. При этом я полагаю, что у тебя установлены самые новые версии операционной системы и тулз для разработки (Xcode). Как я говорил выше, после распаковки архива папка с SDK находится рядом с бандлом установки. Эта папка содержит документацию, примеры, заголовочные и объектные файлы для всех официально поддерживаемых языков. Изначально Leap Motion SDK написан на C++, но, благодаря SWIG, имеет поддержку многих распространенных компилируемых и интерпретируемых языков, среди которых C# (вместе с фреймворками.NET и Mono плюс движком Unity 3D), Objective-C, Java, Python, JavaScript. SWIG, являясь свободным инструментом с открытым исходным кодом, играет роль генератора связующего кода между C++ и другими языками. Для своих разработок мы возьмем C++, как самый родной. Клиентский компьютер и контроллер взаимодействуют по TCP-соединению, при котором открываются порты 6437, 6438, 6439 - для корректной работы устройства необходимо проследить, чтобы они не блокировались файрволом. Leap Motion SDK позволяет разрабатывать приложения двух видов: поддерживающие нативный интерфейс (клиентские приложения) и интерфейс WebSockets (веб-приложения, работающие в среде браузера). Первые для работы (получения данных от контроллера) используют динамическую библиотеку - конкретную для определенной операционной системы, она подключается к устройству и предоставляет сервис верхнему уровню. Тогда как вторые получают данные через сервер WebSockets локального хоста в виде сообщений формата JSON. В этом случае используется JavaScript + open source надстройка LeapJS, и для управления устройством приложение может передавать конфигурационные сообщения через сервер WebSockets обратно девайсу.

Кодинг для Leap Motion

Сегодня мы сконцентрируемся на нативных приложениях для OS X, но благодаря кросс-платформенности инструментов ты легко сможешь переделать наши проги для другой поддерживаемой операционной системы. Мы не будем разрабатывать консольное приложение, которое показывает координаты, передаваемые контроллером, это скучно. Мы сразу же окунем голову в серьезный код и напишем приложение, выводящее графическое представление.

Визуализация

Leap Motion SDK предоставляет чудесные средства для получения данных от контроллера, но в нем совсем ничего нет для вывода графики. Поэтому наш путь лежит через использование дополнительных тулз. Чтобы вывести графику из нативного приложения под OS X, надо воспользоваться OpenGL. От этой идеи веет грустью: слишком низкий уровень, никакой статьи не хватит, и вообще уснуть можно. Поэтому мы воспользуемся настройкой над OpenGL. Из всего широчайшего ряда подобных библиотек я выбрал Cinder . Cinder представляет собой набор библиотек с открытым исходным кодом для обработки изображений, работы с графикой, звуком, вычислительной геометрией. Как я уже сказал выше, Cinder кросс-платформенна, и один и тот же код будет работать не только на десктопных платформах, но также на смартфонах и планшетах от Apple. В будущем разработчики собираются расширить круг поддерживаемых аппаратных и программных платформ. Вдобавок для генерации заготовки нового проекта в поставку Cinder входит утилита TinderBox, с ее помощью можно создать проект с поддержкой OpenGL, DirectX, CocoaView (OpenGL), каждая из этих заготовок может содержать в себе поддержку физического движка Box 2D, библиотеку рендеринга Cairo, аудиобиблиотеку FMOD, библиотеку компьютерного зрения OpenCV. Для Apple-устройств можно сгенерировать заготовку, где будут использоваться менеджеры геолокации и движения, при помощи стандартных фреймворков (Core Location, Core Motion). Все это с легкостью можно включить в проект на этапе его создания с помощью GUI-интерфейса. Кроме того, проект можно сгенерировать под определенную среду программирования и операционное окружение: Xcode (Mac), Xcode (iOS), VC 12/13 (WinRT). Следствие: мы имеем более, чем библиотеку API, все это напоминает кросс-платформенный игровой движок! Также можно сразу создать локальный Git-репозиторий. По моему скромному мнению, Cinder скоро станет наилучшим кросс-платформенным решением, даже в сравнении с Qt. Так как в Cinder активно используется boost, его неплохо обновить до последней версии. Открываем любимую консоль и сначала поставим систему управления устаревшими (на суровый взгляд Apple) пакетами Homebrew:

Ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

После чего из этой системы установим boost 1.55: brew install boost. Для работы непосредственно с Cinder ее достаточно скачать и распаковать, а для генерации проекта - использовать размещенную в подпапке tools утилиту TinderBox.

Руки, пальцы, управление пространством

Итак, для разминки создадим приложение, которое выводит в окно то, что видит сенсор. Если ты читал мои статьи про Kinect, то можешь помнить, что там мы начинали так же, будем считать это традицией. Заготовка из TinderBox для OpenGL нам прекрасно подойдет, надо только добавить в нее поддержку Leap Motion. Для этого из подкаталога include ранее распакованной папки LeapSDK (об этом см. выше) в дерево каталогов проекта среды Xcode перетащи два файла: Leap.h и LeapMath.h. Когда перенос будет завершен, появится диалоговое окно, где надо указать способ вставки / связывания файлов с проектом; поставь флажок Destination -> Copy items into destination group’s folder (if needed), отметь галкой Folders -> Create groups for any added folders и ниже отметь проект, к которому происходит добавление файлов. Кроме того, еще нужна динамическая библиотека. Так как компилятор языка C++ (LLVM), входящий в Xcode, следует стандарту C++11, то необходимо использовать библиотеку, скомпилированную с его вмешательством. Такая либа есть, она называется (версия для OS X) libLeap.dylib и находится в подкаталоге libc++ подпапки lib каталога LeapSDK. Либу тоже надо переместить в систему Xcode, с таким же последующим прохождением диалога. Теперь надо указать среде Xcode использовать добавленную в проект либу. В дереве файлов/каталогов проекта щелкни на имени проекта (верхний пункт), откроется меню конфигурирования проекта. Перейди на вкладку Build Phases. В левом верхнем углу вкладки, щелкнув на знаке «плюс», из появившегося контекстного меню выбери пункт New cope files build phase. В нижней части вкладки появится свернутая панель Copy Files. Развернув ее, из ниспадающего списка Destination выбери Executables, а в пустой список файлов (ниже) из дерева проекта перетащи динамическую либу, при этом флажок Copy only when installing должен быть снят. Теперь она подключена к проекту. Следующее действие нужно, чтобы сенсор передавал «сырые» данные изображения того, что он видит; в настройках Leap Motion (пункт Settings контекстного меню значка девайса в строке меню) на закладке General надо отметить флажок Allow Images. Сгенерированная TinderBox’ом заготовка включает несколько папок, файлов и необходимых фреймворков. Поскольку я назвал проект RawImagesApp, я добавил заголовочный файл RawImages.h. В него я поместил подключение заголовочных файлов Cinder’а и Leap’а, включение пространства имен Leap и объявление объекта контроллера Leap Motion, собственно, он является центральным предметом дискуссии. Вдобавок TinderBox сгенерировал исходный код для нашего проекта, он послужит хорошей отправной точкой для развития. В cpp-файле содержится основной класс (в моем случае RawImagesApp) приложения, соответствующий имени проекта и унаследованный от базового класса Cindera - AppNative. Окно создается с помощью макроса CINDER_APP_NATIVE. В классе RawImagesApp объявлены и реализованы виртуальные функции базового класса. Функция setup вызывается при старте приложения, сюда помещается код для его инициализации: для вывода «сырых» графических данных в этом методе необходимо установить особый флаг политик сенсора, для чего надо вызвать метод setPolicyFlag, в который передать значение POLICY_IMAGES контроллера. Функция update вызывается в каждом кадре для обновления; draw вызывается для перерисовки контента; mouseDown - при нажатии клавиши мыши. По умолчанию включены не все возможные функции, можно, например, добавить prepareSettings - функцию, которая вызывается до создания окна и позволяет передать ему параметры. Добавим эту функцию, чтобы при создании окно было большего размера, также установим для него частоту обновления. Объявление внутри класса RawImagesApp выглядит так:

Void prepareSettings(ci::app::AppBasic::Settings* settings);

а реализация так:

Void RawImagesApp::prepareSettings(Settings* settings) { settings->setWindowSize(1024, 768); settings->setFrameRate(60.0f); }

Уверен, комментарии здесь излишни. Добавим в основной класс приложения текстуру OpenGL: gl::Texture tex; Она пригодится нам для вывода. В функции update мы по кадрам будем получать изображения от сенсора, затем их обрабатывать и отображать на текстуре (см. исходник). На каждом кадре мы получаем кадр контроллера: Frame frame = controller.frame();. Объект класса Frame содержит в себе все остальные объекты, информацию о которых генерирует контроллер. Нам надо просто извлечь их из него. К слову, получение кадра таким способом - самостоятельно его брать у контроллера (последовательный опрос устройства) - наиболее просто и используется чаще всего. Любые промежуточные моменты предрешены: если при следующем опросе новый кадр еще не готов, то возвращается старый; если при последующем опросе готовы уже несколько кадров, то они помещаются в историю. Есть еще один способ получения кадров, но пока он нам не нужен, и мы перенесем его рассмотрение на следующий раздел. Получив кадр, мы извлекаем из него снятые сенсором изображения: ImageList images = frame.images();. Всего их два, поскольку в сенсоре две камеры, поэтому в каждый момент два изображения. Далее мы последовательно обрабатываем оба. Сначала в строке: const unsigned char * image_buffer = image.data (); получаем данные картинки; в определенный момент времени от контроллера мы можем получить разные изображения - не только по содержимому, но и по размеру. В следующей строке создается объект графической поверхности (Surface), входящий в Cinder API. Его конструктору передаются четыре параметра: ширина и высота поверхности, использование альфа-канала, последовательность цветовых каналов (константа SurfaceChannelOrder::RGBA соответствует стандарту: красный, зеленый, синий, альфа, однако имеется ряд других, например, в GDI или Quartz используются другие цветовые последовательности). Затем с помощью итератора обходятся все пиксели (пока пустой) поверхности. Внутри этого цикла устанавливается цвет пикселей. Я решил придать выводимому изображению красноватый оттенок (как в DOOM:)). Поэтому для красного канала каждого пикселя устанавливается значение, соответствующее значению из данных изображения. Остальные каналы обнуляются. После обхода всего изображения мы конструируем объект - текстуру с помощью метода gl::Texture на основе переданной в параметре поверхности. Если сейчас вывести текстуру на экран, она будет слишком маленькая. Поэтому предварительно отмасштабируем ее: glScalef(2.0, 3.0, 0.0);. Теперь отобразим: gl::draw(tex);.

Рис. 5. Что видит Leap Motion Controller

Кости

В следующем примере мы отобразим наши руки в машинном контексте, то есть нарисуем их в соответствующих координатах. Эта задача будет сложнее, чем предыдущая, а LeapSDK все-таки предоставляет довольно низкоуровневый интерфейс, поэтому для упрощения нашей задачи мы воспользуемся готовыми наработками. Американский программист Стивен Шейберл (Stephen Schieberl), под ником Ban the Rewind, разработал пару классов (Listener наследуется от Leap::Listener и Device), выполняющих всю типичную работу, связанную с обработкой и возвращением состояний устройства. Вдобавок Стивен поместил в файл функции, которые выполняют подсчеты координат и матриц, что позволит нам сконцентрироваться на более высокоуровневой работе. В первую очередь эти вычисления связаны с тем, что в отличие от координат рабочего стола операционной системы, где ось Y растет сверху вниз, начало координат для Leap Motion (0, 0, 0) начинается в левом нижнем углу (Y растет снизу вверх), следовательно, при использовании значений координаты Y их надо инвертировать. Дополнительные вычисления проводятся над векторами и матрицами, как указано выше. Итак, создадим новый проект таким же образом, как прошлый. Дополнительно добавь в него файлы Cinder-LeapMotion.h и Cinder-LeapMotion.cpp (см. материалы к статье). В главном классе приложения количество переменных-членов пополнилось, были добавлены: mDevice - ссылка на устройство - объект самописного класса, mFrame - класса Frame (мы уже рассматривали этот класс в прошлом разделе), mCamera - объект класса CameraPersp либы Cindera, также был добавлен метод onFrame (функция обратного вызова класса-предка), который, принимая объект класса Frame, делает его текущим - присваивает его переменной-члену mFrame. В методе Setup включаются режимы рисования, сглаживания линий и полигонов; инициализация камеры: задание области видимости (в параметрах конструктора), установка точки обзора (в методе lookAt); затем создается объект самописного класса Device, включающий три необходимых объекта классов: Controller, Device (из пространства имен Leap) и Listener, кроме того, без мьютекса не обойтись. Вот мы и подошли ко второму способу получения кадров от устройства - прослушиванию. Наш класс устройства унаследован от класса Listener, который позволяет реализовать эту возможность, то есть мы получаем кадры от контроллера с периодичностью, соответствующей его работе. Когда контроллер готов передать кадр, класс Listener вызывает переопределенный нами метод onFrame и передает ему кадр (в параметре), выше мы упоминали этот метод. Кстати, зачем нам понадобился мьютекс? Дело в том, что при использовании прослушивания - функции обратного вызова - onFrame вызывается в многопоточном режиме. То есть каждый ее вызов осуществляется в независимом потоке. Поэтому нам необходимо позаботиться о потоко-безопасности в момент получения кадра от девайса, чему служит мьютекс. При прослушивании также можно игнорировать приход нового кадра (например, если прошедший кадр еще не обработан) и добавить его в историю (для последующей обработки). Возвратимся к нашему коду, к месту создания объекта нашего класса Device. После его создания для него устанавливается функция обратного вызова.

Перерисовка

Но самое интересное происходит в методе перерисовки. Сначала выполняются подготовительные действия: очищение экрана, установка текущих матриц для камеры, включение альфа-смешивания, возможности чтения и записи в буфер глубины, установка цвета для рисования. Затем начинается непосредственное рисование: мы получаем от устройства трехмерные вектора положения локтя и запястья и методом gl::drawLine рисуем между этими точками линию. Далее получаем количество пальцев и в цикле с помощью итератора пробегаем по контейнеру, их содержащему. В Leap Motion каждый палец состоит из четырех частей (фаланг): периферической, промежуточной, проксимальной и пястной. Хотя на большом пальце настоящей человеческой руки последняя фаланга отсутствует, здесь она есть, но имеет нулевое значение. Во вложенном цикле, обходя все фаланги, получаем координаты различных их частей: начало, центр, конец, направление. Координаты представлены в виде векторов (Vec3f). Также внутри этого подцикла осуществляется рисование фаланг с помощью метода drawLine, которому передаются найденные координаты. Дополнительно из первых фаланг формируется контейнер суставов (knuckles). Когда происходит выход из внешнего цикла, рисуются линии, соединяющие пальцы и образующие кисти рук. На этом веселье перерисовки заканчивается. Откомпиль и запусти прогу, задержи руки над сенсором, и в окне отобразятся очертания твоих конечностей.

Итоги

Leap Motion - революционный контроллер, он не только заменил сенсорный экран, но и подарил нам управление пространством, сделав еще более прозрачной границу между реальным миром и виртуальной реальностью. На уровне разработчика ПО мы получаем удобный программный интерфейс, позволяющий управлять всеми возможностями сенсора. Кросс-платформенные инструменты разработчика дают последнему доступ к устройству на множестве языков программирования, как компилируемых, так и интерпретируемых (пока среди последних только два - Python и JavaScript). Кроме того, API имеет стройную и понятную структуру: в каждый момент времени контроллер снимает изображение, формирует на основе его кадр и посылает на верхний уровень - в прикладную программу, где программист, распарсив кадр, работает с такими сущностями, как руки, пальцы, указатели (инструменты) и другое. Из-за наличия в устройстве двух камер оно часто монтируется на очки виртуальной реальности для создания эффекта дополненной реальности, что достигается благодаря наличию в изображениях, снимаемых камерами, измеренных значений яркости инфракрасного излучателя, а также калибровочных данных, необходимых для коррекции сложного объектива. В сегодняшней статье мы затронули тему создания прикладных решений, взаимодействующих с устройством посредством API. Тема эта очень обширна, и рассмотреть удалось далеко не все - за бортом остались жестикуляция, специальные движения, эмуляция прикосновения и много чего еще. Все это, а также многое другое, например использование контроллера в Windows и Web, интеграция с игровыми/графическими движками, может стать темой для разговора в ближайших статьях. Все зависит от тебя - пиши нам, требуй продолжения:). А пока - удачи во всех делах и до встречи на страницах «Хакера»!

В минувшем октябре компания Leap Motion, борющаяся за рынок виртуальной реальности с помощью своего контроллера движений и специально созданного крепления под Oculus Rift, совместно с IndieCade , участникам которого предлагалось побороться за призовой фонд в $75 000 с помощью приложений с жестовым управлением. К этому дню из всех конкурсантов были отобраны 20 полуфиналистов , причём 14 из них устремились к победе с проектами виртуальной реальности, и сегодня мы расскажем именно об этих смельчаках.

Aboard the Lookinglass

Научно-фантастическое космоприключение от Генри Хоффмана (Henry Hoffman) с уникальной игровой механикой, в которой ваши руки могут управлять прошлым и будущим. Активируйте пульты, решайте головоломки и вглядитесь в суровую правду.

Corridor 17

Сочетание бесконечного раннера и шутера от первого лица от Studio 17. Вы - пилот и вынуждены уклоняться от столкновения с коварными ловушками и неожиданными препятствиями, отстреливая вооружённых роботов из пушки под контролем Leap Motion. Требуются Oculus Rift DK2.

ElementL: Ghost Story

В роли даосского монаха вы были посланы избавить деревню от злых духов, обитающих в бамбуковом лесу. В этом приключении от Кевина Цанга (Kevin Tsang) и его команды вам предстоит использовать магию элементов, колдуя собственными руками.

Gooze

В заброшенных развалинах вы должны решать головоломки, путешествуя из зала в зал и скрываясь от монстров. Прототип игры от Дэниеля Видерманна (Daniel Wiedemann) основан на его впечатлениях от реального места близ Берлина.

Haunet

Футуристичная трёхмерная VR-головоломка от VRARlab позволяет использовать руки для управления миром цветных кубических конструкций. Подойдут любые Oculus Rift.

Hollow

Почувствуйте себя всадником из «Легенды о Сонной лощине» Вашингтона Ирвинга. Осенняя палитра Ирвинга оживает в виртуальной реальности благодаря реалистичной графике на движке Unreal Engine 4. Oculus Rift не обязательны, но рекомендованы.

Let’s Make Fried Rice

Кулинарный эксперимент по созданию трёхмерных меню и отслеживанию предметов от Юсуке Андо (Yusuke Ando). Приготовь жареный рис и накорми изголодавшихся клиентов! Режим виртуальной реальности пока доступен только для Windows.

Magicraft

Фэнтези виртуальной реальности Magicraft от Storm Bringer Studios превращает вас в мага в мире колдовства и звона мечей. Противники имеют несколько уровней, геймплей обещает быть интересным. Rift не обязательны, но рекомендованы.

Otherworld

C помощью отличной графики и эмбиента Otherworld переносит игрока в странное место, полное духов и загадок, ожидающих своего часа. Игра разработана командой из четырёх человек, включая художника, двух музыкантов и программиста.

Press Bird To Play

Глупая птица украла пиратский кортик - помогите пирату вернуть свою гордость. С помощью мини-игр и атмосферных локаций игра Джеральда Тирвина (Gerald Terveen) действительно захватывает. Требуются Oculus Rift и Leap Motion, расположенный на столе.

Soundscape VR

Полное погружение в мир музыки - пульты и контроллеры в виртуальной реальности, абстрактный фон, успокаивающие звуки, отделённая от самой реальности творческая зона от Sander Snake.

Tran;section

Всегда мечтали поиграть в игру в игре? Тогда этот проект для вас. Сидя в мрачноватом виртуальном офисе, вам предстоит играть на обычном компьютере в самый обычный платформер, но с одной изюминкой: миры игры и игры-в-игре взаимосвязаны… Лучше посмотрите видео.

Weightless

Большинство из нас вряд ли хоть раз попадёт в открытый космос за всю жизнь, но виртуальная реальность хороша как раз тем, что снимает всякие ограничения. Медитативное космическое приключение от Мартина Шуберта (Martin Schubert) погрузит вас в работу на орбитальной космической станции - сбор артефактов под красивое фортепиано.

World of Comenius

Образовательно-информационная среда с данными об окружающем мире и нас самих от Томаса Frooxius Марианчика (Tomas Mariancik).

Небольшой бонус от Leap Motion: промокод LEAP3DJAM даёт 20-процентную скидку на покупку VR Developer Bundle, включающий сам контроллер и крепление для Oculus Rift, в

Устройство Leap Motion появилось на рынке не так давно, но уже успело завоевать свою аудиторию пользователей, которая продолжает расширяться. Область применения данной технологии достаточно широкая и может ограничиваться лишь фантазией разработчика. Наиболее часто устройство применяют в игровой индустрии и сфере рекламы.

Минимальные системные требования:

Windows® 7 or Windows® 8

AMD Phenom™ II or Intel® Core™ i3

2 GB RAM

USB 2.0 Port

Internet Connection

Leap Motion работает исключительно на платформах Windows, MAC OS, Linux и судя по информации официального форума, разработчики данного устройства пока не планируют поддерживать мобильные платформы. Думаю это связано с тем, что мобильные устройства пока не достаточно мощные для работы с технологией Leap Motion.

Область видимости устройства составляет 120 градусов в глубину (по оси Z) и 150 градусов в ширину (по оси X).

Высота видимости(по оси Y), максимально 25 см и ее можно изменять в настройках программного обеспечения, которое идет в комплекте.

(фото:leapmotion.com) Рабочая область Leap Motion

Прежде чем начинать разработку под новое устройство, всегда необходимо иметь представление о том, как оно работает. Чем подробнее вы сможете разобраться в технических деталях, тем проще будет проектировать информационные системы с использованием этих устройств. Эти знания позволят Вам не только прогнозировать исключительные ситуации, при которых устройство физически невозможно использовать, но так же расширить область их применения путем аппаратной адаптации под конкретно поставленные задачи.

Рассматриваемое устройство Leap Motion технически не представляет из себя чего-то сверхсложного. Внутри находятся две инфракрасные камеры и три мощных инфракрасных светодиода.

Leap Motion inside

Принцип работы устройства прост- инфракрасные(ИК) диоды подсвечивают руки, а инфракрасные камеры делают их захват передавая изображения программному обработчику Leap Motion. На программном уровне в бой вступают математические алгоритмы, которые выделяют контуры рук, и отслеживают координаты пальцев. Начиная с версии SDK 2.0., Leap Motion научился выделять составные части руки, проще говоря алгоритм определяет кости рук и запястье, отслеживает их перемещение в пространстве. Таким образом открываются новые горизонты для расширения базы распознаваемых жестов.

Принцип работы Leap Motion

Многие на форумах и при личной беседе задают вопрос, можно ли использовать Leap Motion или Kinect в качестве тепловизора? Большинство уверены, что ИК камера необходима для теплового выделения человека и это огромное заблуждение. Дело в том, что ИК камера и тепловизор-это абсолютно разные устройства. Оба этих устройства построены на принципе восприятия невидимого инфракрасного излучения, но вот спектр воспринимаемого излучения у них разный. Для производства матрицы тепловизоров используются другие материалы, которые более чувствительны и позволяют воспринимать ИК волны излучаемые даже при минимальных температурах. Именно по этой причине тепловизоры достаточно дорогие.

Если вы хотите использовать это устройство в качестве тепловизора, тогда справедливо задать вопрос, какой диапазон температур вы хотите отслеживать?
Опираясь на физический закон Вина, мы можем рассчитать максимумы излучательной способности тел. Поскольку данная статья относится к другой теме, то расчеты приводить не буду, просто приведу несколько рассчитанных значений длин волн:

— Человеческое тело: 9300 нм

— Огонь: 3000 нм

Температуру человеческого тела инфракрасная камера Leap Motion и Microsoft Kinect не определит, однако пламя от зажигалки или нить лампы накаливания увидеть можно.

Проведем опыт. Возьмем сенсор Microsoft Kinect и плотно закроем инфракрасный излучатель металлической заглушкой. Далее запускаем программу, которая просто будет отображать на экран изображение с инфракрасной камеры. Экран черный, поскольку в комнате нет инфракрасного излучения. Однако стоит зажечь огонь зажигалки, как на экране появляется картинка инфракрасного излучения от огня.

Закроем инфракрасный излучатель металлической заглушкой

На экране ничего не отображается

Возьмем зажигалку

Инфракрасное излучение от зажигалки отображается на экране

Аналогично, если направить инфракрасную камеру на настольную лампу. Видно как светится лампа, однако свет от лампы не отражается на руке и предметах вокруг.

На экране инфракрасное излучение от энергосберегающей лампы

Свет от энергосберегающей лампы четко попадает на руку, но на экране отражения от руки нет

Спектр оптического излучения

Матрица любой цифровой камеры чувствительна к ИК излучению. Для того чтобы сузить спектр ИК восприятия, применяют специальные ИК фильтры, которые есть в любой цифровой камере.
В доказательство моих слов, возьмите пульт от телевизора, направьте на него веб-камеру или камеру на своем мобильном телефоне, нажмите на кнопку пульта и в этот момент на экране своего устройства увидите свечение инфракрасного диода, хотя на самом деле излучение диода находится за областью восприятия человеческим глазом. Поскольку в камере установлен фильтр ИК излучения- вы наблюдаете не такое яркое свечение диода. Но если удалить фильтр, то свет будет буквально ослеплять матрицу камеры.

Инфракрасная подсветка Leap Motion

Инфракрасные фильтры подразделяют на несколько типов:

— обрезает только инфракрасное излучение. Такие фильтры можно встретить в большинстве современной фототехники. Веб-камеры, фотоаппараты, камеры мобильных телефонов и прочее. Устанавливается фильтр между матрицей камеры и объективом. Визуально его можно отличить по цветному исполнению. Фильтр может быть голубого, розового и других цветов, а на свету может переливаться всеми цветами радуги. Эти характеристики зависят от того, какой спектр волн необходимо обрезать.

— пропускает только инфракрасное излучение, а остальные волны видимого спектра обрезает. Данный фильтр, обычно, черного цвета. Применяются такие фильтры при производстве тепловизоров, так же широко используют фотографы для техники съемки именуемой «инфракрасная фотография», а в быту данный тип фильтра известен нам, как солнцезащитные очки. Данный фильтр применяется в рассматриваемом нами устройстве Leap Motion. Черная, глянцевая поверхность данного устройства и есть IR passing filter.

Таким образом, инфракрасная камера совместно с passing filter в LeapMotion необходима для того чтобы воспринимать только узкий инфракрасный спектр.

Захват кадра с камер Leap Motion

Но несмотря на то, что применение инфракрасной подсветки и физической фильтрации позволяют наиболее качественно подготовить изображения для дальнейшей программной обработки, данное устройство невозможно использовать при прямых солнечных лучах или при дополнительном инфракрасном освещении. Если LeapMotion будет расположен возле окна, через которое прямые лучи солнца будут попадать на устройство, то устройство уведомит Вас о том, что не может распознать изображение.

Распознавание рук происходит достаточно быстро, но скорость зависит от мощности компьютера на котором собственно и происходит обработка данных, полученных с двух камер.

К недостаткам можно отнести невозможность распознавать жесты, которые требуют повернуть руку ребром к устройству.

Leap Motion не качественно распознает жест

В данном случае координаты руки будут сбиваться и дергаться на экране, что вызывает сложности при необходимости совершения каких-то точных действий. Уверен, использовать Leap Motion для управления роботом-сапером я бы не стал 😉

Так же Leap Motion не распознает жесты в которых две руки соединяются вместе.

(фото: anijoin.by) Жесты которые не распознает Leap Motion

Приятно удивило обновление библиотек Leap Motion до второй версии. Заметно чувствуется, что алгоритмы распознавания стали более точными.

Если вы попали на эту статью в поисках ответа на вопрос: -«А стоит ли тратить время на технологию Leap Motion?», мой вам ответ: — «определенно стоит!».
На сегодняшний день Leap Motion является отличным и доступным инструментом для бесконтактного управления программным обеспечением или устройствами, в которых управление основано на простейших жестах рук. Leap Motion открывает новые горизонты для разработчиков программного обеспечения. Нет сомнений, что в будущем это устройство будет развиваться и в новых версиях будут учтены и исправлены все текущие ошибки и недостатки.

Надеюсь информация оказалась для Вас полезной.

Не секрет, что устройства ввода являются самой консервативной компьютерной периферией, которая с течением времени претерпевает лишь минимальные изменения в форме корпуса и обрастает новыми функциями, но принципы работы с ней остаются теми же самыми, что и тридцать (подумать страшно!) лет назад. Периодически на рынке появляются новые, уникальные с точки зрения разработчика проекты, которые в теории должны помочь этим долгожителям уйти на покой, но воз и ныне там. Между тем фантасты по-прежнему продолжают в своих книгах и фильмах рисовать нам картины, в которых люди недалёкого будущего управляют компьютером голосом и жестами. Первое на сегодняшний день уже всё-таки реализовано, хотя и на достаточно примитивном уровне, а за второе брались многие разработчики различных контроллеров, но в большинстве случаев получали весьма узкоспециализированное устройство, которое крайне неудобно использовать для всего сразу.

Малоизвестная компания OcuSpec выступила ещё с одним решением, позволяющим заменить компьютерную мышь, а заодно и сенсорную панель ноутбуков, которая так и не стала её полноценным аналогом. Технология Leap Motion , которую продвигает в массы OcuSpec, основана на захвате (сканировании) движений пальцев и кистей рук с последующей оцифровкой, что позволяет перемещать курсор одним взмахом руки в воздухе и запускать программу или открывать нужное окно, просто ткнув пальцем в пустоту. Звучит заманчиво, но перспектива конкуренции с обычной компьютерной мышью в будущем зависит от того, как точно реализован механизм оцифровки движений и насколько комфортно осуществляется сам процесс управления. Именно по этим признакам мы и постарались оценить практическое применение оригинального контроллера Leap Motion, а также попытались дать прогноз относительно дальнейшего развития этой технологии.

⇡ О технологии Leap Motion

Суть технологии Leap Motion заключается в сочетании пары инфракрасных камер и светодиодов, работающих в инфракрасном диапазоне и подсвечивающих рабочую зону. Камеры отслеживают движение рук в заданном участке пространства. Эта информация передаётся на компьютер, к которому подключён контроллер. Принятая информация обрабатывается с помощью специализированного ПО, после чего результат произведённого действия отображается на экране монитора. Программный комплекс Leap Motion распознаёт запястье, ладонь и пальцы двух рук отдельно, поэтому само по себе действие может быть абсолютно любым, начиная с нажатия клавиш на виртуальной клавиатуре и заканчивая имитацией стрельбы из виртуальной винтовки или сборкой какой-нибудь модели из виртуального конструктора. Никто не запрещает при помощи этой технологии рисовать или моделировать. Всё ограничено лишь фантазией разработчиков ПО.

Контроллер Kinect для консоли Xbox 360 и ПК под Windows — по сути, аналог Leap Motion

Сама по себе технология сканирования движущегося объекта не является революционной и активно используется в современной компьютерной мультипликации. Существуют подобные продукты и для домашнего пользователя. В основе их специализированное ПО и обычные веб-камеры или камеры, работающие в инфракрасном диапазоне. Наиболее известным и популярным на сегодняшний день аналогичным проектом является Kinect от Microsoft. Но этот контроллер позиционируется в основном как игровой. В недалёком прошлом были и попытки создать контроллер для управления ПК, правда, без возможности распознавания множества объектов, как у Leap Motion. Но до широкого круга потребителей эти устройства так и не добрались.

В том варианте исполнения, в котором Leap Motion производится сейчас, захват движения осуществляется в достаточно большом участке пространства над устройством. Пока кисти рук пользователя находятся в пределах этого объёма, устройство распознаёт каждое движение его пальцев. Впрочем, это совсем необязательно должны быть сами пальцы — в руки можно взять и инструмент в виде палочки, карандаша или кисти, имитируя таким образом процесс создания изображения.

Использование Leap Motion в составе очков виртуальной реальности

Технология Leap Motion пока ещё слишком молода, но команда, её создающая, весьма амбициозна и имеет далеко идущие планы. Уже сегодня встроенным модулем Leap Motion оснащаются некоторые модели ноутбуков HP, а на сайте производителя можно найти информацию об использовании устройства с очками виртуальной реальности. Сам модуль крепится с помощью специального комплекта на очки и сканирует пространство перед пользователем.

⇡ Комплектация

Комплект поставки Leap Motion

Контроллер поставляется в компактной, ничем особо не примечательной картонной коробке светлых оттенков. Мимо такой коробки легко пройти и не заметить, что перед вами только что промелькнуло уникальное устройство с технологиями будущего. Внутри, кроме самого модуля, были найдены лишь два кабеля с разъёмами microUSB 3.0 разной длины и краткое печатное руководство по началу работы.

⇡ Внешний вид и эргономика

Сравнение габаритов Leap Motion и обыкновенной зажигалки

Внешний вид контроллера Leap Motion

Контроллер без единой (даже сенсорной!) кнопки, да ещё и размером с зажигалку, легко вызывает неподдельный интерес даже у самого искушённого в современной технике пользователя. При этом выглядит этот малыш вполне серьёзно. Корпус Leap Motion изготовлен из металла, сверху закрыт полупрозрачным, практически чёрным стеклом, а нижняя часть выполнена из мягкого прорезиненного материала, препятствующего скольжению по ровной поверхности стола.

Интерфейсный разъём

На одной из длинных боковых граней металлического корпуса расположен светодиодный индикатор, информирующий пользователя о работе устройства, а один из торцов занят разъёмом стандарта miniUSB 3.0 (хотя само устройство оснащено интерфейсом USB 2.0) для подключения интерфейсного кабеля. Вся остальная поверхность корпуса не занята ничем, поэтому смотрится Leap Motion лаконично и предельно просто.

⇡ Leap Motion в работе

Контроллер Leap Motion с двумя кабелями из комплекта поставки

С подключением устройства не возникло никаких сложностей. Из комплекта поставки можно выбрать кабель подходящей для вашего случая длины и расположить миниатюрную коробочку как перед клавиатурой, так и за ней. Либо положить контроллер вообще где-нибудь сбоку — лишь бы вам было удобно.

Примечательно, что работа с Leap Motion возможна на компьютерах не только под управлением Windows или Mac OS, но и под Linux. Правда, для этого потребуется заняться самостоятельной адаптацией приложений, так как в официальных библиотеках разработчика выложено ПО только под первые две ОС. Самому адаптировать приложения для Leap Motion как под Linux, так и под две другие системы можно, воспользовавшись пакетом разработчика (SDK), который бесплатно доступен для скачивания с сайта производителя. Более того, всё имеющееся специализированное ПО для Leap Motion отчасти ориентировано именно на разработчиков, которым потребуется снимать текущие показатели при работе и проводить отладку.

Утилита визуализации действий с Leap Motion

Менеджер установленных приложений

После установки основного пакета ПО в системе появляется приложение для настройки Leap Motion Control Panel, утилита визуализации Leap Motion Diagnostic Visualizer, предназначенная для проверки устройства и его отладки, а также программа Leap Motion App Home, представляющая собой менеджер установленных в системе приложений, которые совместимы с контроллером Leap Motion.

Настройка Leap Motion

Контроллер готов к работе сразу после установки и может использоваться без проведения дополнительных настроек. Но если вы разработчик, то без Leap Motion Control Panel вам не обойтись. Впрочем, кое-что здесь найдётся и для простого пользователя. Например, можно задать высоту, до которой контроллер будет сканировать пространство над собой.

Работа с интернет-сервисом Leap Motion App Store

Настройки выбора приложений в Leap Motion App Store

Для Leap Motion организован собственный интернет-сервис App Store , где можно найти различные приложения, демонстрирующие возможности устройства, а также простенькие игры. Приложений в библиотеке на момент тестирования было чуть больше двух сотен. Причём большинство из них (126 против 93) распространяются на платной основе. Стоимость их варьируется от $1 до $15. Несколько странно видеть такое количество платных программ для устройства, которое производитель пока лишь пытается удержать на рынке.

Примеры игр и обучающих приложений для Leap Motion

Мы тестировали лишь бесплатные приложения и игры. Трёхмерный тетрис, кегли, дартс, настольный футбол, несложные аркады — имеющиеся игры предельно просты по своей сути и в большей степени предназначены для того, чтобы позабавиться с контролером, нежели чтобы получить удовольствие от процесса игры. То же самое касается и остальных приложений. Среди них есть редактор для создания трёхмерных форм, музыкальные редакторы и имитаторы музыкальных инструментов, графические редакторы, имитирующие работу кистью, весьма забавные программы, обучающие пользователя биологии, физике и астрономии, но какую-то практическую пользу все эти приложения принести вряд ли могут. Почти все они лишь демонстрируют пользователю возможности самого контроллера. Для большинства из них существуют куда более сложные аналоги, работающие с клавиатурой и мышью в качестве устройств ввода.

Работа с приложением Shortcuts

Но одно дело — специализированное ПО, а совсем другое — приложения для управления компьютером и операционной системой, работа с Интернетом, офисными документами и прочее. Для этого первым пунктом в App Store записана программа Shortcuts, превращающая ПК в некое подобие планшета с сенсорным экраном. Это приложение доступно для установки как под Windows, так и под Mac OS. После установки Shortcuts перед началом работы лучше посмотреть видеоруководство, потому как разобраться во всех тонкостях управления опытным путём будет непросто. Впрочем, возможностей пользователю Shortcuts предоставляет немного. Среди них есть пролистывание текста, переключение между окнами и управление медиаплеером. С таким функциональным набором можно лишь читать интернет-новости и пересматривать видеоролики.

Приложение Shortcuts распространяется бесплатно, но в библиотеке App Store есть и платные утилиты для управления стандартными функциями ОС. Впрочем, их возможности в любом случае ограничены аппаратными возможностями самого контроллера, поэтому ждать чего-то кардинально отличающегося от того, что демонстрирует Shortcuts, не стоит.

⇡ Впечатление от использования

На сайте производителя утверждается, что с Leap Motion пользователь сможет работать с компьютером свободно и естественно. Свободно — может быть, а вот по поводу естественности возникают некоторые сомнения. Естественно — это когда человек не взмахом руки перемещает какой-либо предмет, а берёт его в руки и совершает работу по перемещению. На первый взгляд кажется, что фантастический вариант куда проще: махнул — и порядок! А если махать приходится непрерывно? Очевидно, что руки могут устать довольно быстро. Этот фантастический метод оправдан только для перемещения больших грузов. Если же речь идёт о компьютерной мыши, которую к тому же надо не поднимать, а просто тащить по поверхности, выгода фантастического способа уже не кажется такой однозначной.

Так же и с Leap Motion. Помахав в течение получаса руками, чувствуешь заметную усталость. Возникает желание опереться локтем на что-нибудь, а потом и вовсе опустить кисть на стол. Наверное, приблизительно так же чувствует себя дирижёр в оркестровой яме после концерта. Кроме того, если клавиатуру и мышь любой пользователь рассматривает исключительно как инструмент и на сам процесс управления с их помощью практически не обращает никакого внимания, то в случае с Leap Motion всё наоборот. Здесь в центре внимания находится контроллер, а пользователь сосредоточен на том, чтобы корректно выполнить задуманное действие. Работу с Leap Motion можно сравнить с работой каменотёса, которому всегда приходится сосредотачиваться на том, куда и под каким углом ему поставить свой инструмент и с какой силой по нему ударить молотком.

⇡ Итоги

Вне всякого сомнения, технология Leap Motion заставляет по-новому взглянуть на принципы управления компьютером, но на данном этапе её развития говорить о какой-либо революции ещё слишком рано. Основная проблема заключается в том, что как аппаратная, так и программная составляющие комплекса в части точности повторения движений кисти и пальцев довольно сырые, а комфорт управления недостаточно проработан. Кроме того, сам по себе процесс управления, при котором руки пользователя не находят опоры, не является чем-то естественным для человека, что несёт в себе сразу две проблемы: отсутствие тактильной обратной связи и банальную усталость, которая накапливается с Leap Motion в разы быстрее, чем при работе с традиционной мышью, клавиатурой или джойстиком. Именно последние два обстоятельства заставляют задуматься о том, что Leap Motion или подобные технологии вряд ли в обозримом будущем вытеснят методы управления, основанные на тактильном взаимодействии. Выступать в виде приятного приложения к ним — да, на это они могут претендовать. Но не более того.

Что касается самого устройства: если вы рассматриваете Leap Motion в качестве полноценного контроллера для управления домашним компьютером или ноутбуком, то в этом случае вы вряд ли останетесь довольны покупкой. Если же вы представляете ту группу пользователей, которые с интересом изучают всё новое, или являетесь разработчиком ПО, то о потраченных деньгах жалеть не будете. Вот только надо быть готовым к тому, что затраты не ограничатся стоимостью самого контроллера, ведь многие программы из фирменного сервиса приложений Leap Motion являются платными, что на данном, практически младенческом этапе развития технологии выглядит по меньшей мере странно.

К нам в кеддроофис заскочил необычный гаджет — Leap Motion, который был представлен в прошлом году и навел немало шуму. Его создатели всерьез нацелены переосмыслить управление интерфейсами, главная цель — заменить мышку. Не уверен, что так все и будет, все же, держать руки на столе удобнее, а постоянно размахивая ими быстро устаешь. Но некоторые задачи точно будет удобнее выполнять при помощи подобного сенсора. К примеру, игры, ведь для всевозможных аркад и таймкиллеров, при помощи которых можно расслабиться и забыть про работу минут на 20, Leap Motion подойдет отлично.

Как вся эта штука работает? В двух словах, перед устройством образуется некий куб, со стороной в 60 см, в котором с большой точностью распознаются движения ваших пальцев. Уже сейчас Leap Motion распознает все 10 пальцев, причем точность их перемещения улавливается до долей миллиметра. Задержка также минимальная. Но лаги случаются и, пока что, довольно часто. К примеру, даже в демо-приложении пропадают пальцы, если ими двигать и вращать. А порою кажется, что палец отрывается. Тем не менее, уже сейчас работа хорошая и в приложениях, по типу Cut The Rope, где задействуется только один палец, лаги случаются редко. А вот Google Earth мне приручить так и не удалось, земля панически вращается в моих руках, а потом я сразу оказываюсь под водой. И так все время.

Leap Motion — это не просто железяка, это целая экосистема. Было бы бессмысленно, если бы Leap Motion мог похвастаться только демками. Нет, разработчики создали некий хаб для компьютеров (Mac и PC) — Airspace. Тут вы видите все, что уже загрузили/приобрели. Также есть веб-магазин приложений — Airspace Store . Здесь надо зарегистрироваться, после чего можно приступать к покупкам. В основном приложения платные, есть категории, есть разделы только для Mac и только для Windows. После приобретения приложения или игры, найти покупку можно в хабе, оттуда происходит и загрузка. Если вы залогинитесь на другом компьютере, все ваши покупки синхронизируются.

Сам Leap Motion представляет из себя компактную коробочку, размером с 128-ГБ флешку. Корпус сделан из алюминия, стекла и прорезиненной нижней части, которая не позволяет устройству ерзать по столу. К компьютеру Leap Motion подключается при помощи USB-кабеля, похожего на таковые для внешних 2,5″ винчестеров. В комплекте есть 2 таких кабеля, один длиной метр, другой в два раза короче. После подключения LM к компьютеру, все, что останется сделать — установить приложение, которое можно загрузить на сайте, и зарегистрировать свое устройство.

Пока что это не более, чем игрушка. Единственное полезное приложение, которое мне удалось найти — Touchless for Mac, превращающее LM в трекпад. Но пользоваться им, опять же, очень тяжело. Я бы даже сказал — нереально. Пока что Leap Motion — это просто развлечение для друзей, демонстрация возможностей при помощи демо-приложений и игр. Но, одновременно — это первый шаг в будущее. Думаю, года через два мы сможем увидеть подобное устройство не в одном ноутбуке.