Unity3d中鼠标中键控相机的视角(焦距)

通过滚动鼠标的中键,来控制相机的视角的放大和缩小,在此记录一下此功能

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 鼠标滚轮控制相机视野的变化
/// </summary>
public class MouseMiddleControlCamera : MonoBehaviour {
    [Header("相机视角的最小值")]
    [Range(0,100)]
    public float m_CameraFieldOfViewMin;
    [Header("相机视角的最大值")]
    [Range(0, 100)]
    public float m_CameraFieldOfViewMax;
    private void Awake()
    {
        m_CameraFieldOfViewMin = 15;
        m_CameraFieldOfViewMax = 100;
    }
    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        //鼠标滚轮的效果
        //camera.main.fieldofview摄像机的视野
        //Camera.main.orthographicSize摄像机的正交投影
        //Zoom out 缩小
        //GetAxis获得轴,Mouse ScrollWheel鼠标滚轮
        if (Input.GetAxis("Mouse ScrollWheel") < 0)
        {
            if (Camera.main.fieldOfView <= m_CameraFieldOfViewMax)
                Camera.main.fieldOfView += 2;
            if (Camera.main.orthographicSize <= 10)
                Camera.main.orthographicSize += 1f;
        }
        //Zoom in 放大
        if (Input.GetAxis("Mouse ScrollWheel") > 0)
        {
            if (Camera.main.fieldOfView > m_CameraFieldOfViewMin)
                Camera.main.fieldOfView -= 2;
            if (Camera.main.orthographicSize >= 1)
                Camera.main.orthographicSize -= 1f;
        }
    }
}

 

工程用的Unity 5.6.5p4 (32-bit)的版本,位置在链接:https://pan.baidu.com/s/1Ov8irVY2z8V4T3ElDAvRrA
提取码:mt82
有问题的话,请指出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章