Unity實(shí)現(xiàn)瞄準(zhǔn)鏡效果
本文實(shí)例為大家分享了Unity實(shí)現(xiàn)瞄準(zhǔn)鏡效果的具體代碼,供大家參考,具體內(nèi)容如下
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()
{
//獲取當(dāng)前攝像機(jī)的視野范圍 unity默認(rèn)值60
initFOV = Camera.main.fieldOfView;
}
void Update()
{
if (Input.GetMouseButton(0))
{
ZoomInView();
//激活ui窗口
obj.SetActive(true);
}
else
{
ZoomOutView();
//失活ui窗口
obj.SetActive(false);
}
}
//放大攝像機(jī)的視野區(qū)域
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);
}
}
//縮小攝像機(jī)的視野區(qū)域
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主相機(jī)即可,可通過(guò)更改zoomLevel更改倍鏡倍數(shù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Unity 如何通過(guò)反射給gameObject添加組件
- Unity實(shí)現(xiàn)模型點(diǎn)擊事件的方法
- 詳解Unity使用ParticleSystem粒子系統(tǒng)模擬藥水在血管中流動(dòng)(粒子碰撞)
- Unity之跑馬燈抽獎(jiǎng)效果單抽與連抽(附demo)
- Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼
- Unity3D舊電視濾鏡shader的實(shí)現(xiàn)示例
- Unity給物體添加多個(gè)Tag的實(shí)現(xiàn)
- Unity實(shí)現(xiàn)3D射箭小游戲
- 詳解Unity入門之GameObject
相關(guān)文章
C#實(shí)現(xiàn)的調(diào)用DOS命令操作類實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的調(diào)用DOS命令操作類,實(shí)例分析了C#調(diào)用系統(tǒng)常用DOS命令的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
WinForm實(shí)現(xiàn)同時(shí)讓兩個(gè)窗體有激活效果的特效實(shí)例
這篇文章主要介紹了WinForm實(shí)現(xiàn)同時(shí)讓兩個(gè)窗體有激活效果的特效實(shí)例,基于windows api實(shí)現(xiàn)一個(gè)窗體激活的時(shí)候給另外一個(gè)發(fā)消息的特效,在進(jìn)行C#項(xiàng)目開發(fā)時(shí)有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09
輕松學(xué)習(xí)C#的結(jié)構(gòu)和類
輕松學(xué)習(xí)C#的結(jié)構(gòu)和類,對(duì)C#的結(jié)構(gòu)和類感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的結(jié)構(gòu)和類2015-11-11
使用C#調(diào)用系統(tǒng)API實(shí)現(xiàn)內(nèi)存注入的代碼
使用C#調(diào)用系統(tǒng)API實(shí)現(xiàn)內(nèi)存注入的代碼,學(xué)習(xí)c#的朋友可以參考下。2011-06-06
c# 如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的json解析器
這篇文章主要介紹了c# 如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的json解析器,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07

