我一直在尝试实现跳跃动作提供的标准手势,例如圆圈手势和滑动手势,但它们似乎都不起作用。我很难理解为什么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();
我不明白我在这里缺少什么,还是贬值了?请,有人可以解释吗?谢谢
答案 0 :(得分:0)
在Orion(v3及更高版本)中不推荐使用手势,因此,如果您使用的是Leap Core Assets的Orion版本之一,则会收到此错误。如果要使用这些手势,仍可以使用v2资产,否则,您需要自己实现它们。