0
点赞
收藏
分享

微信扫一扫

角度限制的自由旋转查看

中间件小哥 2022-03-15 阅读 45
using UnityEngine;

public class Rotate : MonoBehaviour
{
    public float speedX;
    public float speedY;

    private float mouseX;
    private float mouseY;
    private float scrollWheel;
    
    private float yCount;   //Y轴变化值
    private float lastYCount;   //上一次Y轴变化值
    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            mouseX = Input.GetAxis("Mouse X");
            transform.Rotate(Vector3.up, mouseX * speedX, Space.Self);

            mouseY = Input.GetAxis("Mouse Y");
            float yValue = mouseY * speedY * Time.deltaTime;
            yCount += yValue;
            yCount = Mathf.Clamp(yCount, -90, 90);
            yValue = yCount - lastYCount;
            transform.Rotate(Vector3.right, yValue, Space.World);
            lastYCount = yCount;
        }

        scrollWheel = Input.GetAxis("Mouse ScrollWheel");
        if(scrollWheel != 0)
        {
            transform.localScale += scrollWheel * Vector3.one;
            float scale = Mathf.Clamp(transform.localScale.x, 0.5f, 2);
            transform.localScale = Vector3.one * scale;
        }
    }
}
举报

相关推荐

0 条评论