您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页unity中使用鼠标右键控制旋转滑轮控制视角

unity中使用鼠标右键控制旋转滑轮控制视角

来源:尚佳旅游分享网
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class MouseCamera : MonoBehaviour
{
    public enum RotationAxes
    {
        MouseXAndY = 0, //上下左右滑动
        MouseX = 1, //左右滑动
        MouseY = 2  //上下滑动
    }

    public RotationAxes m_axes = RotationAxes.MouseXAndY;
    [Range(1,10)]
    public int m_sensitivityX = 5; //视角转动的幅度
    [Range(1,10)]
    public int m_sensitivityY = 5; 
    [Range(1,10)]
    public int m_fieldOfView = 5; //视角拉伸的幅度
    // 垂直方向的镜头转向范围 
    public float m_minimumY = -45f;
    public float m_maximumY = 45f;

    float m_rotationY = 0f;

    void Start()
    {
       
    }
    void Update()
    {
        if (Input.GetMouseButton(1))
        {
            if (m_axes == RotationAxes.MouseXAndY)
            {
                float m_rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * m_sensitivityX;
                m_rotationY += Input.GetAxis("Mouse Y") * m_sensitivityY;
                m_rotationY = Mathf.Clamp(m_rotationY, m_minimumY, m_maximumY);

                transform.localEulerAngles = new Vector3(-m_rotationY, m_rotationX, 0);
            }
            else if (m_axes == RotationAxes.MouseX)
            {
                transform.Rotate(0, Input.GetAxis("Mouse X") * m_sensitivityX, 0);
            }
            else
            {
                m_rotationY += Input.GetAxis("Mouse Y") * m_sensitivityY;
                m_rotationY = Mathf.Clamp(m_rotationY, m_minimumY, m_maximumY);

                transform.localEulerAngles = new Vector3(-m_rotationY, transform.localEulerAngles.y, 0);
            }
        }
        //通过鼠标滚轮放大 和 缩放视角
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            Camera.main.fieldOfView += m_fieldOfView;
        }
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            Camera.main.fieldOfView -= m_fieldOfView;
        }
    }
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务