中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity使用攝像機實現望遠鏡效果

發布時間:2020-08-28 10:02:13 來源:腳本之家 閱讀:469 作者:陽塵子 欄目:編程語言

本文實例為大家分享了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();
 }
 }
 
 //放大攝像機的視野區域
 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);
 }
 }
 
 //縮小攝像機的視野區域
 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 可以調節視圖能放大到什么程度;Zoom In Speed 調節視圖的放大速度;Zoom Out Speed 調節視圖縮小的速度。 

Unity使用攝像機實現望遠鏡效果

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

Unity使用攝像機實現望遠鏡效果

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

Unity使用攝像機實現望遠鏡效果

Unity使用攝像機實現望遠鏡效果

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

Unity使用攝像機實現望遠鏡效果

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元谋县| 沁源县| 无锡市| 新河县| 察隅县| 兰考县| 尉犁县| 寿阳县| 高邮市| 翼城县| 多伦县| 泽州县| 尼玛县| 洪江市| 池州市| 前郭尔| 河池市| 乐清市| 托里县| 建始县| 沙河市| 新田县| 广河县| 永嘉县| 韶关市| 雷山县| 唐海县| 怀集县| 师宗县| 宁陕县| 蚌埠市| 南漳县| 青海省| 石屏县| 荥经县| 镇安县| 太白县| 若羌县| 遵义县| 隆安县| 大渡口区|