EasyTouch5插件

EasyTouch5插件下载


csdn下载地址:EasyTouch5
官网下载地址:EasyTouch5


EasyTouch手势检测


4_x用法


1.在场景中添加EasyTouch:
EasyTouch5插件_第1张图片
2.编写脚本代码,订阅EasyTouch中的事件(4.x的写法)
EasyTouch.On_TouchStart:手指按下事件
EasyTouch.On_TouchUp :手指抬起事件
EasyTouch.On_Swipe :手指滑动事件

using UnityEngine;
using HedgehogTeam.EasyTouch;

public class EasyTouch4_XDemo : MonoBehaviour {
    //在OnEnable中订阅EasyTouch中的事件
    void OnEnable()
    {
        Debug.Log("===============OnEnable==================");
        EasyTouch.On_TouchStart += OnTouchStart;
        EasyTouch.On_TouchUp += OnTouchUp;
        EasyTouch.On_Swipe += OnSwipe;
    }

    //在OnDisable和OnDestory中取消OnEnable中订阅的事件
    void OnDisable()
    {
        OnDestoryEasyTouch();
    }

    void OnDestory()
    {
        OnDestoryEasyTouch();
    }

    private void OnDestoryEasyTouch()
    {
        EasyTouch.On_TouchStart -= OnTouchStart;
        EasyTouch.On_TouchUp -= OnTouchUp;
        EasyTouch.On_Swipe -= OnSwipe;
    }

    private void OnTouchStart(Gesture gesture)
    {
        Debug.Log("OnTouchStart,startPostion = " + gesture.startPosition);
    }

    private void OnTouchUp(Gesture gesture)
    {
        Debug.Log("OnTouch,actionTime = " + gesture.actionTime);
    }

    private void OnSwipe(Gesture gesture)
    {
        Debug.Log("OnSwipe,swipe = " + gesture.swipe);
    }
}

5_x的用法


与4.x的区别是:没有使用事件的订阅方式,去检测手势;而是采用获取当前的Gesture对象去检测当前的手势,进行相应的操作。
1.5.x中EasyTouch被当作一个单例来使用,场景中的EasyTouch可添加也可以不添加,但是建议添加
2.编写脚本,5.x中的写法:

using UnityEngine;
using HedgehogTeam.EasyTouch;

public class EasyTouch5_XDemo : MonoBehaviour {

    void Update()
    {
        Gesture currentGesture = EasyTouch.current;
        if (currentGesture != null)
        {
            if (currentGesture.type == EasyTouch.EvtType.On_TouchStart)
            {
                OnTouchStart(currentGesture);
            }
            else if (currentGesture.type == EasyTouch.EvtType.On_TouchUp)
            {
                OnTouchUp(currentGesture);
            }
            else if (currentGesture.type == EasyTouch.EvtType.On_Swipe)
            {
                OnSwipe(currentGesture);
            }
        }
    }
    private void OnTouchStart(Gesture gesture)
    {
        Debug.Log("OnTouchStart,startPostion = " + gesture.startPosition);
    }
    private void OnTouchUp(Gesture gesture)
    {
        Debug.Log("OnTouch,actionTime = " + gesture.actionTime);
    }
    private void OnSwipe(Gesture gesture)
    {
        Debug.Log("OnSwipe,swipe = " + gesture.swipe);
    }
}

5_X新特性QuickGesture(快速手势)的使用


EasyTouch5插件_第2张图片


1.QuickDrag (拖拽)


EasyTouch5插件_第3张图片
Allow on the axes:允许拖拽的区域(x,y,z,xy,xz,yz,xyz)
Allow pick over UI element:允许透过UI元素进行拖拽
Stop drag on collision enter:当进入一个碰撞体时停止拖拽
Reset physic on drag:当拖拽时禁用钢体
包含三个事件函数:
1.OnDragStart:开始拖拽(手指在物体上按下)
2.OnDrag:拖拽中
3.OnDragEnd:停止拖拽(手指从物体上抬起)


2.QuickEnterOverExit(手指触屏移入移出物体)


EasyTouch5插件_第4张图片
Allow multi-touches:允许多指操作
Allow over UI element:允许透过UI元素进行操作
三个事件函数:
1.OnTouchEnter:移入
2.OnTouchOver:手指在物体中
3.OnTouchExit:移出


3.QuickLongTap(手指长按)


EasyTouch5插件_第5张图片
**2 fingers gesture:**2 个手指进行操作
Action triggering:触发事件 三个:Start(长按开始) InProgress(长按中) End(长按结束)
需要注意的是:一个QuickLongTap组件只能监听一个事件,如果需要监听以上三个,需添加三个QuickLongTap组件
Allow multi-touches:允许多指操作
Allow over UI element:允许透过UI元素进行操作


4.QuickPinch(双指 捏 对物体Transform属性 Position Rotation Scale等操作)


EasyTouch5插件_第6张图片
注意:必须双指操作
Gesture over me:作用在物体之上
Allow over UI element:允许透过UI元素进行操作
Triggering:触发的两个事件InProgressEnd
Pinch direction:操作的方向,All(向里和向外) In(向里) out(向外)
Enable simple action:进行一些简单操作(对物体Transform属性 Position Rotation Scale等的操作)


QuickSwipe(手指滑动)


EasyTouch5插件_第7张图片
Allow swipe start over me:允许在物体之上进行滑动(和Drag拖拽进行区别)
Allow over UI Element:允许透过UI元素
Triggering: 触发的两个事件 In Progress和End
Enable simple action: 进行一些简单的动作(旋转和位移)


Quick Tap(点击)


EasyTouch5插件_第8张图片
**2 fingers gesture:**2 个手指进行操作
Action triggering:触发的动作(单击或者双击)
Allow over UI Element:允许透过UI元素


Quick Touch(触摸)


EasyTouch5插件_第9张图片
(tip:需作用在物体之上才能检测到触摸的效果)
**2 fingers gesture:**2 个手指进行操作
Action triggering:触发的动作(Start开始 Down按下 Up抬起)
Allow multi-touches:允许多指操作
Allow over UI element:允许透过UI元素进行操作


QuickTwist(双指 捻 对物体Transform属性 Position Rotation Scale等操作)


EasyTouch5插件_第10张图片
注意:必须双指操作
与QuickPinch相似,区别是:操作的方向(direction)不一样
Gesture over me:作用在物体之上
Allow over UI element:允许透过UI元素进行操作
Triggering:触发的两个事件InProgressEnd
Twist direction:操作的方向,All(顺时针和逆时针方向) Clockwise(顺时针方向) Counterclockwise(逆时针方向)
Enable simple action:进行一些简单操作(对物体Transform属性 Position Rotation Scale等的操作)


5_X新特性Trigger的使用


Trigger组建
EasyTouch5插件_第11张图片
1.添加Trigger组件
2.点击【Add new event】添加需要触发的事件
Example:添加一个On_TouchStart事件
EasyTouch5插件_第12张图片
Testing on:可以作用在3D GameObject,也可以作用在UI上
Only if on me:只接收作用自身的触发事件
All the time,or other object:只接收指定object上的触发事件
other receiver:可以让指定的object接收触发的事件,取消勾选的话只能自身接收
Method:事件调用的方法
Parameter to send:向方法传递某些参数(Gesture Position Gameobject等等)


虚拟摇杆JoyStick的使用(核心)


1.右键添加JoyStock
EasyTouch5插件_第13张图片
EasyTouch5插件_第14张图片
2.属性介绍
EasyTouch5插件_第15张图片
JoyStick name:可以对JoyStick进行命名
Actived: 插件是否激活
Visible: 插件是否可见
Use Fixed Update:在Fixed Update方法里面控制物体的移动
Unregister at disabling time:在禁用时注销插件

Position & size
Type: 插件的类型,静态(默认),动态(用户点击某个点时,插件会在该点显示,不点击时不显示)
Anchor: 设置锚点(插件的位置),默认为User Defined,可在Rect Transform中设置
No offect thumb: 勾选后 拇指点击摇杆,可以有一个初始的偏移量
No return of the thumb: 勾选后手指移动摇杆后不会返回
Background size: 背景的大小
Thumb size: 摇杆中心拇指的大小
Radius based on: Thumb可移动的半径
EasyTouch5插件_第16张图片
Enable Unity axes:启用unity轴
Turn&Move direction Action:同时转和移动
Auto Link on tag:根据tag来链接控制的物体
Direction action to:控制的物体
Move curve:运动的曲线设置
Intial rotation:初始的旋转值
Lock in jump:锁定物体的jump(y轴方向)
Geravity:设置物体的重力
EasyTouch5插件_第17张图片
Recate on:反应的时机(press或者Down)
Dead zone method:死区设置的方式(数值0-1,或者曲线设置)
Dead length:死区数值设置时,设置数值的大小
死区的含义:当Thumb(拇指)移动距离小于设置的数值时,系统认为是误触,不会控制物体的运动
Inverted axis:运动设为反方向
on/off Threshold:开关阈值,作用不明,知道的老铁们请底下评论告知,谢谢!
Enable inerta:启用惯性(惯性:表现为物体对其运动状态变化的一种阻抗程度

Camera:
实现角色第一人称的移动&转向
EasyTouch5插件_第18张图片

EasyTouch5插件_第19张图片

好了,第一人称视角的移动+转向完成!现在通过摇杆控制角色移动,相机会跟随在角色背后。

接着是第三人称视角:
EasyTouch5插件_第20张图片
只需要将Turn&Move 选项勾选上,即可控制人物移动&转向。

EasyTouch5插件_第21张图片
Sprites:对摇杆的样式进行设置
Events:一系列的事件设置

你可能感兴趣的:(插件)