小工具知识网

当前位置: 首页 > 行业知识 > Manomotion 实现AR手势互动-解决手势无效的问题

行业知识

Manomotion 实现AR手势互动-解决手势无效的问题

2026-11-10 23:03:26 来源:互联网转载

之前就���过 Manomotion ,现在有新需求,重新接入发现不能用了,不管什么办法,都识别不了手势,我记得当初是直接调用就可以的。

经过研究发现,新版本SDK改了写法。下边就写一下新版本的调用,并且实现一个简单的工具脚本。初学者可以参考一下。

主要步骤包含:

1.官网注册

2.创建APP

3.获得APIKey

4.下在SDK导入项目

5.测试使用。

工具脚本如下:

 using UnityEngine; public class ManoHandDetection : MonoBehaviour{    private bool pick = false;    public bool isPick    {        get        {            if (pick)            {                pick = false;                return true;            }            return false;        }    }    private bool drop = false;    public bool isDrop    {        get        {            if (drop)            {                drop = false;                return true;            }            return false;        }    }    private bool click = false;    public bool isClick    {        get        {            if (click)            {                click = false;                return true;            }            return false;        }    }    private void Start()    {        ManomotionManager.Instance.ShouldCalculateGestures(true);    }    // Update is called once per frame    void Update()    {        GestureInfo gestureInfo = ManomotionManager.Instance.Hand_infos[0].hand_info.gesture_info;        DetectionGestureInfo(gestureInfo);    }    private void DetectionGestureInfo(GestureInfo gestureInfo)    {        if (gestureInfo.mano_gesture_trigger != ManoGestureTrigger.NO_GESTURE)        {            switch (gestureInfo.mano_gesture_trigger)            {                case ManoGestureTrigger.DROP:                    drop = true;                    break;                case ManoGestureTrigger.PICK:                    pick = true;                    break;            }        }    }    public Vector3 Get_PalmPos()    {        return ManomotionManager.Instance.Hand_infos[0].hand_info.tracking_info.palm_center;    }    public Vector3 Get_POI()    {        return ManomotionManager.Instance.Hand_infos[0].hand_info.tracking_info.poi;    }   }

需要注意的是:

1.新版SDK 需要在Start调用一次Gesture 功能打开开关。

 ManomotionManager.Instance.ShouldCalculateGestures(true);

这个开关可以动态打开、关闭。

2.包名要和Manomotion官网保持一致。

3.Key填写的位置ManomotionManager.cs 脚本上。

上一篇:宝塔面板怎么拆?

下一篇:原生住宅服务器怎么用?