2017-02-05 15 views
1

Я делаю игру, в которой система сохранения и загрузки будет отображаться, когда я окажусь перед моей ладонью. Проблема в том, что я не знаю, как я могу определить, обращена ли моя ладонь. Все, что я знаю, это то, как получить расстояние и положение на ладони.Как определить, направлен ли рука в прыжке вверх (C#) Unity

Я попытался это:

using Leap; 
using Leap.Unity; 

public class GetPamlPositionLeap : MonoBehaviour { 
LeapProvider provider; 
// Use this for initialization 
void Start() { 
    provider = FindObjectOfType<LeapProvider>() as LeapProvider; 
} 

// Update is called once per frame 
void Update() { 
    Frame frame = provider.CurrentFrame; 
    Hand hand = frame.Hand [0]; // cannot apply indexing 
    Vector position = hand.PalmPosition; 
    Vector direction = hand.Direction; 

    Debug.Log ("The position of hand is" + position + "The direction of hand is" + direction); 
} 
} 

Но он возвращает ошибку:

cannot apply indexing to an expression type

ответ

1

Try *

Hand hand = frame.Hands[0]; 

Чтобы решить, будет ли ладонь обращена вверх, сравнить Hand.PalmNormal с вектором, который указывает вверх - однако вы определяете «вверх».

Поскольку вы используете новые ресурсы Orion для Leap Motion, вы также можете использовать скрипт PalmDirectionDetector.

* У плохого выбора дизайна есть функция с именем Hand() и массив с именем Hands.

+0

Можете ли вы показать мне образец этого сэра. пожалуйста, – TheGinxx009

+0

Смотрите функцию palmWatcher здесь: https://github.com/leapmotion/UnityModules/blob/develop/Assets/LeapMotion/Scripts/DetectionUtilities/PalmDirectionDetector.cs –

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

  • Нет связанных вопросов^_^