Unity插件研究-EasyTouch V5

抽空研究了下Easy Touch 5插件,发现确实很好用,下面是相应的用法:

1. Easy Touch Controls:实现虚拟摇杆的组件

在项目的"Hierarchy"窗口下,创建摇杆操作点击GameObject=>EasyTouchControls=>Joystick,创建完之后会在Hierarchy面板出现摇杆物体,Game视图也会出现一个摇杆,这个插件应该是基于UGUI写的,它的物体出现方式和创建Canvas下的控件一样(所以自定义事件和UGUI添加事件的方法基本是类似的),也会出现Canvas和EventSystem,而Joystick也会成为Canvas的子物体。添加完摇杆,还会出现一个"InputManager"的游戏物体,这个应该是EasyTouch用来实现用户输入的控制的,如果删除这个游戏物体,游戏运行时就会动态生成这个游戏物体,下面是一些配置:

    名字、启动时是否可见,是否激活,如果有物理引擎,是需要使用FixedUpdate的

  摇杆显示的位置,偏移量、尺寸大小

 摇杆的轴配置,这是水平轴的,比如控制物体旋转,Speed设置为200,给它控制的物体(也可以使用Auto link on tag,使用标签方式),Action使用"Rotate Local",基于“Y"轴

 摇杆的轴配置,这是垂直轴的,用来配置延”Z"轴进行前后移动

   实现第三人称游戏时,经常需要相机跟随,可以“Enable tracking",使用”MainCamera",链接好要跟随的游戏物体,相机跟随使用“Smooth Follow",可以控制相机跟随的高度、距离、

   这个用来配置虚拟摇杆的图片

如果不用自动配置,想使用自己的代码来控制物体移动,代码中是使用:

ETCInput.GetAxis("Vertical")
ETCInput.GetAxis("Horizontal")

唯一不好的是这个插件导入后,给了一大堆示例和文档,如果是项目开发会增加不少的size,做了相应的精减,只有200多K了https://files-cdn.cnblogs.com/files/bearhb/EasyTouchControls-min.rar

2. Easy Touch:实现手势控制的组件

(1)Hierarchy窗口中必须右键,生成"EasyTouch" ->"EasyTouch"物体;

(2)QuickGesture:这个实在是太猛了, 如果想给某个游戏物体添加手势的一些事件,直接添加下面某个组件就可以了:

 例如一个cube如果想被拖动,直接添加“Quick Drag"组件,这个Cube就可以实现拖动了,而且拖动的事件和UGUI完全一致;

(3)如果需要在程序中进行手势判断,是需要下面的脚本:

using HedgehogTeam.EasyTouch;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TouchManager : MonoBehaviour
{
    private Renderer ren;
    private void Start()
    {
        ren = GetComponent<Renderer>();
    }
    void Update()
    {

        // 获取当前玩家输入的手势
        Gesture currentGesture = EasyTouch.current;
        //如果有手势
        if (currentGesture != null)
        {
            //区分手势进行检测
            switch (currentGesture.type)
            {
                //开始触摸
                case EasyTouch.EvtType.On_TouchStart:
                    Debug.Log("OnTouchStart");
                    Debug.Log("startPosition" + currentGesture.startPosition);
                    OnTouchStart(currentGesture);
                    break;
                //结束触摸
                case EasyTouch.EvtType.On_TouchUp:
                    OnTouchEnd(currentGesture);
                    break;
                //开始滑动
                case EasyTouch.EvtType.On_Swipe:
                    OnSwipe(currentGesture);
                    break;
                //简单点击下
                case EasyTouch.EvtType.On_SimpleTap:
                    Debug.Log("点击下");
                    break;
                //长按
                case EasyTouch.EvtType.On_LongTap:
                    Debug.Log("长按");
                    break;
            }
        }
    }
    void OnTouchEnd(Gesture gesture)
    {
        Debug.Log("OnTouchEnd");
        Debug.Log("actionTime" + gesture.actionTime);
    }

    void OnSwipe(Gesture gesture)
    {
        Debug.Log("OnSwipe");
        //滑动的枚举(上、下、左、右、其他)
        Debug.Log("swipe" + gesture.swipe);
    }

    void OnTouchStart(Gesture gesture)
    {
        if (gesture.pickedObject == gameObject)
        {
            ren.material.color = new Color(Random.Range(0, 1.0f), Random.Range(0, 1.0f), Random.Range(0, 1.0f));
        }
    }
}

原文地址:https://www.cnblogs.com/bearhb/p/11425384.html

时间: 2024-08-26 22:41:08

Unity插件研究-EasyTouch V5的相关文章

Unity插件之NGUI学习(4)—— 创建UI2DSprite动画

创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel. 然后在选中Panel,在菜单中选择NGUI->Create->Unity 2D Sprite 查看Inspector窗口 接着是在Unity中制作Sprite: 在Project窗口创建Textures文件夹,并从外部拖入一些图片素材,然后选中需要转成Sprite的图片,然后在Inspector窗口进行转变Sprite的操作,如图. 选择Sprite(2D

Unity插件之NGUI学习(9)—— Tween和世界坐标系尺寸转换为NGUI尺寸

在游戏中,有一种比较常见的动画效果,就是产生得分后,分数会在游戏中显示,并快速移动到总分的位置并使之相加.今天我就打算使用NGUI的Tween来制作这种分数动画效果. 根据 Unity插件之NGUI学习(2),创建一个UI Root,然后使用NGUI创建一个Label和一个Button. 在Project窗口中,在Resources/Prefabs文件夹中创建一个Prefab,该Prefab就是一个NGUI的Label,然后在菜单中选择NGUI->Tween->Rotation和NGUI-&g

Android与Unity交互研究

Android与Unity交互研究 转载请注明出处:http://blog.csdn.net/crazy1235/article/details/46733221 Android与Unity交互研究 unity与android交互的由来 unity简单介绍 unity与android交互介绍 unity调用android的方法 android调用untiy的方法 unity与android交互的由来 本人在项目开发过程中,遇到这样一个需求,把unity的场景放到android中去显示.刚开始做的

【VR】Leap Motion 官网文档 Unity插件概述

前言: Leap Motion的官网文档已经有不少的热心网友参与了翻译,但没有覆盖官网文档的全部. 为迎合Unity VR的热潮与大家的学习需要,本博客将推出针对Unity方向的官方文档翻译系列. 本篇主要对Leap Motion的Unity插件及坐标系系统进行简述. 英文原文网址:https://developer.leapmotion.com/documentation/unity/unity/Unity_Overview.html 译文首发&持续更新:http://blog.csdn.ne

Unity插件之NGUI学习(7)—— ScrollView(Panel)

今天介绍的ScrollView,參考的是NGUI(3.6.8)中的Example项目:Scroll View(Panel). 先依照Unity插件之NGUI学习(2)创建一个UI Root.然后在UI Root以下创建一个Scroll View,选择菜单NGUI->Create->Scroll View 然后在Inspector窗体做一些參数设置 Movement设置滚动Vertical纵向或者horizontal横向. Scroll Bars能够加入纵向或者横向的滚动栏控件(在这个项目中暂且

【学习中】Unity插件之NGUI 完整视频教程

课程 章节 内容 签到 Unity插件之NGUI 完整视频教程 第一章 NGUI基础控件和基础功能学习 1.NGUI介绍和插件的导入 6月29日 2.创建UIRoot 6月29日 3.学习Label控件,显示文字 6月29日 4.学习Sprite创建精灵,显示图片 5.学习Panel面板,控件容器 6.创建Button按钮,使用脚本监听按下 7.创建图集Atlas 8.切图SlicedSprite九宫切图 9.dynamicFont动态字体制作和显示 10.widget属性,pivot,dept

Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击

创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root. 准备工作,制作Font,现在Project窗口创建一个Font文件夹,然后从系统自带字体文件夹中选择自己需要的字体,我选择了黑体,然后拖到Font文件夹中去.选择刚导入的字体. Font Size默认是16,不过网上看到过size16在IOS上显示太小,所以设置为30. 在菜单中选择NGUI->Open->Font Maker Type默认是Generated Bitmap--会生成材质文件,Dynamic-

Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸

根据 Unity插件之NGUI学习(2),创建一个UI Root,在UI Root下创建一个Texture作为背景图,并设置图片,在Wiget下调整大小:然后在UI Root下再创建一个Panel. 在Hierarchy窗口选中Panel,然后选择菜单Component->NGUI->Interaction->Table,查看Inspector窗口,在Panel的属性中增加了UITable. Columns 表示每行有几个元素 Direction 表示超过每列的元素后添加元素的方向 So

Unity3d插件研究之Easytouch

但我们开发移动端的游戏时,发现使用Input.GetMouseButtonDown的方法不可用,怎么办? 虽然unity3d也有自带触屏的方法,但是使用起来代价太高,什么单击,双击这些功能都要自己封装. 下面我们来讲下EasyTouch这个插件,它将所有触屏的手势,都已经写好了. 而且Easytouch也支持NGUI,使用起来十分的方便. 接下来,我们详细地学习这个插件改如何运用到我们的项目中来. 首先,我们导入easytouch插件,这里我是用3.0版本的,可能有些老了,我都没更新,但是大致的