簡體   English   中英

Unity Camera旋轉時保持視角

[英]Unity Camera Maintain perspective while rotating

我正在嘗試編寫一個相機腳本,該腳本將保持我在旋轉時看着的透視點。

public void RegisterRotationControls()
{
    var horizontal = CrossPlatformInputManager.GetAxis(InputAxisName.Horizontal.ToString());

    offsetX = Quaternion.AngleAxis(horizontal * turnSpeed, Vector3.up) * offsetX;
    transform.position = player.position + offsetX;

    transform.LookAt(player.position + PlayerOffset);
} 

當前,此腳本僅在攝像機注視播放器時才能正常工作,但是攝像機可以自由移動位置,但旋轉應保持相對於中心的相對性。 在此處輸入圖片說明

第一行表示當前的行為,而下一行則描述了應該發生的情況

手動計算旋轉角度以在保持其原始(相對)朝向的同時將攝像機旋轉一圈會有些麻煩,並且需要您做更多的數學運算。

一種流行的解決方案是在空的GameObject下將攝影機作為父項,並將該GameObject置於您希望攝影機旋轉的點/對象的中心。 (這基本上是內部化了許多計算,使引擎可以承擔繁重的工作。)然后,您可以根據需要在本地平移攝影機,然后旋轉容器GameObject來使攝影機成圈移動。

暫無
暫無

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

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