Unity之大屏幕多点触控插件TouchScript9.0入门指南(上)

更新时间:2023-06-17 11:58:55 阅读: 评论:0

Unity之⼤屏幕多点触控插件TouchScript9.0⼊门指南(上)在端游上⼤家应该多数都使⽤过的EasyTouch插件,在EasyTouch 5.0.17 最新版本扩展⽅法中我有过简单的介绍,今天说⼀下另⼀款触摸插件,它⾮常适合做展⽰类⼤屏幕的多点触控TouchScript,在Unity 上的AstStore也是五星好评,⽽且还是免费资源,也可以在GitHub上下载对应的TouchScriptturbines
billabong
场景初始化,创建⼀个空的场景把对应的Cursors和TouchManger拖⼊到场景中,点击Play运⾏场景,就会出现对应的效果
然后创建⼀个Cube 并在其gameobject上添加两个组件
TransformGesture与Transformer,Transformer负责监听TransformGesture的事件并把响应的事件应⽤到GameObject上,
当然也可以使⽤快捷热键Alt,按住Alt点击物体,然后再次点击物体就会出现
下⾯我们开始介绍TouchScript提供的每⼀个Example
沉默是金英文Camera.gif
在这个场景中主要含有 主要逻辑和3个TouchScript组件
1. F ulls cr e e nL aye r ---在这个图层中,你可以看到所有的 p ointe r s ⽽不需要对场景进⾏任何
r aycas t投射然后将⽬标设置为它所连接的G am e Ob j e ct,在这个例⼦中, F ulls cr e e nL aye r 通常放在层次结构的底部以捕获所有剩余的p ointe r,但在本例中,它是唯⼀的层,因为我们
对“T ouching”任何对象不感兴趣。
wen我对他的理解为这个FullscreenLayer 只是接受TouchScript射线的⼀个层级,⼀般会把这个层级放在最底层,类似于背景,如果有其他层级在它前⾯会挡住摄像,然后对应的层级处理响应的事件,这个场景中只有这个层级,所以其他物理⽆法接受事件所以不会有操作
2. Scr e e nT r ans f or m G e s tur e 将T r ans f or m T yp e设置为“T r ans lation”并将L im it
Pointe r s限制为1.此⼿势仅识别单指针平移移动。
2011年湖北高考数学
3. 另⼀个Scr e e nT r ans f or m G e s tur e,它具有T r ans f or m T yp e 设置为T r ans lation、Rotation、Scaling和L im it Pointe r s to> = 2。 该⼿势可识别所有双指针变换。
恭喜你英文4. C am e r aC ontr olle r脚本订阅Scr e e nT r ans f or m G e s tur e s并控制相机移动,如下所⽰:
/*
* @author Valentin Simonov / va.lent.in/
*/
using UnityEngine;
using TouchScript.Gestures.TransformGestures;
namespace TouchScript.Examples.CameraControl
{
/// <exclude />
public class CameraController : MonoBehaviour
{
public ScreenTransformGesture TwoFingerMoveGesture;
public ScreenTransformGesture ManipulationGesture;
/// <summary>
/// 移动速度
/// </summary>
public float PanSpeed = 200f;
高档货
/// <summary>
/// 旋转速度
/// </summary>
public float RotationSpeed = 200f;
/
// <summary>
/// 缩放速度
alliance/// </summary>
public float ZoomSpeed = 10f;
private Transform pivot;
肖恩雅思胜经private Transform cam;
private void Awake()
{
pivot = transform.Find("Pivot");
cam = transform.Find("Pivot/Camera");
}
private void OnEnable()
{
TwoFingerMoveGesture.Transformed += twoFingerTransformHandler;
ManipulationGesture.Transformed += manipulationTransformedHandler;
}
private void OnDisable()
{
TwoFingerMoveGesture.Transformed -= twoFingerTransformHandler;
ManipulationGesture.Transformed -= manipulationTransformedHandler;
artificial}
/// <summary>
/
// 单指事件
/// </summary>
/// <param name="nder"></param>
/// <param name="e"></param>
private void manipulationTransformedHandler(object nder, System.EventArgs e)
{
var rotation = Quaternion.Euler(ManipulationGesture.DeltaPosition.y / Screen.height * RotationSpeed,                -ManipulationGesture.DeltaPosition.x / Screen.width * RotationSpeed,
ManipulationGesture.DeltaRotation);
pivot.localRotation *= rotation;
/// <summary>
/// 双指事件
/// </summary>
/// <param name="nder"></param>
/// <param name="e"></param>
private void twoFingerTransformHandler(object nder, System.EventArgs e)
{
pivot.localPosition += ation * TwoFingerMoveGesture.DeltaPosition * PanSpeed;
}

本文发布于:2023-06-17 11:58:55,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/148182.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:事件   层级   场景   对应   移动   点击   屏幕   识别
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图