2015-01-20 8 views
1

В настоящее время я разрабатываю приложение в Unity, которое использует жест движка прыжка. Нельзя надевать ручку рукой в ​​вертикальном положении. Может кто-то может помочь с помощью Жест, который использует Руку вместо пальцев. СпасибоLeap motion Ручная салфетка

+0

Является ли это активом из магазина активов? Если это так, вы, вероятно, должны отправить электронное письмо разработчику за помощью. – Savlon

ответ

1

Я нахожу, что с вертикальной стороны вы можете промахнуться хотя бы одним пальцем рядом с началом жестов пользователя. Учитывая это, самый простой способ обойти проблему с вертикальными стрелками - это, вероятно, активировать поведение вашего салфетки с помощью встроенного жесты салфетки, но затем отслеживать руку «вручную», пока вы не решите, что салфетка закончилась. Например, ваша логика может быть примерно такой:

Ваше приложение имеет состояние NOT_SWIPING и SWIPING.

В состоянии NOT_SWIPING вы должны исследовать встроенные объекты жестов в каждом кадре. Если есть объект жестов, который соответствует вашим критериям (например, может потребоваться, чтобы он был в основном горизонтальным), вы устанавливаете приложение в состояние SWIPING, сохраняете объект Hand и начинаете любую реакцию в своем приложении, на которую влияет прокрутка.

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

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

Смежные вопросы