簡體   English   中英

使用鼠標Unity圍繞對象旋轉相機

[英]Rotate camera around object with mouse Unity

我想在游戲對象周圍移動相機,換句話說:當我按住鼠標中鍵並移動鼠標時,相機應該在此游戲對象周圍移動(就像地球圍繞太陽,但在y軸上),我有此代碼,但是它正在做奇怪的事情:

 private void RotateCamera()
{
    if (Input.GetKey(KeyCode.Mouse2))
    {

        yaw += _horizontalSpeed * Input.GetAxis("Mouse X"); //Horizontal speed and vertical are both equal 10, It's just how fast camera should move
        pitch += _verticalSpeed * -Input.GetAxis("Mouse Y");

        pitch = ClampAngle(pitch, -90, 90);
        transform.position = new Vector3(pitch + target.position.x, yaw + target.position.y, 0);
    }
}

我只需在要觀察的位置添加一個空對象,然后將照相機作為子對象添加到其中即可。

然后,您可以將旋轉應用於父對象,並且相機應繞其父對象旋轉並始終面向其父對象。

如果要更改目標,只需刪除父級子層次結構,將更改前父級的位置移動到新位置,將攝像機旋轉到該位置(使用transform.LookAt() ),然后再次設置父級子層次,例如你以前做過

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM