AR/VR learning (2)--unity3D在android 上的手势识别与检测
2016-06-20 17:42
453 查看
1.此处需要使用FingerGestures的插件,大家可以在这里找到最FingerGestures新版本下载地址,这个插件主要目地是帮我们识别手势。
2.FingerGestures的包结构,在Assets/plugin/下。
FingerGestures/ 插件的根目录FingerGestures/Prefabs 可以直接拖放到场景中的预设资源(prefabs)
FingerGestures/Scripts 核心脚本和组件
FingerGestures/Scripts/Gesture Recognizers 每个手势识别 的脚本
FingerGestures/Scripts/Finger Event Detectors 每个触摸事件检测器的脚本
FingerGestures/Scripts/Components 手势识别和触摸事件所需要添加的额外组件
FingerGestures/Toolbox FingerGestures 自带的工具箱脚本
FingerGestures/Samples.unitypackage 所有例子的子包
FingerGestures/PlayMaker Actions.unitypackage FingerGestures对PlayMaker扩展的插件
Editor/FingerGestures FingerGestures对编辑器的扩展
3.这个插件可以做的事情
鼠标或是手指事件,可以去检测鼠标或是手指上,下,按不移动和悬停事件。可以识别基本的手势,如单击,双击,拖动,长按和滑动手势。可以用两个或是多个手指同时在触摸屏上挤压或是扭转,还能识别自定义的点云手势等。
4. 下面通过一个简单的事例来讲解如何识别一个轻敲手势。(下面关键步骤会加粗)
4.1 设置场景,并导入FingerGestures如下图中所示
4.2 实例化一个FingerGesture组件,实例化才可以使用,FingerGestures是用来管理用户输入和识别手势和鼠标等事件。有两种实例化的方法直接是把Plugins\FingerGestures\Prefabs下的FingerGestures Prefab文件拖入场景中,用来初始化,然后可以创建一个空的物体,然后将FingerGesture组件加进去。
4.3 创建一个GameObject/3Dobject/cube并重命名为Gestures
给Gestures添加一个TapRecognizer组件,并保持默认设置,也可以用componet/fingergestures/gestures/TapRecongnizer,完成如下图中所示
4.4创建一个新的C#script叫TapTutorial,并添加到Gestures中(4.3中创建的),TapTutorial.cs脚本中的内容如下
using UnityEngine; using System.Collections; public class TapTutorial : MonoBehaviour { // Use this for initialization void Start () { } void OnTap(TapGesture gesture) { //轻击的数量 int taps = gesture.Taps; Debug.Log("Tap gesture detected at " + gesture.Position + ". It was sent by " + gesture.Recognizer.name +"taps num" +taps); } // Update is called once per frame void Update () { } }
4.5结果如下图中所示。
5 下面总结下:
手势操作的基本步骤
1.添加对应的GestureRecognizer组件到场景中的目标组件
2. 配置它的属性
3.监听它的手势和对应响应
AR/VR小众交流群。
Reference:
1.API及官方文档
2.单击示例
3.Others
相关文章推荐
- KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结
- Unity长按屏幕计时器
- Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效
- Unity3D关于跨域访问的处理
- Unity3D手游开发实践《腾讯桌球》客户端开发经验总结
- 我的第一个工程-一个台球游戏
- Unity3D笔记 地形、光源、天空盒子
- Unity SendMessage
- VR游戏开发防眩晕
- Unity老司机:我们是如何做引擎优化的
- var 匿名类型 父类使用子类的方法 虚方法 this和 base
- Unity编程笔录--Unity+aipai实现录屏效果
- Unity3D-Unity中CacheServer(缓存服务器)的部署与使用
- Unity3D 从代码中加载资源
- 学习笔记 - Unity是如何将你的项目发布到如此多的平台的?
- 模拟粒子系统(ParticleSystem.Simulate)
- unity导入到android工程运行出现 java.lang.UnsatisfiedLinkError错误
- Unity中实现人物平滑转身
- Unity中使用ulua的个人经验总结
- Unity3D-使用Bitmap Font Generator自定义字体