Unity3d 控制物體移動、旋轉、縮放


  在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);
    }
}

 


免責聲明!

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



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