在Unity3D中无法识别“跳跃运动”圆圈和滑动手势

时间:2019-04-25 18:13:21

标签: unity3d gesture leap-motion

我一直在尝试实现跳跃动作提供的标准手势,例如圆圈手势和滑动手势,但它们似乎都不起作用。我很难理解为什么API中存在的大多数方法都无法在Unity中识别。

下面是我用来圈出手势的代码。

using UnityEngine;
using System.Collections;
using Leap;

public class LeapTest : Leap.Listener {
    public Leap.Controller Controller;

    // Use this for initialization
    public void Start () {
        Controller = new Leap.Controller(this);
        Debug.Log("Leap start");
    }

    public override void OnConnect(Controller controller){
        Debug.Log("Leap Connected");
        controller.EnableGesture(Gesture.GestureType.TYPECIRCLE,true);
    }

    public override void OnFrame(Controller controller)
    {
        Frame frame = controller.Frame();
        GestureList gestures = frame.Gestures();
        for (int i = 0; i < gestures.Count; i++)
        {
            Gesture gesture = gestures[0];
            switch(gesture.Type){
                case Gesture.GestureType.TYPECIRCLE:
                    Debug.Log("Circle");
                    break;
                default:
                    Debug.Log("Bad gesture type");
                    break;
            }
        }

但是,当我将此代码放入unity3D时,它无法识别上述代码中的以下代码行:

Leap.Controller 
.EnableGesture(Gesture.GestureType.TYPECIRCLE, true);
GestureList gestures = frame.Gestures();

我不明白我在这里缺少什么,还是贬值了?请,有人可以解释吗?谢谢

1 个答案:

答案 0 :(得分:0)

在Orion(v3及更高版本)中不推荐使用手势,因此,如果您使用的是Leap Core Assets的Orion版本之一,则会收到此错误。如果要使用这些手势,仍可以使用v2资产,否则,您需要自己实现它们。