Unity3d实用篇(一) 手势旋转相机(或其他游戏物体)

来源:互联网 发布:算法分析专业 编辑:程序博客网 时间:2024/05/18 00:47

将脚本直接挂在当前想要通过手势旋转的摄像头或其他游戏物体上.


using UnityEngine;public class TouchTest : MonoBehaviour{    public float xSpeed = 100;//旋转速度    public float ySpeed = 100;    public float yMinLimit = -20;//旋转限制    public float yMaxLimit = 80;    public float x = 0.0f;    public float y = 0.0f;    void Start()    {        Vector2 angles = transform.eulerAngles;        x = angles.y;        y = angles.x;    }    void Update()    {        if (Input.touchCount == 1)        {            if (Input.GetTouch(0).phase==TouchPhase.Moved)            {                x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;                y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;            }        }    }    public void LateUpdate()    {        y = ClampAngle(y, yMinLimit, yMaxLimit);        Quaternion rotation = Quaternion.Euler(y, x, 0);        transform.rotation = rotation;    }    /// <summary>    /// Y值的限制    /// </summary>    float ClampAngle(float angle, float min, float max)    {        if (angle < -360)            angle += 360;        if (angle > 360)            angle -= 360;        return Mathf.Clamp(angle, min, max);    }}


原创粉丝点击