前言

EasyTouch是一个使用非常广泛的插件,支持点击,拖拽,遥感等很多常用功能,使用EasyTouch,省去了我们很多时间去封装点击,遥感之类的功能。

unity 触控控制 unity触控插件_插件


不过最近,在Unity的AssetStore搜索EasyTouch,发现搜索不到EasyTouch5 了,只剩下其它插件,比如LeanTouch等插件 和 Easy Touch Controls(老版EasyTouch)等等

摸索一番后,只从Easy Touch Controls的描述里面可以连接到下面的信息

unity 触控控制 unity触控插件_unity 触控控制_02

所以很遗憾,目前EasyTouch4.x和5.x都已经下架了,只有一个老版的Easy Touch Controls,但是它最后一次更新是2016年,比较久远了,不太清楚HedgehogTeam公司在搞什么?难道被收购了?

不管了,无论如何EasyTouch5.x 依然是我们使用比较频繁的一个处理触摸的插件,网上还是可以下载到插件的。

另外,现在商店里面有一个LeanTouch插件使用比较多,评分也很高,所以我在好奇心的驱使下,想比较一下二者。

unity 触控控制 unity触控插件_LeanTouch_03

EasyTouch和LeanTouch对比

下面就对EasyTouch和LeanTouch做下功能和性能对比,

Easy

Lean

Tap

Tap

Down,Move,Up

Down,Move,Up

Pinch

inch

功能

Twist

Twist

UGUI+NGUI+3D

UGUI,3D

多指触控

多指触控

遥感




gc

点击有GC

无GC

package大小

35M

4M

总结

  • Easytouch使用功能较,且多较方便,只需要添加一个EasyTouch组件即可,脚本中添加固定的监听事件就可以了,但是缺点就是有gc,每次点击差不多250B的gc,多指点击的话gc更多。原因就是因为每次点击都会new一个 Gesture出来。当然,这点gc可以忽略不计,还没有一个string拼接的gc多。
  • LeanTouch插件,它设置了不同的组件,像LeanFingerTap和LeanFingerSwip等,你用什么功能就添加什么组件,当然这也是一个很好的设计,看个人习惯了,也有点击拖拽等事件监听。最好的是,点击没有gc,不管是单指还是多指,所以如果有性能偏好的话可以考虑。

结尾

总的来说,这类touch插件,原理都差不多,就是设计模式可能不同,如果你使用非常简单,当然也可以自己写一个,不管是使用UI射线还是3D射线。只要不出错,都是好的。但是这些成熟的插件,其实都是经过了市场的检验,基本没有什么大问题,如果可以拿来直接使用也是不错的。

希望这篇文章能够对你有所帮助。