Unity实现瞄准镜效果

 更新时间:2021年04月23日 17:16:32   作者:fanfan_hongyun  
这篇文章主要为大家详细介绍了Unity实现瞄准镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Unity实现瞄准镜效果的具体代码,供大家参考,具体内容如下

using UnityEngine;
using System.Collections;
 
public class TelesopicView : MonoBehaviour
{
 
    public float zoomLevel = 2.0f;
    public float zoomInSpeed = 100.0f;
    public float zoomOutSpeed = 100.0f;
 
    private float initFOV;
    public GameObject obj;
    void Start()
    {
        //获取当前摄像机的视野范围 unity默认值60
        initFOV = Camera.main.fieldOfView;
    }
 
    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            ZoomInView();
            //激活ui窗口
            obj.SetActive(true);
        }
        else
        {
            ZoomOutView();
            //失活ui窗口
            obj.SetActive(false);
        }
    }
 
    //放大摄像机的视野区域
    void ZoomInView()
    {
        if (Mathf.Abs(Camera.main.fieldOfView - (initFOV / zoomLevel)) < 0f)
        {
            Camera.main.fieldOfView = initFOV / zoomLevel;
        }
        else if (Camera.main.fieldOfView - (Time.deltaTime * zoomInSpeed) >= (initFOV / zoomLevel))
        {
            Camera.main.fieldOfView -= (Time.deltaTime * zoomInSpeed);
        }
    }
 
    //缩小摄像机的视野区域
    void ZoomOutView()
    {
        if (Mathf.Abs(Camera.main.fieldOfView - initFOV) < 0f)
        {
            Camera.main.fieldOfView = initFOV;
        }
        else if (Camera.main.fieldOfView + (Time.deltaTime * zoomOutSpeed) <= initFOV)
        {
            Camera.main.fieldOfView += (Time.deltaTime * zoomOutSpeed);
        }
    }
}

此脚本挂到unity主相机即可,可通过更改zoomLevel更改倍镜倍数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#实现字符串倒序的写法

    C#实现字符串倒序的写法

    这篇文章主要为大家详细介绍了C#实现字符串倒序的多种写法,以LINQ写法最为简洁,感兴趣的朋友可以参考一下
    2016-05-05
  • C#实现的调用DOS命令操作类实例

    C#实现的调用DOS命令操作类实例

    这篇文章主要介绍了C#实现的调用DOS命令操作类,实例分析了C#调用系统常用DOS命令的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • WinForm实现同时让两个窗体有激活效果的特效实例

    WinForm实现同时让两个窗体有激活效果的特效实例

    这篇文章主要介绍了WinForm实现同时让两个窗体有激活效果的特效实例,基于windows api实现一个窗体激活的时候给另外一个发消息的特效,在进行C#项目开发时有一定的实用价值,需要的朋友可以参考下
    2014-09-09
  • 轻松学习C#的结构和类

    轻松学习C#的结构和类

    轻松学习C#的结构和类,对C#的结构和类感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的结构和类
    2015-11-11
  • C#新手常犯的错误汇总

    C#新手常犯的错误汇总

    这篇文章主要介绍了C#新手常犯的错误汇总,对于经验丰富的C#程序员同样具有很好的参考借鉴价值,需要的朋友可以参考下
    2014-08-08
  • C#读取配置文件的方法汇总

    C#读取配置文件的方法汇总

    本文给大家介绍的是使用C#读取配置文件的方法,个人给大家总结了6种,余下的以后再更新,有需要的小伙伴可以参考下。
    2015-06-06
  • unity使用链表实现贪吃蛇游戏

    unity使用链表实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了unity使用链表实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#编程之事务用法

    C#编程之事务用法

    这篇文章主要介绍了C#编程之事务用法,结合实例形式对比分析了C#中事务提交与回滚的具体实现技巧与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 使用C#调用系统API实现内存注入的代码

    使用C#调用系统API实现内存注入的代码

    使用C#调用系统API实现内存注入的代码,学习c#的朋友可以参考下。
    2011-06-06
  • c# 如何实现一个简单的json解析器

    c# 如何实现一个简单的json解析器

    这篇文章主要介绍了c# 如何实现一个简单的json解析器,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论