Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Боевое знакомство с Leap Motion

Anna | 17.06.2014 | нет комментариев

Прогр, здравствуй!

Сегодня я хотел бы рассказать о простеньком приложении для небольшого, но увлекательного гаджета, нечаянно попавшего мне в руки (да еще и даром!).
Рассматривать и пробовать будем девайс под наименованием LeapMotion, тот, что красуется на сайте за «притягательные» 79.99$…
О нем речь и пойдет дальше.

Для начала несколько слов о самом устройстве. Это небольшой, схожий на флешку приборчик, тот, что захватывает движение ваших рук. Продвигается как некоторый «убийца» kinect-a. Подробнее о нем дозволено прочитать на wiki.

Попал он ко мне, как теснее говорил, по чистой случайности, на hackathon-е от мелкоMicrosoft, где данный гаджет являлся один из направлений разработки. Стоит так же сказать, что статьи об этом чуде устройстветеснее возникали на просторах програ, впрочем, ясного русскоязычного туториала найдено не было.

Впрочем, ближе к делу.
Само действие длилось каждого около 6 часов, следственно мне и команде предстояло разобратся в новой для себя спецтехнологии на лету. Разрабатывать было решено аналог кубика-рубика, а применять для этих средств Unity3d, тот, что как невозможно подходит для такой задачи. Документация нашлась стремительно и мы приступили.

Дальше обо каждому по порядку.

1) Драйвера

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

2) SDK

Сам SDK содержит в себе комплект библиотек, нужных для разработки и пример работы: UnitySandbox, тот, что по сути является тем же приложением, указывающем на строение вашей руки. Исключительным изменением является то, что нам дадут пощупать подлинный кубик! Тот, что мы можем поднимать и спускать, увеличивать и делать другие всевозможные пакости с бедным кубом.
Интересности SDK на этом заканчиваются.

3) Приложение

Так как применять примеры из SDK — это не увлекательно, пришлось вертеть личный велосипед для работы с этим чудом.
Ну начнем. Для начала сотворим план и добавим в папку с библиотеками следующие dll-ки, которые возьмем из скачанного SDK (для x86):
x86/LeapCSharp.dll
x86/Leap.dll

Дальше складываем в наш Assets folder файл LeapCSharp.NET.3.5.dll.
После этого создаем скрипт с подлинным наименованием LeapBehavior, приписываем его к main camera и добавляем в него дальнейший код:

LeapBehavior.cs
using UnityEngine;
using System.Collections;
using Leap;

public class LeapBehavior : MonoBehaviour {
    Controller controller;

    void Start ()
    {
        controller = new Controller();
    }

    void Update ()
    {
        Frame frame = controller.Frame(); //Создаем фрейм
        if(controller.IsConnected) //Проверяем, что наше устройство подключено
        {
             Frame frame = controller.Frame(); //Устанавливаем конечный фрейм(по умолчанию)
             Frame previous = controller.Frame(1); //...и сберегаем предшествующий
             Debug.Log(frame.Fingers.Count); //Выведем сколько пальцев уловил наш сенсор
        }
    }
}

Пара слов о Controller и Frame. 1-й необходим для управления и контроля за самим девайсом, а Frame содержит в себе все, что смог «увидеть» наш Диво гаджет в данный момент. Frame так же может воротить списки увиденных рук, кистей, пальцев и все другие прелести.
frame.Fingers.Count вернет нам размер списка, тот, что содержит все пальцы, увиденные прибором.

Проверим — работает.

Впрочем есть несколько тонкостей. Во-первых Leap motion, дюже Зачастую, считает сведенные совместно пb4ZE?wmode=opaque” frameborder=”0″ allowfullscreen=”"/>

Видно, что в первой части видео куб изредка бросает в различные стороны когда оба пальца слишком близко. Связано это с несовершенством датчиков, которые изредка не могут различить настоящие координаты пальцев.
С точностью определения координат всякого пальца в отдельности задач нет. Устройство реагирует очевидным изменением координат даже на легкое движение руки, при попытке удержать ее на одном месте.
То есть в перспективе с поддержкой Leap motion дозволено сделать недурной симулятор тетради. Настраивается он особым пером, к которому впрочем не удалось прикоснутся, так как настройка была проведена задолго до нас.

Как только план будет доведен до конца здесь появится ссылка на его исходники.

Спасибо.

P.S. Также я признателен своим друзьям, участвовавшим в этом мероприятии и помогавшим мне в освоении этого чудесного девайса!

Источник: programmingmaster.ru
Оставить комментарий
БАЗА ЗНАНИЙ
СЛУЧАЙНАЯ СТАТЬЯ
СЛУЧАЙНЫЙ БЛОГ
СЛУЧАЙНЫЙ МОД
СЛУЧАЙНЫЙ СКИН
НОВЫЕ МОДЫ
НОВЫЕ СКИНЫ
НАКОПЛЕННЫЙ ОПЫТ
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB