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

之前就玩过 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 framevoid 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 脚本上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好书推荐 《Excel函数与公式应用大全for Excel 365 Excel 2021》

一.基本介绍 1.什么是 Excel? Excel 是微软公司开发的一款电子表格软件,是 Microsoft Office 套件的一部分。它被广泛用于数据处理、分析、可视化和管理等方面。Excel 提供了丰富的功能,使用户能够创建、编辑、存储和分享各种类型的数据表格。 2.Exc…

Golang Channel 详细原理和使用技巧

1.简介 Channel(一般简写为 chan) 管道提供了一种机制:它在两个并发执行的协程之间进行同步,并通过传递与该管道元素类型相符的值来进行通信,它是Golang在语言层面提供的goroutine间的通信方式.通过Channel在不同的 goroutine中交换数据,在goroutine之间…

代码随想录Day66 | 图的DFS与BFS

代码随想录Day66 | 图的DFS与BFS DFS797.所有可能的路径无向图和有向图的处理 BFS200.岛屿数量 DFS 文档讲解:代码随想录 视频讲解: 状态 本质上就是回溯算法。 void dfs(参数) {if (终止条件) {存放结果;return;}for (选择:本节点所连接的…

『运维备忘录』之 Shell 内置命令大集合

前言 在 Shell 中,有许多内置命令可用于执行各种任务,包括文件操作、进程管理、环境变量设置等。本文将详细介绍一些常见的Shell内置命令及其示例用法。 命令描述alias创建命令别名,用于将命令或命令组合关联到用户自定义名称bg将作业放入后…

Qt textBrowser的Html相关

Qt textBrowser的Html相关 Qt textBrowser的Html相关 Qt textBrowser的Html相关 一开始就想要一个简单的功能,点一下按钮,添加的文字居中显示,再点一下按钮,添加的文字变更颜色居右显示。 但是: ui->textEdit-&g…

WordPress免费的远程图片本地化下载插件nicen-localize-image

nicen-localize-image(可在wordpress插件市场搜索下载),是一款用于本地化文章外部图片的插件,支持如下功能: 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章…

python类的属性、方法、静态方法、静态方法类内部的调用、直接调用与实例化调用

设计者:ISDF工软未来 版本:v1.0 日期:2024/3/4 class Restaurant:餐馆类def __init__(self,restaurant_name,cuisine_type):#类的属性self.restaurant_name restaurant_nameself.cuisine_type cuisine_type# self.stregth_level 0def desc…

基于机器学习的密码强度检测

项目简介 利用机器学习对提供的数据集预测用户输入的密码是否为弱密码。 原始数据集只包含关于弱密码的信息,并没有包含强密码的数据或分类器,这意味着模型无法学习到强密码的规律!!! 我之所以这样设计这个示例,其目的是为了向你展示模型的…

python65-Python的循环之for表达式

for表达式用于利用其他区间、元组、列表等可迭代对象创建新的列表。for 表达式的语法格式如下: [表达式 for 循环计数器 in 可迭代对象] 从上面的语法格式可以看出,for表达式与普通for循环的区别 1)在for关键字之前定义一个表达式,该表达式通常会包含循环计数器 2)for …

@RestController和@Controller的区别

RestController和Controller是Spring框架中两个常用的注解,用于标识Controller类 1.Controller:使用Controller注解标记的类是一个典型的MVC控制器(controller),用于处理请求并返回视图。通常在该类的方法上使用Reque…

alzet供应商你值得拥有

在20世纪70年代,ALZE公司研发出来一款巧妙的药物输送装置——Alzet osmotic pump。这款产品如胶囊般精致小巧,它既有胶囊的外表,也具有胶囊的作用。在Alzet osmotic pump中藏有可以装配药物溶液的空间。此款胶囊泵如同一个小投递员&#xff0…

Vue整合three.js 环境从头搭建 详细教程

目录 一、创建Vue项目 二、搭建three.js 三、引入扩展库OrbitControls 首先我们要有nodejs环境,这里我们用的是17.1.0版本。 一、创建Vue项目 第一步:终端命令创建vue项目 npm create vite@latest

AI蠕虫病毒威胁升级,揭示AI安全新危机

一组研究人员成功研发出首个能够通过电子邮件客户端窃取数据、传播恶意软件以及向他人发送垃圾邮件的AI蠕虫,并在使用流行的大规模语言模型(LLMs)的测试环境中展示了其按设计功能运作的能力。基于他们的研究成果,研究人员向生成式…

用pyinstaller打包python代码为exe可执行文件并在其他电脑运行的方法

本文介绍基于Python语言中的pyinstaller模块,将写好的.py格式的Python代码及其所用到的所有第三方库打包,生成.exe格式的可执行文件,从而方便地在其他环境、其他电脑中直接执行这一可执行文件的方法。 有时,我们希望将自己电脑上的…

python笔记:super(),__getitem()__,__call()__

目录 Q1:super(NetworkBlock, self).__init__()什么意思 Q2:__call__() 类的实例圆括号自动调用 Q3:__getitem__() 类的实例 方括号自动调用 Q4:没有双下划线方法时,普通的调用类的方法 总结 Q1:super…

Python 全栈系列230 轻全局函数服务 GFGoLite

说明 为了将GlobalFunc推向正常的应用轨道,构造一个功能简单的服务。 内容 1 工作模式 Server模式:以API服务方式执行 Worker模式: 以Worker方式执行。通过left/right文件夹和rsync方式执行任务并写结果。 2 构造方法 重载和执行;从标…

基于springboot的助农管理系统的设计与实现

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一 、设计说明 1.1研究背…

【网站项目】219一中体育馆管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

pywin32,一个超强的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超强的 Python 库 - pywin32。 Github地址:https://github.com/mhammond/pywin32 在Python的世界里,有许多优秀的第三方库可以帮助开发者更轻松地处理各种任务。其中&a…

【性能】后台与黑屏

目录 现象观察 调整应用的电池策略 现象观察 切换到后台, 一个心跳期间,就会发close socket 直接黑屏,没有收到任何消息,直接到onclose,然后有离线触发 也到时间。 调整应用的电池策略 修改成“无限制”后,就不会断…