前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AR开发--(二)手势识别-FingerGestures

AR开发--(二)手势识别-FingerGestures

作者头像
孙寅
发布2020-06-02 16:59:25
2.3K0
发布2020-06-02 16:59:25
举报
文章被收录于专栏:宜达数字宜达数字

网络资源,如侵权请联系我删除,本文不产生商业利益

写这篇文章其实已经做完所有的开发工作,今天周末所以搞起,因为项目需要的是手指在屏幕上操作。所以寻找插件,发现这个需求还是蛮多的。

1、导入资源

导入资源加群获取:134688909

2、查看目录

目录,红框是导入资源的包裹

加群获取资源:134688909

内部脚本

关于手势脚本

少写的是捏的手势识别脚本

3、开搞

FingerGesture的作用是管理用户输入和识别手势和鼠标或手指事件。

Paste_Image.png

代码语言:javascript
复制
参数一览:
make persistent : 设置场景跳转后保持不销毁,FingerGestures 单例在跨场景后一直有
Detect Unity Remote: 在Unity中统一检测
Mouse Input Provider Prefabs : 鼠标输入预制
Touch Input Provider Prefabs :  手势输入预制
4、开发案例

我们想让用户的手指做一些特定的动作来达到程序的多样性

单击:在上面我们已经知道是TapRecognizer

Paste_Image.png

Required Taps:连续轻击的次数。,我们可以在代码中获取

代码语言:javascript
复制
 int count = gesture.Taps;
// 按下最长时间
float time =  gesture.ElapsedTime;

Max Delay Between Taps:两次轻击间最大的时间间隔(单位秒) Movement Tolerance : 两次敲击的位置偏差大小 Max Duration:最大可以识别的手指数

其实就是我们屏幕坐标系。。。打印结果:

打印点击的位置信息

原理:其实通过Unity的事件通知SendMessage来传递消息

手势识别

每种手势都有自己的脚本,我们只需要简单的实现它就是ok的

1、添加对应的手势脚本,设置它的属性 2、监听它的手势事件和对应响应。作为手势事件通知的一部分,GestureRecognizer传递一个包含相关信息(位置,手指触屏点列表,选择的场景物件,相关的GestureRecognizer等)的事件参数。一个手势识别器有以下监听事件的方式: 1、使用标准的.net 委托事件模型,每一个手势识别器都暴露一个.net事件接口 2、使用unity的SendMessage()函数 : 本质来讲这个内部主要是封装Api,还有我们获取相关的游戏对象是通过射线检测来进行识别操纵

Paste_Image.png

创建我们的手势

Paste_Image.png

Paste_Image.png

将创建好的手势进行应用

Paste_Image.png

接下来利用我们的点图案识别

是不是很简单

对勾被识别了,通过测试我们发现只要不是对勾是不会被识别的。

当然我们还可以控制组件的所在层来进行更高效的操作

具体使用简单明了,相信你会很快明白

5、资料来源

http://blog.csdn.net/zkq666666/article/details/47722391

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、导入资源
  • 2、查看目录
  • 3、开搞
  • 4、开发案例
  • 单击:在上面我们已经知道是TapRecognizer
  • 手势识别
    • 创建我们的手势
    • 5、资料来源
    相关产品与服务
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档