FingerGesture在项目中的作用是管理用户输入和识别手势和鼠标或手指事件。可能有些人还不是很会用,下面就给大家介绍下Unity插件FingerGesture的使用教程。
fingerGestures包结构路径,相对Assets/Plugin/…描述
FingerGestures/插件的根目录
FingerGestures/Prefabs可以直接拖放到场景中的预设资源(prefabs)
FingerGestures/Scripts核心脚本和组件
FingerGestures/Scripts/Gesture Recognizers每个手势识别 的脚本
FingerGestures/Scripts/Finger Event Detectors每个触摸事件检测器的脚本
FingerGestures/Scripts/Components手势识别和触摸事件所需要添加的额外组件
FingerGestures/ToolboxFingerGestures 自带的工具箱脚本
FingerGestures/Samples.unitypackage所有例子的子包
FingerGestures/PlayMaker Actions.unitypackageFingerGestures对PlayMaker扩展的插件
Editor/FingerGesturesFingerGestures对编辑器的扩展
FingerGestures例子列表Finger Event(鼠标或手指事件)
FingerEventsPart1: 展示如何通过不同的检测器( FingerEventDetectors )去检测鼠标或者手指的上(down)、下(up),按下不移动(stationary,悬停(hover) 事件。
FingerEventsPart2: 展示如何识别不同鼠标或者手指动作(FingerMotionDetector)。
Gestures(手势)
BasicGestures: 识别单击(React
to tap),双击(double tap),拖动(drag),长按(long——press),滑动(swipe)等基础手势。
PinchAndTwist: 两个或多个手指同时在触摸屏上挤压(pinch)或扭转(twist)时,触发手势的事件。(PS:通常都是用来缩放或旋转)
PointCloudGestures: 示范如何识别一个点云(point cloud)手势。(PS:通常是指用用户画的图案作为识别)
Toolbox(工具箱)
Camera(放入摄像机的脚本):
Toolbox-DragView: 展示使用TBDragView脚本,实现拖动视角。
Toolbox-Orbit: 展示使用TBOrbit脚本,实现围绕目标旋转视角。
Toolbox-Pan: 展示使用TBPan脚本,实现以自身为轴旋转视角。
Toolbox-PinchZoom: 展示使用TBPinchZoom脚本,实现变焦。
Object-Based(放入普通场景对象的脚本):
Toolbox-Drag: 展示使用TBDrag脚本,实现简单的物体拖动
Toolbox-Hover: 展示使用TBHoverChangeMaterial 和 TBHoverChangeScale脚本,实现当鼠标或者手指悬停在物体上时候的响应。(PS:类似鼠标放到图标上,图标发亮的效果)
Toolbox-PinchToScale 展示使用TBPinchToScale脚本,实现缩放物体
Toolbox-TwistToRotate: 展示使用TBTwistToRotate脚本,实现旋转物体
设置场景
需要在场景中实例化一个FingerGesture组件才可使用。 FingerGesture在项目中的作用是管理用户输入和识别手势和鼠标或手指事件。
有两种添加方式,一是直接把Plugins\FingerGestures\Prefabs下的FingerGestures prefab文件拖入场景中。二是可以创建一个空物件,然后把FingerGestures组件添加进去。
使用Make Persistent标志可以让使FingerGestures 单例在跨场景后一直有效,所以只要保证它在第一个场景设置就足够。
教程:识别一个轻敲手势
该章节会学习到如何识别一个简单的单击动作,然后到特殊物件的单击动作识别,最后到识别一个三个手指的双击动作。初始化
第一步,如上章节设置;
第二步,创建一个GameObject 命名为Gestures ;
第三步,给Gestures添加一个TapRecognizer组件,并保持默认设置,你可以在项目面板搜索到它或者直接打开Component > FingerGestures > Gestures > Tap menu item。
TapRecognizer 是其中一种手势识别器,它用于监控用户输入而且当一个有效的单击动作被识别时候工作。
第四步,创建一个新的C# script 叫做 TapTutorial并添加到第二步创建的Gestures中。
轻敲屏幕
第一步,点击TapGestures组件上的Copy Event To Clipboard按钮,它会把TapGesture所需要的时间信号代码copy到黏贴板。
第二步,粘贴到TapTutorial脚本里,如下:
public class TapTutorial : MonoBehaviour
{
void OnTap( TapGesture