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

Приветствую вас дорогие падаваны. Думаю, многие из вас еще помнят детскую песенку – "Мы писали, мы писали, наши пальчики устали…"? Сегодня мы с вами поговорим о том, как бы наши пальчики размять и попробовать что-то новенькое и интересное.
В процессе работы с компьютерами, особенно с мышью и клавиатурой руки со временем начинают быстро уставать, особенно от мыши. Конечно, можно воспользоваться планшетом и как-то увеличить пространство работы руки и количество жестов.
Но есть еще один метод разнообразить свою работу и взаимодействие с компьютером. В 2012 году, небольшой стартап создал полноценную реализацию бесконтактного контроллера, стартап носит имя Leap Motion, об одноименном контроллере мы сегодня и поговорим.

Вы скажете, что данный контроллер может быть полезен и интересен только гикам, но на самом деле это достаточно продуманная и мощная платформа для развлекательных и профессиональных приложений. Его можно применять и в образовательной деятельности, детям понравится играть в простые, но в тоже время увлекательные игрушки, развивая моторику кистей рук и пальцев. А профессиональные пользователи потихоньку обзаводятся мощным инструментом, привносящим новую концепцию в цифровой скульптинг и оцифровку движений. Вот о таких возможностях мы и поговорим в данной статье. Еще в 2013 году, разработчики компании Autodesk анонсировали поддержку контроллера Leap Motion в пакете Autodesk Maya. 2014 версия пакета получила небольшой, но в тоже время мощный набор расширений для работы с Leap Motion. Итак, давайте начнем наше знакомство с контроллером Leap Motion.

Комплект поставки Leap Motion
Разработчики Leap Motion явно были вдохновлены продукцией небезызвестной компании Apple, свое устройство они упаковывают в компактную коробочку с удобным пластиковым держателем для контроллера и двумя проводками для подключения его к компьютеру. Главное различие данных проводков в длине. Более длинный провод можно прокинуть вокруг компьютера или дотянуться до стола от системного блока. А короткий провод отлично подходит для применения с ноутбуками.
Из бумажных вкладышей лежит только приветственная карточка, которая накрывает сверху контроллер и не дает ему болтаться при транспортировке.

Подключение устройства и установка драйвера
Устройство максимально просто подключить к компьютеру. Для этого просто выбираете кабель по длине и одним концом подключаете его к компьютеру, а вторым к самому устройству. Соблюдать определенную последовательность особо и не требуется. Затем, зайдя на официальный сайт Leap Motion, загружается программное обеспечение с драйвером и необходимым программным обеспечением для выполнения калибровки и настройки контроллера.
Установить программное обеспечение не составит большого труда. Создатели контроллера позаботились о пользователях и сделали данную процедуру максимально удобной. Отметим, что контроллер может быть использован на всех трех основных платформах – Apple Mac OS X, Microsoft Windows и Linux.
После установки программного обеспечения будет автоматически запущено приложение Leap Motion, предоставляющее быстрый доступ к настройке контроллера, специальному порталу приложений Leap Airspace и ряду других функций.

Значок и меню контроллера Leap Motion в строке меню Mac OS X.
Первое что рекомендуется сделать – выполнить базовую настройку контроллера. Для этого в приложении Leap Motion выберите Settings и в соответствующем диалоговом окне осуществите настройку устройства.

Диалоговое окно Leap Motion Control Panel с основными параметрами контроллера.
Если необходимо повысить точность слежения, данную настройку можно выполнить с помощью вкладки Tracking. А для проверки работоспособности устройства рекомендуем воспользоваться вкладкой Troubleshooting и использовать специальную утилиту Diagnostic Visualizer. С его помощью вы сможете отследить работу контроллера и внести изменения в параметры.

Диалоговое окно Diagnostic Visualizer для проверки работоспособности контроллера Leap Motion.
Когда вы настроите контроллер и "наиграетесь" со стандартными и предлагаемыми в Airspace приложениями, вы можете опробовать его применение в профессиональной деятельности и воспользоваться реализацией Leap Motion для Autodesk Maya 2014 и других программ.

Leap Motion plug-in для Autodesk Maya 2014
Компания Autodesk объявила об официальной поддержке контроллера Leap Motion в своих приложениях практически сразу после его анонса и презентации. Однако на данный момент реализована интеграция только с Autodesk Maya 2014, но как заявляют разработчики, данная интеграция в последующих версиях будет постепенно расширяться, и пополняться новыми возможностями. Набор расширений Leap Motion для Autodesk Maya 2014 можно загрузить из двух мест. Первое – магазин приложений Autodesk Exchange | Apps, а второй это специальная страница на сайте AREA.

Страница Leap Motion plug-in for Maya 2014 в магазине Autodesk Exchange | Apps.
Если вы обладаете подпиской Autodesk или зарегистрированы в сервисах Autodesk под единой учетной записью, вы можете бесплатно загрузить Leap Motion plug-in и установить его на свой компьютер. Поддерживается Autodesk Maya 2014 и платформы Mac OS X и Microsoft Windows.

Страница Leap Motion plug-in for Maya 2014 на портале Autodesk AREA.
В отличие от Exchange | Apps, на портале AREA можно посмотреть вводные видео-уроки по работе с контроллером в среде Autodesk Maya и загрузить примеры сцен.
Установка расширения Leap Motion для Maya не занимает много времени, практически все приложения в Exchange | Apps проходят проверку и создаются специальные инсталляторы с минимальным набором различных параметров.
По умолчанию, после загрузки расширения Leap Motion, в Maya будет создана полка с именем Leap. С ее помощью и выполняется активизация контроллера напрямую из Maya. Если же полки не появилось, рекомендуем проверить Plug-in Manager (Window => Settings / Preferences => Plug-in Manager) и удостовериться, что расширение Leap Motion установлено и определилось Maya. Обычно бывает необходимо поставить галочки Loaded и Auto Load для того, чтобы модель расширения автоматически подгружался при запуске Maya или сцены содержащей узлы, связанные с данным модулем расширения.

Полка Leap на панели Shelfs и активный модуль расширения LeapMotion.mll в Maya Plug-in Manager.
Для активизации контроллера Leap Motion вы можете воспользоваться кнопкой на полке с изображением самого устройства. После того как будет выполнена активизация: в сцену будут добавлены несколько новых узлов: leapHandle, leapGestures и leapGrab. Помимо узлов расширение Leap Motion создает несколько взаимосвязанных объектов: которые имитируют кисти рук и кончики пальцев. По умолчанию это два локатора и 10 сфер. Воздействие на объекты и связи с ними оказывают именно сферы.

Активный контроллер Leap Motion и созданная для него оснастка в Maya. В окне проекций отображается левая рука пользователя.
Для чего может пригодиться контроллер Leap Motion? Вопрос достаточно необычный, учитывая что это средство для захвата положения и движения рук. Разработчики расширения для Maya позиционируют его как средство для навигации в виртуальном пространстве, инструмент для манипуляции объектами, контроллер для анимации и инструмент для цифрового скульптинга.


Видео-демонстрация. Загрузка расширения Leap Motion из Autodesk Exchange | Apps и активизация контроллера в Maya.
Согласно представленным разработчиками примерам, устройство вполне способно реализовать все заявленные возможности. В начале работы с контроллером и Maya придется слегка привыкнуть к его поведению, но освоившись вы быстро сможете найти ему применение в одной из представленных выше областей.

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

Вид сцены с положения камеры позиционируемой с помощью Leap Motion.
На представленном ниже видео наглядно показано как осуществляется позиционирование камеры с помощью контроллера Leap Motion.

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

Скульптинг с помощью Leap Motion
А вот тема, ради которой я стал исследовать Leap Motion это скульптинг. Всем известно, что Maya обладает возможностями по лепке и редактированию геометрии с помощью кистей. Конечно, не так удобно как в том же Autodesk Mudbox, но в тоже время достаточно для понимания общих принципов лепки в цифровом пространстве.
Кто-то может воспротивиться и сказать, что в Maya инструменты скульптинга более чем плохи и непригодны, но я отвечу так: "Ребята, подождите следующей версии…, вы приятно будете удивлены!". Что же касаемо реализации Leap Motion в Maya и поддержке скульптинга, на данный момент данная технология реализована на очень раннем этапе, и может быть пригодна для создания несложных моделей, а по сути создания общих заготовок для последующей ретопологии и детализации руками и с помощью Modelling Toolkit.

Видео-демонстрация. Базовая сцена для демонстрации скульптинга с помощью Leap Motion.
Рассмотрим детальнее, как же реализована поддержка скульптинга в Maya с помощью Leap Motion. Чтобы начать работать с деформацией геометрии используя Leap Motion необходимо выделить объект для скульптинга и ввести в Script Editor команду на Python:

leapHandler.leapMayaDeformer();

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

Граф связей между объектом сферы и узлами Leap Motion. За деформацию объекта отвечает узел leapDeformer.
Узел деформации leapDeformer может работать в трех режимах: push, pull и pushPull. Причем третий режим позволяет выполнять эти действия толкания и вытягивания одновременно. Как и в любом другом редакторе цифрового скульптинга, контроль усилия и радиуса воздействия могут быть настроены в соответствии с желаниями пользователя. За это в leapDeformer отвечают атрибуты Radius и Power.

Интерфейс узла leapDeformer с основными параметрами.
Если же вам не хочется, чтобы ваши действия были сохранены, а модель не деформировалась, можно просто снять флажок с атрибута Permanent. Это позволит просто и без лишних деформаций сконфигурировать leapDeformer.
Группа отдельных атрибутов, представляющих каждый из доступных пальцев, позволяет активизировать применение только определенных пальцев вашей руки и ограничить воздействие большого количества точек. При этом, вы спокойно сможете использовать искусственные конструкции, например такую как палочка с белым шариком.
Отдельного внимания заслуживает скульптинг на больших поверхностях. По умолчанию контроллер настроен на небольшой масштаб работы и если вам хочется выполнить деформацию геометрию с помощью Leap Motion то необходимо внести правки в атрибуты узла leapHands.
Допустим, если модель создана в размене 250 х 300 см, то соответственно необходимо увеличить масштаб leapHands с 0.05 до 0.1 или 0.25. Тогда, положение сфер и локаторов кистей рук будет соответствовать масштабу объекта.


Видео-демонстрация. Пример скульптинга на большой модели с адаптированным параметром Scale в leapHands.

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

Видео-демонстрация. Пример трансформации рук цифрового персонажа с помощью Leap Motion. © Autodesk Inc.
Помимо этого, контроллер Leap Motion уже использовался в представленной на SIGGRAPH 2014 системе сферического дисплея, о которой мы писали в одной из новостей. В данном случае, пространство окна проекции может быть выведено на сферическую поверхность и с помощью контроллера Leap Motion выполняется управление камерой, а также операции по моделированию. В примере с дисплеем Spheree был использован бесплатный Blender со своей реализацией поддержки Leap Motion.

В заключение хочется поблагодарить ГК "ИНФАРС" и лично Антона Диденко за предоставленную возможность опробовать Leap Motion на практике и написать данный скромный пост.
А для всех желающих могу посоветовать загрузить презентацию, которую мы подготовили для демонстрации данного устройства на стенде в рамках Autodesk University Russia 2014.
В следующий раз, мы поговорим об реализации Leap Motion в развлекательных приложениях и посмотрим на пару интересных программ которые используют возможности данного контроллера.

0
RENDER.RU