![](/img/trans.png)
[英]How to move objects with perspective camera and rotating the camera in Unity3D?
[英]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.