簡體   English   中英

在 Unity 中沿弧線移動玩家

[英]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.

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