什么是FingerGestures?

FingerGestures是Unity上,非常热门的一款用于处理用户输入的插件

为什么要使用FingerGestures?

1:它统一了鼠标点击和用户触摸的输入模型。使得我们可以在UnityEditor里面就可以方便地进行触摸测试(而不必发布到机器上)

2:它提供了丰富的触摸、手势事件支持

3:使用符合KISS原则,不需要复杂的配置,即可实现功能

4:这个吊了:允许用户自定义手势触发图案(无尽之剑的手势触发技能,用它轻松实现)

相信你已经迫不及待开始这段传奇之旅了。下面通过一个简单Tap(点击)事件的例子:触摸屏幕上的物体,输出碰撞的物体名称和碰撞点;

OK,让我们开始了解这个神器

入门

1:导入FingerGestures的Unity安装包,默认位置在Plugins/FingerGestures/目录下

2:创建一个场景,将FingerGestures这个prefab拖进场景

3:创建一个空的GameObject(也可以用现有的),我们需要将触摸的脚本挂载到这个上面

4:点击该GameObject的属性窗口,在弹出的窗口选择FingerGestures,然后依次在如下两个选项下,找到Tap Recognizer 和Screen RayCaster

5:将你场景里面的Camera的Tag设置成MainCamera(推荐)

或者你需要告诉FingerGestures,那个Camera才是它需要的(不推荐,个人测试,遇到碰撞优先级错误的问题)

设置Tag法:

或者手动指定法:

找到第4步骤添加的Screen RayCaster组件,指定相机

6:编写测试代码

FingerGestures里面方法传递有两种方式

1:使用c# 代理方式(推荐,性能好)

2:类似Unity的SendMessage()广播方式(方便,性能略低)

第1种代理法:创建一个脚本,黏贴下面的代码,挂载到第三步骤创建的GameObject就好了

using UnityEngine;

[RequireComponent(typeof(TapRecognizer))]
public class InputHelper : MonoBehaviour
{
// Use this for initialization
void Start ()
{
TapRecognizer tapRecognizer = GetComponent<TapRecognizer> ();
tapRecognizer.OnGesture += Tap_Gesture; }
void Tap_Gesture (TapGesture e)
{
GameObject hittedObject = e.Selection; if (null != hittedObject) { Vector3 hitPos3d = e.Raycast.Hit3D.point;
Debug.Log (hittedObject.name + " pos:" + hitPos3d); } else { }
}
}

第二种广播法:

1:设置Tap Recognizer,如下把我们第三部创建的GameObject拖放到MessageTarget上

2:代码:

去掉第一种代理法里Start()方法,就可以了

总结:

1:本文中推荐的步骤或者少配置、或者性能好,请使用的时候倾向于这些方式。

2:要碰撞的物体请设置一个Collider,在Component的Physics目录下。

3:添加的两个组件的作用:

Tap Recognizer:触摸事件识别类

Screen RayCaster:物体被碰撞的时候,需要知道这道光线从哪里过来(和摄像头的方向一致)

unity手势插件《FingerGestures 》使用入门的更多相关文章

  1. 2017年Unity游戏开发视频教程(入门到精通)

    本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...

  2. 开发unity DLL插件

    最近开发一款设备的SDK,想着要开发unity版本,怎么做呢?首先想到的就是在外部编写相关的驱动程序然后集成成几个dll作为unity的SDK使用了.So,我就开始了unity外部插件的研究之旅了. ...

  3. chrome插件编写基本入门

    chrome插件编写基本入门  http://igeekbar.com/igeekbar/post/331.htm #精选JAVASCRIPTCHROME 作为一名程序猿,怎么能不会写chrome插件 ...

  4. (转)Unity Cinemachine插件,实现单目标和多目标之间切换

    Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...

  5. unity常用插件

    Unity3D常用插件,网址:http://jingyan.baidu.com/article/7f766daf4ef2844100e1d079.html ,想想自己也有小半年unity经验了,于是整 ...

  6. unity自带寻路Navmesh入门教程(一)

    说明:从今天开始,我阿赵打算写一些简单的教程,方便自己日后回顾,或者方便刚入门的朋友学习.水平有限请勿见怪.不过请尊重码字截图录屏的劳动,如需转载请先告诉我.谢谢! unity自从3.5版本之后,增加 ...

  7. 【转】unity自带寻路Navmesh入门教程(一)

    http://liweizhaolili.blog.163.com/blog/static/16230744201271161310135/ 说明:从今天开始,我阿赵打算写一些简单的教程,方便自己日后 ...

  8. 开源Unity小插件CheatConsole

    我们在开发游戏的过程中,通常都需要一些快捷的方式来进行一些非常规的测试,这些功能一般被称作控制台或者GM指令,比如虚幻竞技场中,可以使用~键呼出控制台,输入一些指令即可进行快捷设置,比如设置分辨率,全 ...

  9. 编写 Unity Editor 插件

    Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试. 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 ...

随机推荐

  1. 推荐一个 HTML5在线的流程图工具——ProcessOn

    一直想找个简单好用的UML建模工具,无意在茫茫百度中看见了网友推荐的N多工具,从中找了一个叫 ProcessOn 的工具,可以说非常棒.如果我是WEB开发人员,我肯定去深入研究HTML5啦,太令人着迷 ...

  2. Zabbix-3.0.3实现微信(WeChat)告警

    导读 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告 ...

  3. 获取Asset下文本内容和读取图片

    import android.content.Context; import android.content.res.AssetManager; import android.graphics.Bit ...

  4. 教你如何在 Android 使用多线程下载文件

    # 教你如何在 Android 使用多线程下载文件 前言 在 Android 日常开发中,我们会经常遇到下载文件需求,这里我们也可以用系统自带的 api DownloadManager 来解决这个问题 ...

  5. docker harbor 安装 使用总结

    总结:没有验证,但是猜测. 我这个harbor的机器上  有起了一个 docker的 registry, 5000端口的,不知道是不是二者冲突. 猜测是这个情况. 1. 安装参考 收藏的链接 1.1  ...

  6. GO项目目录

    |--bin |--pkg |--src 其中,bin存放编译后的可执行文件:pkg存放编译后的包文件:src存放项目源文件.一般,bin和pkg目录可以不创建,go命令会自动创建(如 go inst ...

  7. UIWindow和UIScreen

    UIWindow和UIScreen 目录 概述 职责 实用操作 概述 UIWindow职责 包含了应用程序的可视化的内容 为视图和其他应用程序对象在触摸事件中提供了关键性的作用 与视图控制器一起协作来 ...

  8. Python全栈day20(装饰器基本理论)

    一,什么是装饰器 装饰器:本质就是函数,功能是为其他函数添加附加功能 原则 1,不修改被修饰函数的源代码 2,不修改被修饰函数的调用方式 举例说明:有一个求和函数要求就算出函数的运行时间 正常代码应该 ...

  9. HDU 3450 Counting Sequences(线段树)

    Counting Sequences Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Other ...

  10. maven引用本地jar包

    教程:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 安装 到下载maven: http://maven.apache. ...