2014-04-01 65 views
0

我正在創建Unity2D跑步者,角色在地面上運行。 我試圖迫使他用正確的矢量施加力量以恆定的速度運行,但運動是生澀的。如何在Unity2D中以恆速移動角色

我試圖達到永恆速度無盡運行的效果。在空中很容易,但在角色在地面上跑時作品不同(因爲物理)。

回答

1
  1. 你可以速度,並確保關閉重力。如果您在地面上跑步,請確保關閉此功能。
  2. 根據Time.deltaTime,您可以在自己的位置更新位置。
  3. 只需使用內置的字符控制器即可。基本的方向和跳躍。鼠標控制角色所在的位置。

編輯:

  1. 使用剛體速度和關閉重力和阻力。這會讓你的跑步者永遠跑步。
  2. 要自己實現。您可以更新更新方法中對象的位置。喜歡的東西

    Vector3 temp = object.transform.position; 
    temp.x = speed * Time.deltaTime; 
    object.transform.position = temp; 
    

    對象在哪裏,你是亞軍和速度是你想如何快速他移動。 這將在更新函數內。

  3. 如果你不打算要控制轉輪,不與控制器
+0

你能告訴我更多關於3d點的信息嗎?你在談論輸入類嗎?在我的情況下,無論用戶交互如何,我都會移動我的角色。這是一種跑步者。 –

+1

已更新以上回答 – crychair

+0

這就是我需要的。我會採用這種方法 –

1

使用Rigidbody2D.velocity,注意:

速度也能逐漸衰減,由於如果 啓用該選項拖動的效果。

+0

與速度能打動我飛行物麻煩,但那些我把它們放在地上(與剛體)我的速度衰減太快(少於一秒)。即使使用線性阻力= 0。 –