[英]Move player in an arc in Unity
我試圖讓我的玩家(球體)繞半圓弧形移動,所以當按下左箭頭鍵時,它應該沿着圓的圓周向左移動,這是一張圖片:
為此,我嘗試使用 Lerp function 但沒有成功:
Vector3 pos = new Vector3(
startPos.x + Mathf.Sin(Mathf.PI * 2 * counter / 360),
startPos.y - Mathf.Sin(Mathf.PI * 2 * counter / 360),
startPos.z
);
transform.position = Vector3.Lerp(transform.position, pos, 1f);
您正在從起點到終點進行線性插值。 它在連接這兩個點的線上為您提供中間 position。
如果您只想獲得您所描述的內容,恕我直言,最簡單和最快的方法是為您的 object 創建一個父級,以您所需的拱形中心為中心,然后讓您的 object 成為它的子級。
然后你可以parentObject.transform.Rotate()
父級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.