Unity使用攝像機實現望遠鏡效果
更新時間:2019年11月18日 08:54:39 作者:陽塵子
這篇文章主要為大家詳細介紹了Unity攝使用像機實現望遠鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity使用攝像機實現望遠鏡效果的具體代碼,供大家參考,具體內容如下
聽起來挺酷炫,其實超簡單,就是控制攝像機的fieldOfView:
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;
void Start()
{
//獲取當前攝像機的視野范圍
initFOV = Camera.main.fieldOfView;
}
void Update()
{
if(Input.GetMouseButton(0))
{
ZoomInView();
}
else
{
ZoomOutView();
}
}
//放大攝像機的視野區(qū)域
void ZoomInView()
{
if (Mathf.Abs(Camera.main.fieldOfView - (initFOV / zoomLevel)) < 3.0f)
{
Camera.main.fieldOfView = initFOV / zoomLevel;
}
else if (Camera.main.fieldOfView - (Time.deltaTime * zoomInSpeed) >= (initFOV / zoomLevel))
{
Camera.main.fieldOfView -= (Time.deltaTime * zoomInSpeed);
}
}
//縮小攝像機的視野區(qū)域
void ZoomOutView()
{
if (Mathf.Abs(Camera.main.fieldOfView - initFOV) < 3.0f)
{
Camera.main.fieldOfView = initFOV;
}
else if (Camera.main.fieldOfView + (Time.deltaTime * zoomOutSpeed) <= initFOV)
{
Camera.main.fieldOfView += (Time.deltaTime * zoomOutSpeed);
}
}
}
將腳本 TelescopicView 添加到 Main Camera 上。Zoom Level 可以調節(jié)視圖能放大到什么程度;Zoom In Speed 調節(jié)視圖的放大速度;Zoom Out Speed 調節(jié)視圖縮小的速度。

運行游戲,當鼠標左鍵按下時,視圖會放大,松開時,視圖會慢慢恢復成原來的樣子 :

當然,為了加強視覺效果,你也可以使用Unity自帶的資源包,也可以自己設計望遠鏡視圖圖片:


調節(jié)參數,再次運行游戲。當鼠標左鍵按下時,望遠鏡的視圖效果更逼真了(添加了光暈的效果):

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

