使用Unity制作的一个望远镜特效

来源:互联网 发布:pc防蓝光软件 编辑:程序博客网 时间:2024/04/30 09:18


using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class mzj : MonoBehaviour {    [SerializeField]    [Header("摄像机远近距离")]    private float ZoomLevel = 2.0f;    [SerializeField]    [Header("打开速度")]    private float ZoomInSpeed = 100.0f;    [SerializeField]    [Header("关闭速度")]    private float ZoomOutSpeed = 100.0f;    private float initFOV;//视野范围void Start () {        initFOV = Camera.main.fieldOfView;//获取当前摄像机的视野范围}void Update () {        if (Input.GetKey(KeyCode.LeftShift))//按住LeftShift        {            ZoomView();//放大        }        else//放开LeftShift        {            ZoomOut();//缩小        }        }    /// <summary>    /// 放大摄像机的视野区域    /// </summary>    void ZoomView()    {        if (Mathf.Abs(Camera.main.fieldOfView -(initFOV / ZoomLevel)) <0.5f)        {            Camera.main.fieldOfView = initFOV / ZoomLevel;        }        else if(Camera.main.fieldOfView - (Time.deltaTime * ZoomInSpeed) >=(initFOV /ZoomLevel))        {            Camera.main.fieldOfView -= Time.deltaTime * ZoomInSpeed;        }    }    /// <summary>    /// 放大摄像机的视野区域    /// </summary>    void ZoomOut()    {        if (Mathf.Abs(Camera.main.fieldOfView - initFOV) <0.5f)        {            Camera.main.fieldOfView = initFOV;        }        else if(Camera.main.fieldOfView + (Time.deltaTime *ZoomOutSpeed) <= initFOV)        {            Camera.main.fieldOfView += (Time.deltaTime * ZoomOutSpeed);        }    }}


Vignetting 遮罩 从 0 到1 

0 0
原创粉丝点击