在Unity中通過利用 Input Manager(輸入管理器)可以很簡單的實現對一個物體進行移動、旋轉、縮放操作。
演示代碼:
//通過虛擬軸控制物體移動、旋轉、縮放 public class MoveCube : MonoBehaviour { float moveSpeed = 10f; float rotateSpeed = 50f; void Update() { float horizontal = Input.GetAxis("Horizontal"); //獲取橫軸參數。(如:按A鍵返回-1 按D鍵返回+1,但中間有一個過度,而不是直接變-1或+1。) float vertical = Input.GetAxis("Vertical"); //獲取垂直參數。 Debug.Log("horizontal: " + horizontal + ",vertical:" + vertical); float mouseX = Input.GetAxis("Mouse X");//獲取鼠標X軸滑動參數 float mouseY = Input.GetAxis("Mouse Y");//獲取鼠標Y軸滑動參數 Debug.Log("mouseX: " + mouseX + ",mouseY:" + mouseY); float mouseScrollWheel = Input.GetAxis("Mouse ScrollWheel"); //鍵盤ADWS鍵控制物體移動。(當乘以Time.deltaTime實際表示:每秒移動物體N米,而不是每幀N米。) this.transform.Translate(new Vector3(horizontal * Time.deltaTime * moveSpeed, 0, vertical * Time.deltaTime * moveSpeed)); //鼠標XY軸滑動控制物體旋轉 this.transform.Rotate(new Vector3(mouseX * Time.deltaTime * rotateSpeed, mouseY * Time.deltaTime * rotateSpeed)); //鼠標中鍵控制物體縮放 this.transform.localScale += new Vector3(mouseScrollWheel, mouseScrollWheel, mouseScrollWheel); } }