通過滾動鼠標的中鍵,來控制相機的視角的放大和縮小,在此記錄一下此功能
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
有問題的話,請指出