【Unity3D】使用鼠標鍵盤控制Camera視角(即時戰略類游戲視角):縮近,拉遠,旋轉


今天寫一個demo,要用到鼠標鍵盤控制三維視角,因此寫了個腳本用於控制。

該腳本可以用於即時戰略類游戲的視角,提供了縮進,拉伸,旋轉。同時按住鼠標右鍵不放,移動鼠標可以實現第一人稱視角的效果。

 

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 public class CameraController : MonoBehaviour {
 5 
 6 
 7     public float near = 20.0f;
 8     public float far = 100.0f;
 9 
10     public float sensitivityX = 10f;
11     public float sensitivityY = 10f;
12     public float sensitivetyZ = 2f;
13     public float sensitivetyMove = 2f;
14     public float sensitivetyMouseWheel = 2f;
15 
16 
17     void Update () {
18         // 滾輪實現鏡頭縮進和拉遠
19         if (Input.GetAxis("Mouse ScrollWheel") != 0)
20         {
21             this.camera.fieldOfView =this.camera.fieldOfView - Input.GetAxis("Mouse ScrollWheel")*sensitivetyMouseWheel;
22             this.camera.fieldOfView = Mathf.Clamp(this.camera.fieldOfView, near, far);
23         }
24         //鼠標右鍵實現視角轉動,類似第一人稱視角
25         if (Input.GetMouseButton(1))
26         { 
27             float rotationX = Input.GetAxis("Mouse X") * sensitivityX;
28             float rotationY = Input.GetAxis("Mouse Y") * sensitivityY;
29             transform.Rotate(-rotationY, rotationX, 0);            
30         }
31 
32         //鍵盤按鈕←和→實現視角水平旋轉
33         if (Input.GetAxis("Horizontal")!=0)
34         {
35             float rotationZ=Input.GetAxis("Horizontal") * sensitivetyZ;
36             transform.Rotate(0, 0, rotationZ); 
37         }
38     }
39 }

 

直接把腳本拖到攝像機上就可以使用了~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM