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
有問題的話,請指出

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