AR/VR learning (2)--unity3D在android 上的手势识别与检测

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如下图中所示

AR/VR learning (2)--unity3D在android 上的手势识别与检测_第1张图片

4.2 实例化一个FingerGesture组件,实例化才可以使用,FingerGestures是用来管理用户输入和识别手势和鼠标等事件。有两种实例化的方法直接是把Plugins\FingerGestures\Prefabs下的FingerGestures Prefab文件拖入场景中,用来初始化,然后可以创建一个空的物体,然后将FingerGesture组件加进去

4.3 创建一个GameObject/3Dobject/cube并重命名为Gestures

给Gestures添加一个TapRecognizer组件,并保持默认设置,也可以用componet/fingergestures/gestures/TapRecongnizer,完成如下图中所示

AR/VR learning (2)--unity3D在android 上的手势识别与检测_第2张图片

4.4创建一个新的C#script叫TapTutorial,并添加到Gestures中(4.3中创建的),TapTutorial.cs脚本中的内容如下

AR/VR learning (2)--unity3D在android 上的手势识别与检测_第3张图片

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结果如下图中所示。

AR/VR learning (2)--unity3D在android 上的手势识别与检测_第4张图片

5 下面总结下:

手势操作的基本步骤

1.添加对应的GestureRecognizer组件到场景中的目标组件

2. 配置它的属性

3.监听它的手势和对应响应


AR/VR小众交流群。

AR/VR learning (2)--unity3D在android 上的手势识别与检测_第5张图片


Reference:

1.API及官方文档

2.单击示例

3.Others

你可能感兴趣的:(AR/VR,手势识别,AR,VR)